> 自媒体 > (AI)人工智能 > 卡帕西8000行代码手搓ChatGPT,成本仅100美元,手把手教程来了
卡帕西8000行代码手搓ChatGPT,成本仅100美元,手把手教程来了
来源:量子位
2025-10-14 12:12:35
179
管理

西风 发自 凹非寺

量子位 | 公众号 QbitAI

100美元成本、8000行代码纯手搓克隆ChatGPT!

特斯拉前AI总监、OpenAI创始成员、宣布全职搞教育的AI大神Andrej Karpathy(卡帕西)沉寂了好久,终于终于终于来上新课了!

新作nanochat,被其本人称作是写得最“精神错乱”放飞自我的作品之一。

它是一个极简的、从零开始构建的全栈训练/推理pipeline,用最少量依赖的单一代码库实现了简易版ChatGPT。

只要你启动一台云GPU服务器,运行一个脚本,最快只要4小时,就能在类似ChatGPT的网页界面与自己训练的大语言模型对话。

整体表现指标如下:

训练约12小时后,模型在CORE指标上的表现即可超越GPT-2。

若进一步将成本提升至约1000美元(训练约41.6小时),模型表现显著提升,能解决简单的数学/代码问题,还能做多项选择题。

举个具体的例子:一个深度为30的模型训练24小时后(相当于GPT-3 Small 125M的算力消耗,仅为GPT-3的千分之一),在MMLU数据集上可达到40多分,在ARC-Easy数据集上达70多分,在GSM8K数据集上达20多分。

卡帕西表示,他的目标是将这套完整的“强基线”技术栈整合为统一、极简、易读、可修改、易分发的代码库。

nanochat将成为LLM101n课程的压轴项目(该课程仍在开发中)。

我认为它还有潜力发展为一个研究工具框架或基准测试的工具,就像之前的nanoGPT一样。目前该项目远未完全优化(实际上存在大量可改进空间),但整体框架已足够完整,可以发布到GitHub上,后续所有模块都能在社区中进一步优化。

等来新作的网友也已彻底疯狂。项目刚发出来,GitHub Star数已飙到4.8k:

默认情况下,所有这些都会被下载到~/.cache/nanochat目录下。

下载完成后,开始训练分词器——它负责在字符串与符号码本(codebook)序列之间进行双向转换。默认情况下,训练的词汇表大小是2¹⁶= 65,536个tokens(这是个不错的数字),其中部分tokens会被保留作为特殊tokens(供后续聊天模式使用)。训练集包含2B字符,训练仅需约1分钟。

训练算法与OpenAI使用的完全一致(regex splitting, byte-level BPE)。想了解更多信息,可以看卡帕西关于tokenization技术的视频讲解。

训练完成后可以评估这个分词器:

评估结果显示,实现了约4.8的压缩比(即原始文本中平均4.8个字符压缩为1个token),还可以看到与GPT-2、GPT-4分词器的对比结果。

相比GPT-2(拥有50257个tokens),在压缩文本方面全面更优,仅在数学内容上稍逊一筹:

随着时间的推移,bpb下降是好的迹象(说明模型能更准确地预测下一个token)。此外,CORE分数在上升。

除了这些近似的指标,还可以更全面地评估模型:

像这样显示的token是特殊token,遵循OpenAI特殊token的格式。中期训练阶段对模型的多种适配非常有用:

模型学习与多轮对话相关的特殊token(除了用于分隔文档的token,基础模型预训练期间没有这些token)。模型适应对话的数据分布,而非互联网文档的数据分布。对我们来说非常重要的一点是,必须教会模型做多项选择题,因为在这么小的模型规模下,模型无法从随机的互联网数据中学会这一点。具体而言,模型必须学会将几个选项与几个字母(如ABCD)关联起来,然后输出正确选项的算法。通过混合10万道来自MMLU辅助训练集的多项选择题来实现这一点。需要明确的是,问题不在于模型没有相关知识,而在于它不理解多项选择题的运作方式,无法将知识展现出来。这很重要,因为许多常见的模型评估(如MMLU)都采用多项选择题的形式。你可以教会模型使用各种工具。对我们来说,需要通过在特殊token 和之间放入Python命令,来教会模型使用Python解释器。这对之后解决GSM8K问题会很有用。在中期训练期间,你还可以针对许多其他适配进行训练,例如上下文长度扩展(尚未探索)。

中期训练混合数据默认是这样的:

chat_web脚本会使用FastAPI来提供Engine服务。要确保正确访问它,比如在Lambda上,使用你所在节点的公网IP,后面加上端口,例如http://209.20.xxx.xxx:8000/等等。

那看起来会很棒,大概是这样的:

代码会察觉到这一变化并自动进行补偿,它会通过2次梯度累积循环来达到目标批处理量0.5M。要训练depth=30的模型,需要进一步降低设置:

依此类推。欢迎大家去阅读代码,卡帕西尽力让代码保持易读性,添加了注释,代码整洁且易于理解。

当然,你也可以把所有内容打包,去询问你喜欢的大语言模型,或者更简单的是,使用Devin/Cognition的DeepWiki来对这个代码仓库提问。只需把代码仓库的URL从github.com改成deepwiki.com即可,比如 nanochat DeepWiki。

就是这样,调优整个流程的任意部分,重新运行,然后享受其中的乐趣吧!

AI界超高人气专注于教育的大牛

卡帕西曾任特斯拉AI主管,之后去了OpenAI,去年2月从OpenAI离职。

他在整个AI界拥有超高的人气,很大一部分来自于他的课程。

包括他自己的早期博客文字分享和后来的一系列Youtube视频教程,他还与李飞飞合作开设的的斯坦福大学首个深度学习课程CS231n《卷积神经网络与视觉识别》。

今天的不少学者和创业者,都是跟着他入门的。

卡帕西对教育的热情,甚至可以追溯到学生时期在网上教大家玩魔方。

去年7月,从OpenAI离职的卡帕西突然官宣创业,搞了一家AI原生的新型学校——Eureka Labs。

怎么理解AI原生?

想象一下与费曼一起学习高质量教材,费曼会在每一步中1对1指导你。

不幸的是,即使每个学科都能找到一位像费曼这样的大师,他们也无法分身亲自辅导地球上的80亿人。

但AI可以,而且AI有无限的耐心,精通世界上所有的语言。

所以卡帕西要打造“教师 人工智能的共生”,可以在一个通用平台上运行整个课程。

如果我们成功了,任何人都将易于学习任何东西,扩大教育这个概念本身的“范围”和“程度”。

Eureka Labs首个产品,也是首门课程LLM101n。

手把手带你构建一个类似ChatGPT的故事生成大模型,以及配套的Web应用程序。

GitHub repo:https://github.com/karpathy/nanochat详细指南:https://github.com/karpathy/nanochat/discussions/1参考链接:https://x.com/karpathy/status/1977755427569111362

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

0
点赞
赏礼
赏钱
0
收藏
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本网证实,对本文以及其中全部或者 部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 凡本网注明 “来源:XXX(非本站)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对 其真实性负责。 如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。 QQ:617470285 邮箱:617470285@qq.com
相关文章
汽车省油/省电攻略 一月轻松剩下几百块
【ZOL中关村在线原创技术解析】对于车主而言,油费、电费是每月固定且可..
规模增长效益承压 中国汽车产业加速换道超车
来源:证券时报 时报财经图库/供图证券时报记者 严翠2025年,中国车企加..
我说一句,零跑D19、小鹏GX、智己LS8、大唐价格会高度重合..
对于购买六座SUV的人,老图相信,在2026年关注度最高的价位区间,会是25..
理想 i8 蔚来 ES8 极限二选一?双料车主扒透用车隐藏真相..
在理想 i8 和蔚来 ES8 之间纠结不已,觉得理想智驾更智能,又被蔚来的换..
问界汽车通报广东惠州车辆起火事件:车辆三电系统状态正常,且未见车辆其它..
2月23日,问界汽车发布关于广东省惠州市车辆起火的说明:经初步调查,车..
去年我国汽车产量是美日德总和的1.5倍!今年有望再创新高..
2025年,全球每卖出三辆新车,就有一辆是中国制造,这个数字有实实在在的..
2026,没有“新技术”?
2026年中国汽车行业的技术演进,呈现出一个共识:没有颠覆性技术涌现,竞..
新技术密集发布,2026补贴少了,反而更适合买高端电车?..
价格战的后遗症还没痊愈,2026的新能源汽车,不止比价格,还要比同价谁给..
YU7销量远超特斯拉!谁能告诉我:到底是谁在买小米汽车啊?..
小米YU7,可以说是继吉利星愿之后,又一台“非典型”神车。1月份,在绝大..
关于作者
你不懂的歌..(普通会员)
文章
1920
关注
0
粉丝
0
点击领取今天的签到奖励!
签到排行

成员 网址收录40418 企业收录2986 印章生成263660 电子证书1157 电子名片68 自媒体103569

0
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索