离开OpenAI的大神卡帕西「开课了」:新项目日增千星,还是熟悉的min代码风

人工智能
BPE(字节对编码)是随着GPT-2而流行起来的标记化算法。现在,包括GPT系列、Llama系列和Mistral在内,一众大模型都用到了这一算法来训练分词器。

大神Karpathy从OpenAI离职,原本扬言要大休一周。

图片图片

但转眼,新项目就已上线GitHub,日增上千星的那种。

图片图片

还是熟悉的卡式配方:

74行Python代码搞定大模型标记化(tokenization)中常用的BPE(Byte Pair Encoding)算法,实现该算法的最小、最干净代码版本。

甚至:

图片图片

是不是有点快3万标星的nanoGPT内味儿了?

这波啊,还真是让网友们给猜着了:

Time to cook。

图片

毕竟,Karpathy除了前特斯拉AI总监、OpenAI创始成员的title,最为网友所熟悉的,就是“AI领域大善人”、“擅长将复杂问题简单化的卡老师”这样的身份了(手动狗头)。

BPE代码最小化版本

还是具体来看一下,Karpathy老师这次又煮出了一锅什么样的饭。

图片图片

项目名minbpe已经说明一切:BPE算法的最小、最干净代码版本。

BPE(字节对编码)是随着GPT-2而流行起来的标记化算法。现在,包括GPT系列、Llama系列和Mistral在内,一众大模型都用到了这一算法来训练分词器。

BPE的主要优势在于:

  • 高效:通过合并频繁出现的字节对来逐步构建词汇表,可以有效地减少模型需要处理的词汇量。
  • 灵活:可以将词汇表外的单词分解为已知子词来进行处理,有助于模型理解和生成未在训练中出现的单词。

而在minbpe这个项目中,Karpathy提供了两个Tokenizer(分词器),它们都可以执行分词器的3个主要功能:

  • 基于特定文本训练词汇表和合并操作
  • 把文本编码成token
  • 把token解码为文本

具体而言,在basic.py中,minbpe用74行Python代码,完成了对直接在文本上运行的BPE算法的最简单实现。

图片图片

在regex.py中,minbpe实现的是一个正则表达式分词器,该分词器利用正则表达式进一步拆分输入的文本。

另外,在正则表达式分词器的基础之上,minbpe还在gpt4.py中提供了一个GPT4Tokenizer,可以准确在线tiktoken库中的GPT-4标记化。

注:tiktoken是一种快速BPE分词器。

图片图片

base.py则是一个基类,包含了训练、编码和解码的存根(stubs),提供了保存和加载的功能,并集成了一些常见的辅助工具函数。在实际应用中,开发者应该通过继承这个基类来实现具体的分词器功能。

Karpathy提到,他在霉霉的维基百科文本上尝试训练了两个主要的分词器。train.py在他的M1 MacBook上运行时间大概为25秒。

如果你还有什么不清楚的地方,别担心,卡老师已经计划要出视频了:

图片图片

Karpathy出走OpenAI,许多猜测指向他的“下一篇章”是大语言模型系统(LLM OS):

图片图片

如今正式工作还未揭示,但看样子Karpathy已经拾起了“教学育人”的副业,小伙伴们可以蹲起来了。

参考链接:https://github.com/karpathy/minbpe/

责任编辑:武晓燕 来源: 量子位
相关推荐

2024-02-19 08:56:00

AI模型

2024-07-17 09:17:50

2024-04-09 15:22:24

2024-11-12 09:14:52

2024-09-30 12:51:56

谷歌AI模型

2023-05-17 08:20:34

Java 17编程语言

2022-02-14 09:53:26

微软代码技术

2024-03-12 08:22:50

TypeScriptRust框架

2022-06-20 09:10:00

AI计算机量子

2021-04-23 11:18:55

npmpackage.jso命令

2010-04-05 18:43:05

硅谷之父休利特和帕卡德

2020-08-05 17:16:53

GitHub 技术开源

2023-05-29 08:43:46

SpringJava

2023-07-28 06:51:43

2019-11-26 14:47:59

机器学习人工智能计算机

2013-02-20 13:57:45

AndroidTizen三星

2017-01-09 07:05:26

谷歌编程语言

2024-04-09 12:23:27

C语言AI

2023-07-20 21:41:08

2020-11-26 15:48:37

代码开发GitHub
点赞
收藏

51CTO技术栈公众号