0

0

离开OpenAI待业的Karpathy做了个大模型新项目,Star量一日破千

王林

王林

发布时间:2024-08-05 19:42:29

|

1077人浏览过

|

来源于机器之心

转载

没工作也要「卷」。

闲不下来的 Andrej Karpathy 又有了新项目!

过去几天,OpenAI 非常热闹,先有 AI 大牛 Andrej Karpathy 官宣离职,后有视频生成模型 Sora 撼动 AI 圈。

在宣布离开 OpenAI 之后,Karpathy 发推表示「这周可以歇一歇了。」

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

离开openai待业的karpathy做了个大模型新项目,star量一日破千

                               图源:https://twitter.com/karpathy/status/1757986972512239665

这种无事要做的状态让马斯克都羡慕(I am envious)了。

离开OpenAI待业的Karpathy做了个大模型新项目,Star量一日破千

但是,如果你真的认为 Karpathy 会闲下来,那就有点「too young, too navie」了。

这不,有眼尖的网友发现了 Karpathy 的新项目 ——minbpe,致力于为 LLM 分词中常用的 BPE(Byte Pair Encoding, 字节对编码)算法创建最少、干净以及教育性的代码

仅仅一天的时间,该项目的 GitHub 标星已经达到了 1.2 k。

离开OpenAI待业的Karpathy做了个大模型新项目,Star量一日破千                              图源:https://twitter.com/ZainHasan6/status/1758727767204495367

有人 P 了一张图,表示 Karpathy 为大家「烹制了一顿大餐」。

离开OpenAI待业的Karpathy做了个大模型新项目,Star量一日破千

                                         图源:https://twitter.com/andrewcyu/status/1758897928385561069

更有人欢呼,Karpathy is back。

离开OpenAI待业的Karpathy做了个大模型新项目,Star量一日破千图源:https://twitter.com/fouriergalois/status/1758775281391677477

白瓜AI
白瓜AI

白瓜AI,一个免费图文AI创作工具,支持 AI 仿写,图文生成,敏感词检测,图片去水印等等。

下载
我们来看一看「minbpe」项目具体讲了些什么。

项目介绍

离开OpenAI待业的Karpathy做了个大模型新项目,Star量一日破千

GitHub 地址:https://github.com/karpathy/minbpe

我们知道,BPE 算法是「字节级」的,在 UTF-8 编码的字符串上运行。该算法通过 GPT-2 论文和 GPT-2 相关的代码在大语言模型(LLM)中得到推广。

现如今,所有现代的 LLM(比如 GPT、Llama、Mistral)都使用 BPE 算法来训练它们的分词器(tokenizer)。

Karpathy 的 minbpe 项目存储库中提供了两个 Tokenizer,它们都可以执行分词器的 3 个主要功能:1)训练 tokenizer 词汇并合并给指定文本,2)从文本编码到 token,3)从 token 解码到文本。

详细的存储库文件分别如下:

  • minbpe/base.py:实现 Tokenizer 类,是基类。它包含了训练、编码和解码存根、保存 / 加载功能,还有一些常见的实用功能。不过,该类不应直接使用,而是要继承。
  • minbpe/basic.py:实现 BasicTokenizer,这是直接在文本上运行的 BPE 算法的最简单实现。
  • minbpe/regex.py:实现 RegexTokenizer,它通过正则表达式模式进一步拆分输入文本。作为一个预处理阶段,它在分词之前按类别(例如字母、数字、标点符号)拆分输入文本。这确保不会发生跨类别边界的合并。它是在 GPT-2 论文中引入的,并继续在 GPT-4 中使用。
  • minbpe/gpt4.py:实现 GPT4Tokenizer。此类是 RegexTokenizer 的轻量级封装,它精确地复现了 tiktoken(OpenAI 开源分词神器)库中 GPT-4 的分词。封装处理有关恢复 tokenizer 中精确合并的一些细节,并处理一些 1 字节的 token 排列。需要注意,奇偶校验尚未完全完成,没有处理特殊的 token。

脚本 train.py 在输入文本 tests/taylorswift.txt 上训练两个主要的 tokenizer,并将词汇保存到磁盘以进行可视化。Karpathy 称,该脚本在他的 MacBook (M1) 上运行大约需要 25 秒。

Karpathy 还表示,所有文件都非常短且注释详尽,并包含使用示例。如下为 BPE 维基百科文章的复现例子。
from minbpe import BasicTokenizertokenizer = BasicTokenizer()text = "aaabdaaabac"tokenizer.train(text, 256 + 3) # 256 are the byte tokens, then do 3 mergesprint(tokenizer.encode(text))# [258, 100, 258, 97, 99]print(tokenizer.decode([258, 100, 258, 97, 99]))# aaabdaaabactokenizer.save("toy")# writes two files: toy.model (for loading) and toy.vocab (for viewing)

此外还提供了如何实现 GPT4Tokenizer,以及它与 tiktoken 的比较。
text = "hello123!!!? (안녕하세요!) ?"# tiktokenimport tiktokenenc = tiktoken.get_encoding("cl100k_base")print(enc.encode(text))# [15339, 4513, 12340, 30, 320, 31495, 230, 75265, 243, 92245, 16715, 57037]# oursfrom minbpe import GPT4Tokenizertokenizer = GPT4Tokenizer()print(tokenizer.encode(text))# [15339, 4513, 12340, 30, 320, 31495, 230, 75265, 243, 92245, 16715, 57037]

当然,Karpathy 不满足只推出 GitHub 项目,他表示视频很快就会发布。

离开OpenAI待业的Karpathy做了个大模型新项目,Star量一日破千

扩展阅读:

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

510

2023.06.20

正则表达式不包含
正则表达式不包含

正则表达式,又称规则表达式,,是一种文本模式,包括普通字符和特殊字符,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式的文本。php中文网给大家带来了有关正则表达式的相关教程以及文章,希望对大家能有所帮助。

248

2023.07.05

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

739

2023.07.05

java正则表达式匹配字符串
java正则表达式匹配字符串

在Java中,我们可以使用正则表达式来匹配字符串。本专题为大家带来java正则表达式匹配字符串的相关内容,帮助大家解决问题。

212

2023.08.11

正则表达式空格
正则表达式空格

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。本专题为大家提供正则表达式相关的文章、下载、课程内容,供大家免费下载体验。

351

2023.08.31

Python爬虫获取数据的方法
Python爬虫获取数据的方法

Python爬虫可以通过请求库发送HTTP请求、解析库解析HTML、正则表达式提取数据,或使用数据抓取框架来获取数据。更多关于Python爬虫相关知识。详情阅读本专题下面的文章。php中文网欢迎大家前来学习。

293

2023.11.13

正则表达式空格如何表示
正则表达式空格如何表示

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。想了解更多正则表达式空格怎么表示的内容,可以访问下面的文章。

232

2023.11.17

正则表达式中如何匹配数字
正则表达式中如何匹配数字

正则表达式中可以通过匹配单个数字、匹配多个数字、匹配固定长度的数字、匹配整数和小数、匹配负数和匹配科学计数法表示的数字的方法匹配数字。更多关于正则表达式的相关知识详情请看本专题下面的文章。php中文网欢迎大家前来学习。

528

2023.12.06

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

27

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号