编译 | 王涵
编辑 | 漠影
智东西10月14日消息,昨夜,前特斯拉人工智能与自动驾驶视觉总监、OpenAI研究员安德烈·卡帕西(Andrej Karpathy)开源nanochat,号称可以只用不到100美元(约合人民币711.5元)训练出“简易版ChatGPT”,一经发布在GitHub上就获得了5.6k星。
nanochat Github主页(来源:Github)
与其早期只涵盖预训练的nanoGPT不同,nanochat是一个极简的、从零构建的全栈训练/推理流程,用最精简的依赖代码库实现了“简易版ChatGPT”。
安德烈·卡帕西(Andrej Karpathy)推文截图(来源:X)
卡帕西在评论区中回复称,nanochat的基本架构类似Meta的Llama,但有所简化,并吸收了modded-nanoGPT的一些改进。
他还透露,截至指令微调(SFT)阶段,整个训练耗时3小时51分钟,总成本为92.4美元(约合人民币657.4元),“这样我们甚至还能剩下8美元买个冰淇淋犒劳自己。”他开玩笑道。
值得注意的是,由于目前对强化学习(RL)的支持尚不完善,卡帕西称他并未将其计入总运行时间。
也就是说,开发者只需启动云GPU实例,运行单个脚本,只需不到100美元(约合人民币711.5元),最快4小时,就能训练出可进行简单对话、创作故事诗歌、回答基础问题的“简易版ChatGPT”。
训练约12小时,模型即可在评估模型推理能力、知识基础等基础能力的CORE指标上超越GPT-2。卡帕西还透露,当投入提升至约1000美元(约合人民币7114.7元),训练41.6小时后,模型表现还将显著提升,能够解决基础数学/编程问题并通过选择题测试。
例如,深度为30的模型训练24小时(相当于GPT-3 Small 125M的计算量,约为GPT-3的千分之一)后,在多任务的语言理解基准MMLU得分超40分,在简单常识推理任务ARC-Easy超70分,在数学推理能力基准测试GSM8K中获得超20分的成绩。
nanochat性能表格(来源:Github)
这个有着8304行代码的项目实现了以下功能:
1、使用新的Rust实现训练分词器;
2、在FineWeb数据集上预训练Transformer LLM,并通过CORE指标多维度评估;
3、使用SmolTalk的用户-助手对话数据、选择题数据和工具使用数据进行中期训练;
4、进行指令微调,在常识选择题(ARC-E/C、MMLU)、数学(GSM8K)、代码(HumanEval)等基准上评估聊天模型;
5、可选使用“GRPO”算法在GSM8K数据集上进行强化学习;
6、通过带KV缓存的引擎实现高效推理,支持简单预填充/解码和工具调用(轻量级沙箱中的Python解释器),可通过CLI或类ChatGPT网页界面交互;
7、生成单页Markdown评估报告,以游戏化方式总结全流程。
在原推文的评论区中,卡帕西还给出了一个nanochat与用户对话的案例。在这个对话中,基础版nanochat已经实现AI聊天机器人的对话功能,并且可以根据要求撰写诗歌。
nanochat功能演示(来源:X)
在卡帕西的推文下,网友们发出一致好评,有人称“非常受到启发”,甚至说“这个人(指卡帕西)简直是个传奇。”
网友评论节选(来源:X)
还有网友已经做出了nanochat的可交互实时代码图谱,能够更加直观地探索这个代码库:
nanochat实时代码图谱(来源:X)
结语:nanochat为AI开发成本控制路径提供参考
nanochat项目的推出,为AI模型开发的成本控制提供了新的参考。该项目证明了,在适当的架构设计和流程优化下,以100美元级别的成本实现基础对话AI功能具备技术可行性。
虽然当前版本在性能上仍与商用大模型存在差距,但其展现的性价比优势,为AI技术在更广泛场景中的应用拓展了可能性。随着开源社区对该项目的持续优化,这种高效开发模式或将为AI技术普及带来新的推动力。