没工作也要「卷」。
闲不下来的 Andrej Karpathy 又有了新项目!过去几天,OpenAI 非常热闹,先有 AI 大牛 Andrej Karpathy
官宣离职,后有视频生成模型
Sora 撼动 AI 圈。在宣布离开 OpenAI 之后,Karpathy 发推表示「这周可以歇一歇了。」

图源:https://twitter.com/karpathy/status/1757986972512239665这种无事要做的状态让马斯克都羡慕(I am envious)了。

但是,如果你真的认为 Karpathy 会闲下来,那就有点「too young, too navie」了。这不,有
源码搭建wcqh.cn眼尖的网友发现了 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 i
源码搭建wcqh.cns 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 的
源码搭建wcqh.cnminbpe 项目存储库中提供了两个 Tokenizer,它们都可以执行分词器的 3 个主要功能:1)训练 tokenizer 词汇并合并给指定文本,2)从文本编码到 token,3)从 token 解码到文本。详细的存储库文件分别如下:
minbpe/base.py:实现 Tokenizer 类,是基类。它包含了训练、编码和解码存根、保存 / 加载功能,还有一些常见的实用功能。不过,该类不应直接使用,而是要继承。
minbpe/basic.py:实现 BasicTokenizer,这是直接在文本上运行的 BPE 算法的最简单实现。
minbpe
源码搭建wcqh.cn/regex.py:实现 RegexTokenizer,它通过正则表达式模式进一步拆分输入文本。作为一个预处理阶段,它在分词之前按类别(例如字母、数字、标点符号)拆分输入文本。这确保不会发生跨类别边界的合并。它是在 GPT-2 论文中引入的,并继续在 GPT-4 中使用。
minbpe/gpt4.py:实现 GPT4Tokenizer。此类是 RegexTokenizer 的轻量级封装,它精确地复现了 tiktoken(OpenAI 开源分词神器)库中 GPT-4 的分词。封装处理有关恢复 tokenizer 中精确合并的一些细节,并处理一些 1 字节的 token
排列。需要注
源码搭建wcqh.cn意,奇偶校验尚未完全完成,没有处理特殊的 token。
脚本 train.py 在输入文本 tests/taylorswift.txt 上训练两个主要的 tokenizer,并将词汇保存到磁盘以进行可视化。Karpathy 称,该脚本在他的 MacBook (M1) 上运行大约需要 25 秒。Karpathy 还表示,所有文件都非常短且注释详尽,并包含使用示例。如下为 BPE 维基百科文章的复现例子。
1
from minbpe import BasicTokenizertokenizer = BasicTokenizer()text = “aaabdaaabac”tokeniz源码搭建wcqh.cner.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)
登录后复制
此外还提供了如何实现 GPT4Tokeni
源码搭建wcqh.cnzer,以及它与 tiktoken 的比较。
1
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(tokenize源码搭建wcqh.cnr.encode(text))# [15339, 4513, 12340, 30, 320, 31495, 230, 75265, 243, 92245, 16715, 57037]
登录后复制
当然,Karpathy 不满足只推出 GitHub 项目,他表示视频很快就会发布。

扩展阅读:
《闲下来的Andrej Karpathy录了个课程:保证学会,你听不懂我吃鞋》
《特斯拉前AI总监教你手搓GPT大模型,教学视频已出》
《OpenAI联创Karpathy爱上羊驼:纯C代码实现婴儿Llama2,MacBook可运行,已揽1.6k星》
《OpenAI内斗时,Karpathy在录视频:《大型语言模型入门》上线源码搭建wcqh.cn》
以上就是离开OpenAI待业的Karpathy做了个大模型新项目,Star量一日破千的详细内容,更多请关注青狐资源网其它相关文章!
© 版权声明
1.如需技术支持联系QQ:1339833655
2. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
3. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
4. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
5. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
6. 如有链接无法下载、失效或广告,请联系管理员处理!
7. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
8. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员!
暂无评论内容