(由多段落组成):
2025年10月,AI教育领域的传奇人物Andrej Karpathy(卡帕西)重磅回归,推出全新开源项目 nanochat —— 一个仅用8000行代码从零构建的类ChatGPT全栈训练与推理系统。该项目成本极低,仅需约100美元即可在云GPU上完成训练,最快4小时就能拥有一个可对话、能写诗讲故事、甚至解答基础数学题的语言模型。这一“手搓大模型”的实践教程迅速引爆GitHub社区,上线不久Star数便突破4.8k,网友惊呼:“跑完这个项目,简历上直接写‘机器学习工程师’!”
nanochat的核心理念是极简、透明、可读性强,旨在为开发者和学习者提供一条通往大语言模型(LLM)内部机制的清晰路径。整个项目采用Rust语言实现分词器,基于FineWeb-EDU数据集进行预训练,并通过多阶段微调流程逐步提升模型能力。它不仅支持CLI命令行交互,还内置FastAPI搭建的类ChatGPT网页界面,用户可以像使用主流AI助手一样与其对话。更令人惊叹的是,该模型在训练约12小时后,其CORE评估指标已超越GPT-2;若将预算提升至1000美元,还能进一步执行强化学习优化,在数学和编程任务上表现显著增强。
项目的训练流程分为四个关键阶段:首先是分词器训练,基于byte-level BPE算法,在20亿字符上快速构建出6.5万词汇量的高效tokenizer,压缩比达4.8:1,优于GPT-2且在特定英文语境下媲美GPT-4。接着进入预训练阶段,使用8×H100 GPU集群在FineWeb数据集上训练Transformer模型,参数量约为5.6亿,符合Chinchilla缩放定律,目标处理112亿tokens。此过程耗时约3小时,花费72美元左右,完成后模型已具备基本的世界知识和文本补全能力。
随后是中期训练(Midtrain),引入SmolTalk对话数据集和多项选择题、工具调用等结构化任务,教会模型理解聊天格式、识别ABCD选项并掌握Python解释器调用技能。这一步仅需8分钟,却极大提升了模型的实用性。紧接着是监督微调(SFT),模拟真实对话场景对数据进行填充和拉伸,解决训练与推理之间的领域不匹配问题,使模型输出更加自然流畅。最终还可选强化学习(RL)阶段,基于GRPO算法在GSM8K数学题上进行性能爬升,虽未完全调优,但已展现出通过奖励机制优化生成质量的潜力。
整个流程高度自动化,配合`speedrun.sh`脚本一键运行,适合新手快速上手。项目同时集成WandB可视化监控,实时追踪损失、CORE分数、MFU利用率等关键指标。训练结束后会自动生成一份Markdown报告卡,汇总代码行数、依赖项、总耗时与成本等信息。以标准配置运行至SFT阶段,总耗时不到4小时,成本控制在92.4美元以内,真正实现了“百元级复刻ChatGPT”。
nanochat不仅是教学工具,更是研究与实验的理想起点。其模块化设计允许用户自由替换分词器、调整模型深度、更换训练数据或优化超参数。只需通过`–depth`参数即可扩展模型规模,例如depth=30的版本在MMLU上可达40+分,ARC-Easy超70分,GSM8K达20+分,性能接近GPT-3 Small级别,而计算消耗仅为千分之一。卡帕西强调,该项目并未追求极致优化,而是致力于打造一个“可被理解的智慧”框架,未来将作为其新创AI学校Eureka Labs的旗舰课程LLM101n的核心实战项目。
值得一提的是,nanochat几乎全部由卡帕西手工编写,连Claude和Codex等AI代理都无法有效辅助——因其代码结构偏离主流分布。这种“返璞归真”的开发方式也让代码更具教学价值。目前项目已开源在GitHub,配套讨论区提供了详细指南,甚至可通过DeepWiki直接提问仓库。正如网友评论:“你发布的不只是代码,更是通往AI本质的地图。”
本文来源: