您现在的位置是:首页 > 文章详情

Andrej Kaparthy 开源 nanochat:从零开始的极简全栈训练/推理方案

日期:2025-10-14点击:12

“Vibe Coding” 概念提出者 Andrej Karpathy 刚刚发布了名为「nanochat」的开源项目:

nanochat 是类似于 ChatGPT 的 LLM 全栈实现,代码库单一、简洁、最小化、可定制且依赖极少。

nanochat 设计用于在单个 8XH100 节点上通过如 speedrun.sh 之类的脚本运行,实现从开始到结束的完整管道处理。这包括分词、预训练、微调、评估、推理以及通过简单的 UI 进行网络服务,这样你就可以像与 ChatGPT 交谈一样与自己的 LLM 交谈。

https://github.com/karpathy/nanochat

下面内容来自 Andrej Kaparthy 的推特

与我之前的项目 nanoGPT 不同——后者只涉及预训练部分——nanochat 是一个极简、从零构建的、完整的 ChatGPT 克隆版训练与推理全栈流程。整个系统被封装在一个几乎没有依赖的代码库中。

你只需要启动一台云端 GPU 服务器,运行一个脚本,大约 4 小时后,你就能在 ChatGPT 风格的网页界面上与自己的 LLM 对话。

整个项目约 8000 行代码,结构清晰,实现了以下功能:

  •  使用全新的 Rust 实现训练分词器
  •  在 FineWeb 上预训练 Transformer LLM,并在多个指标上评估 CORE 分数
  • 在 SmolTalk 的用户-助手对话、多选题、工具使用等数据上进行中期训练(Midtrain)
  • 进行 SFT(有监督微调),并在常识(ARC-E/C、MMLU)、数学(GSM8K)、代码(HumanEval)任务上评估模型
  • 可选地在 GSM8K 上使用 “GRPO” 算法进行强化学习(RL)
  • 在推理引擎中实现高效推理:支持 KV cache、prefill/decode、工具调用(在轻量沙箱中运行 Python 解释器),可通过 CLI 或 ChatGPT 风格的 WebUI 与之交互
  • 自动生成一份 Markdown “成绩单”,总结并游戏化整个流程

即使仅花费约 100 美元(约 4 小时在 8×H100 节点上运行),你也能训练出一个“小型 ChatGPT 克隆”,能写故事、写诗、回答简单问题。

训练约 12 小时 后,它在 CORE 指标上就能超越 GPT-2。当预算提升至约 1000 美元(约 41.6 小时训练)时,模型的连贯性显著增强,能够解决简单的数学与代码问题,并通过多项选择测试。

例如,一个 深度 30 的模型,训练 24 小时(约等于 GPT-3 Small 125M 的 FLOPs,约为 GPT-3 的 1/1000),即可在 MMLU 上取得 40+ 分,在 ARC-Easy 上达 70+,在 GSM8K 上达 20+,等等。

我的目标,是将一个完整的 “强基线(strong baseline)” 堆栈整合进一个紧凑、可读、可改、可复刻的仓库中。

nanochat 将成为我课程 LLM101n 的收官项目(仍在开发中)。

我认为它也有潜力像 nanoGPT 一样,成长为一个研究用工具或基准平台。

目前它还远未“完成”、调优或优化(我相信仍有不少低垂果实可摘),但现在的框架已经足够稳定,足以放上 GitHub,让大家在此基础上改进各个部分。

原文链接:https://www.oschina.net/news/377299
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章