离开OpenAI待业的Karpathy做了个大模型新项目,Star量一日破千 离开OpenAI待业的Karpathy做了个大模型新项目,Star量一日破千
admin
2024-02-18 18:12:04
0

机器之心报道

编辑:杜伟

没工作也要「卷」。

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

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

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



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

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



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

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

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

图源:https://twitter.com/ZainHasan6/status/1758727767204495367



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



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

更有人欢呼,Karpathy is back。

图源:https://twitter.com/fouriergalois/status/1758775281391677477



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

项目介绍



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 BasicTokenizer

tokenizer = BasicTokenizer()text = "aaabdaaabac"

tokenizer.train(text, 256 + 3) # 256 are the byte tokens, then do 3 merges

print(tokenizer.encode(text))# [258, 100, 258, 97, 99]

print(tokenizer.decode([258, 100, 258, 97, 99]))# aaabdaaabac

tokenizer.save("toy")# writes two files: toy.model (for loading) and toy.vocab (for viewing)

此外还提供了如何实现 GPT4Tokenizer,以及它与 tiktoken 的比较。

text = "hello123!!!? (안녕하세요!) "

# tiktoken

import tiktoken

enc = tiktoken.get_encoding("cl100k_base")print(enc.encode(text))# [15339, 4513, 12340, 30, 320, 31495, 230, 75265, 243, 92245, 16715, 57037]

# ours

from minbpe import GPT4Tokenizer

tokenizer = GPT4Tokenizer()print(tokenizer.encode(text))# [15339, 4513, 12340, 30, 320, 31495, 230, 75265, 243, 92245, 16715, 57037]

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



相关内容

热门资讯

怎么回收金项链 南昌本地黄金回... 近年来,随着黄金价格波动,不少持有闲置黄金制品的用户会产生变现需求,其中回收金项链是较为常见的用户需...
两仓同开叮咚买菜进驻淮安 升级... 7月5日,主打“在线菜篮子”的生鲜电商叮咚买菜淮安楚州站、府苑站双站同步开仓运营,标志着叮咚买菜正式...
防范美股泡沫爆破带来的风险外溢 我们先来梳理全球市场,判断哪些市场走势具备前瞻参考价值。 第一是恒生指数,第二是恒生科技指数,这两大...
央视曝光黄金回收“作弊秤”!一... 有消费者投诉在黄金回收交易中遭遇了“违规秤”,造成了不小的经济损失。记者了解到,眼下市场上售价利润最...
单仁:字节全员信背后,AI正在... 01 最近这几天,字节跳动CEO梁汝波的全员信,引起了很多企业家的关注。 表面上看,这只是一个大厂时...
2026麻涌镇企业短视频制作:... 麻涌镇企业短视频制作是以本地制造业与服务业诉求的内容生产与平台运营服务,2026年,这一行业的竞争核...
4nm近售罄、部分8nm接近满... 《科创板日报》7月4日讯据朝鲜日报报道,业内人士称,随着AI半导体需求升温、全球大型科技公司订单增加...
新思考电机冲刺港股:4个月营收... 雷递网 雷建平 7月5日 新思考电机日前更新招股书,准备在港交所上市。 新思考电机最近一次融资是2...
端午只吃粽子就够了吗?上海歧黄... 端午一到,粽叶香、艾草香、咸鸭蛋和家常菜的味道,就把节日气氛拉满了。很多人一提到端午饮食,第一反应就...
整顿AAA评级 记者 蔡越坤 2026年6月以来,在国内某头部评级机构工作的周宇感到压力骤增。 随着6月30日、7月...
原创 必... 很多人一看到“必胜客被卖了”,第一反应就是:这牌子是不是不行了? 可现实偏偏很拧巴。 一边是美国那边...
原创 美... 无视美国制裁,采购伊朗石油,这样的“硬骨头”,放眼世界也只有一个。 为了继续施压伊朗,美国可以说是什...
布米普特拉北京投资基金管理有限... 美国私营部门就业市场在六月份释放出温和降温的信号。根据薪资服务商ADP最新发布的报告,当月企业新增就...
原创 女... 去年底一次聚餐,桌上放着几支口红、一瓶香水,还有一个印着大牌标识的小盒子。有人随手拿起来说,这是代购...
原创 蚂... “灵活用工第一股”来了! 作者|刘俊群 编辑|刘钦文 你在奶茶店、餐厅、商超、酒店里遇到的兼职店员,...
原创 还... 中国与美国这两个大国的任何一个细微动作,似乎都会牵动全球金融市场的神经,引发一连串连锁反应。本就还剩...
从“固定区间”到“动态指数”,... 银行理财产品业绩基准展示方式正迎来新变化。7月5日,北京商报记者梳理发现,包括中邮理财、民生理财、华...
兰格钢铁杭州建材周报(七月第一... 来源:兰格钢铁网 兰格钢铁杭州建材周报(七月第一周) 本周(6.29-7.3)杭州建筑钢材市场现货...
全球存储巨头,拟涨价20% 来源:上海证券报 7月3日,据韩媒ZDNET Korea报道,三星电子正在与客户展开第三季度通用DR...
近视、远视、斜视、弱视,同样是... 听说孩子看不清黑板,很多家长第一反应就是“近视了”,于是直接带去眼镜店配副眼镜应付。但很多朋友不知道...