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

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

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

离开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

我们来看一看「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量一日破千

扩展阅读:
  • 《闲下来的Andrej Karpathy录了个课程:保证学会,你听不懂我吃鞋》
  • 《特斯拉前AI总监教你手搓GPT大模型,教学视频已出》
  • 《OpenAI联创Karpathy爱上羊驼:纯C代码实现婴儿Llama2,MacBook可运行,已揽1.6k星》
  • 《OpenAI内斗时,Karpathy在录视频:《大型语言模型入门》上线》

以上就是离开OpenAI待业的Karpathy做了个大模型新项目,Star量一日破千的详细内容,更多请关注叮当号网其它相关文章!

文章来自互联网,只做分享使用。发布者:城南北边,转转请注明出处:https://www.dingdanghao.com/article/684251.html

(0)
上一篇 2024-08-05 20:10
下一篇 2024-08-05 20:10

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号