首页 >>  正文

pathy和c语言

来源:baiyundou.net   日期:2024-09-29

梦晨 发自 凹非寺

量子位 | 公众号 QbitAI

大神仅花一个周末训练微型LLaMA 2,并移植到C语言

推理代码只有500行,在苹果M1笔记本上做到每秒输出98个token

作者是OpenAI创始成员Andrej Karpathy,他把这个项目叫做Baby LLaMA 2(羊驼宝宝)

虽然它只有1500万参数,下载下来也只有58MB,但是已经能流畅讲故事。

所有推理代码可以放在C语言单文件上,没有任何依赖,除了能在笔记本CPU上跑,还迅速被网友接力开发出了各种玩法。

llama.cpp的作者Georgi Gerganov搞出了直接在浏览器里运行的版本。

提示工程师Alex Volkov甚至做到了在GPT-4代码解释器里跑Baby LLaMA 2。

大模型套娃小模型,成了。

羊驼宝宝诞生记

据Karpathy分享,做这个项目的灵感正是来自llama.cpp。

训练代码来自之前他自己开发的nanoGPT,并修改成LLaMA 2架构。

推理代码直接开源在GitHub上了,不到24小时就狂揽1500+星。

训练数据集TinyStories则来自微软前一阵的研究。

2023新视野数学奖得主Ronen Eldan、2023斯隆研究奖得主李远志联手,验证了1000万参数以下的小模型,在垂直数据上训练也可以学会正确的语法、生成流畅的故事、甚至获得推理能力。

此外,开发过程中还有一个插曲。

Karpathy很久不写C语言已经生疏了,但是在GPT-4的帮助下,还是只用一个周末就完成了全部工作。

对此,英伟达科学家Jim Fan评价为:现象级

最初,在CPU单线程运行、fp32推理精度下,Baby LLaMA 2每秒只能生成18个token。

在编译上使用一些优化技巧以后,直接提升到每秒98个token。

优化之路还未停止。

有人提出,可以通过GCC编译器的-funsafe-math-optimizations模式再次提速6倍

除了编译方面外,也有人提议下一步增加LoRA、Flash Attention等模型层面流行的优化方法。

Baby LLaMA 2一路火到Hacker News社区,也引发了更多的讨论。

有人提出,现在虽然只是一个概念验证,但本地运行的语言模型真的很令人兴奋。

虽然无法达到在云端GPU集群上托管的大模型的相同功能,但可以实现的玩法太多了。

在各种优化方法加持下,karpathy也透露已经开始尝试训练更大的模型,并表示:

70亿参数也许触手可及。

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

— 完 —

量子位 QbitAI · 头条号签约

","gnid":"9243a8695f9641f09","img_data":[{"flag":2,"img":[{"desc":"","height":"1676","title":"","url":"https://p0.ssl.img.360kuai.com/t01e52f1cec73982cef.jpg","width":"1080"},{"desc":"","height":"678","title":"","url":"https://p0.ssl.img.360kuai.com/t018f0a331313c2813d.jpg","width":"1080"},{"desc":"","height":"1065","title":"","url":"https://p0.ssl.img.360kuai.com/t01638a85e93c5d6cb6.jpg","width":"1080"},{"desc":"","height":"1166","title":"","url":"https://p0.ssl.img.360kuai.com/t01ddd5332208374ae3.jpg","width":"1080"},{"desc":"","height":"920","title":"","url":"https://p0.ssl.img.360kuai.com/t01a33193aa4378bb9f.jpg","width":"1036"},{"desc":"","height":"821","title":"","url":"https://p0.ssl.img.360kuai.com/t0144b7d284cc0c051c.jpg","width":"1080"},{"desc":"","height":"970","title":"","url":"https://p0.ssl.img.360kuai.com/t0130436f913f5ded1a.jpg","width":"1080"},{"desc":"","height":"218","title":"","url":"https://p0.ssl.img.360kuai.com/t01c5fb35a61d3055f8.jpg","width":"1080"},{"desc":"","height":"245","title":"","url":"https://p0.ssl.img.360kuai.com/t015a70493a5709b086.jpg","width":"1080"},{"desc":"","height":"590","title":"","url":"https://p0.ssl.img.360kuai.com/t013016f46b21528818.jpg","width":"1080"},{"desc":"","height":"647","title":"","url":"https://p0.ssl.img.360kuai.com/t01a4404a8c88d460aa.jpg","width":"1080"},{"desc":"","height":"260","title":"","url":"https://p0.ssl.img.360kuai.com/t019592f6dbd500fd14.jpg","width":"806"},{"desc":"","height":"572","title":"","url":"https://p0.ssl.img.360kuai.com/t01de41892e82ca1658.jpg","width":"756"},{"desc":"","height":"312","title":"","url":"https://p0.ssl.img.360kuai.com/t01398e57ecd9ee631e.jpg","width":"802"}]}],"original":0,"pat":"art_src_3,sexamb,fts0,sts0","powerby":"hbase","pub_time":1690183500000,"pure":"","rawurl":"http://zm.news.so.com/0076b186683cc4ff4ba69cd7736b199e","redirect":0,"rptid":"35dd5e17743d1502","rss_ext":[],"s":"t","src":"量子位","tag":[{"clk":"kdigital_1:github","k":"github","u":""},{"clk":"kdigital_1:twitter","k":"twitter","u":""},{"clk":"kdigital_1:cpu","k":"cpu","u":""}],"title":"GPT-4里套娃LLaMA 2!OpenAI创始成员周末爆改「羊驼宝宝」

迟磊史1556Here is a birthday c____ - for you.And happy birthday to you!根据句意完成单词 -
计顾响19344432888 ______[答案] cake蛋糕 或者是 card 卡片 贺卡

迟磊史1556初中英语题1.Chinese can stop SARS from spreading ,and we can stop AH1N1___A. either B.as well as C. as well D. also2. I do not know if there - _ - a sports ... -
计顾响19344432888 ______[答案] 第一题 C (放在句尾且句意为肯定不能用either)第二题 B或C 第一条横线 表示将来.可以先排除A “”have“的主语应该为人 所以排除D BC的答案一样对第三题 A keep+doing第四题 C 楼主先看看回答The people and the f...

迟磊史1556英语翻译A 是一部分B 和一部分C A 是一部分B 和(全部)C 到底怎么翻译才准确 -
计顾响19344432888 ______[答案] 关于这个问题: A,are part of the :是一部分的 B,and C modules:并且C模块 A和B :是和C模块的一部分

迟磊史1556中国与美国之间就彼此的经济关系进行谈判和协商可以称之为[ ] -
计顾响19344432888 ______[选项] A. “南北”对话 B. “南南”合作 C. “南南”对话 D. “南北”合作

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024