GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」
C语言单文件500行代码
梦晨 发自 凹非寺
量子位 | 公众号 QbitAI
大神仅花一个周末训练微型LLaMA 2,并移植到C语言。
推理代码只有500行,在苹果M1笔记本上做到每秒输出98个token。
作者是OpenAI创始成员Andrej Karpathy,他把这个项目叫做Baby LLaMA 2(羊驼宝宝)。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/ce5efd946442a056c785622f26ff8668.png)
虽然它只有1500万参数,下载下来也只有58MB,但是已经能流畅讲故事。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/1252479d7564f09a11e5090c461cd0ae.png)
所有推理代码可以放在C语言单文件上,没有任何依赖,除了能在笔记本CPU上跑,还迅速被网友接力开发出了各种玩法。
llama.cpp的作者Georgi Gerganov搞出了直接在浏览器里运行的版本。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/38e8efc819c1d244765a66956fac160e.png)
提示工程师Alex Volkov甚至做到了在GPT-4代码解释器里跑Baby LLaMA 2。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/f6aba29ddb64d7b5b1e5501e28b64a07.png)
大模型套娃小模型,成了。
羊驼宝宝诞生记
据Karpathy分享,做这个项目的灵感正是来自llama.cpp。
训练代码来自之前他自己开发的nanoGPT,并修改成LLaMA 2架构。
推理代码直接开源在GitHub上了,不到24小时就狂揽1500+星。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/4f45480d1f21505393202ea0a38a2853.png)
训练数据集TinyStories则来自微软前一阵的研究。
2023新视野数学奖得主Ronen Eldan、2023斯隆研究奖得主李远志联手,验证了1000万参数以下的小模型,在垂直数据上训练也可以学会正确的语法、生成流畅的故事、甚至获得推理能力。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/233f5c9ed4f6834615b5f5567ba4bf6c.png)
此外,开发过程中还有一个插曲。
Karpathy很久不写C语言已经生疏了,但是在GPT-4的帮助下,还是只用一个周末就完成了全部工作。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/c51b4c490359af0e449b383073c7b1b6.png)
对此,英伟达科学家Jim Fan评价为:现象级。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/1bca7e5f4ad53130e23051692229fe09.png)
最初,在CPU单线程运行、fp32推理精度下,Baby LLaMA 2每秒只能生成18个token。
在编译上使用一些优化技巧以后,直接提升到每秒98个token。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/c98952c0520452b2e8fb24c37ad33d7e.png)
优化之路还未停止。
有人提出,可以通过GCC编译器的-funsafe-math-optimizations模式再次提速6倍。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/41fb817c987d3d4f2de2da051129a599.png)
除了编译方面外,也有人提议下一步增加LoRA、Flash Attention等模型层面流行的优化方法。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/c33a325f7f9ee709779a40d629cae5c8.png)
Baby LLaMA 2一路火到Hacker News社区,也引发了更多的讨论。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/3a53a109decb14c85e05f6faba51fe94.png)
有人提出,现在虽然只是一个概念验证,但本地运行的语言模型真的很令人兴奋。
虽然无法达到在云端GPU集群上托管的大模型的相同功能,但可以实现的玩法太多了。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/6bb2da0a39cf5391079bb65e2c1d9aea.png)
在各种优化方法加持下,karpathy也透露已经开始尝试训练更大的模型,并表示:
70亿参数也许触手可及。
![GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」](/wp-content/uploads/replace/98ee0573627c592833fa841d839a3d3b.png)
GitHub:
https://github.com/karpathy/llama2.c
在浏览器运行Baby LLaMA 2:
https://ggerganov.com/llama2.c
参考链接:
[1]https://twitter.com/karpathy/status/1683143097604243456
[2]https://twitter.com/ggerganov/status/1683174252990660610
[3]https://twitter.com/altryne/status/1683222517719384065
[4]https://news.ycombinator.com/item?id=36838051
- 第一批“AI原住民”小学生,正在用大模型搞开发2024-09-04
- AIGC的风口上,中国企业如何提升出海胜算?|出海大咖说2024-09-03
- 腾讯全球数字生态大会 大咖共解数字化新问2024-09-03
- 米哈游蔡浩宇新AI公司曝光,挖Llama 3科学家坐镇大模型2024-08-30