nanochat 2026:Andrej Karpathy 开源「百元 ChatGPT」——8000 行全栈 LLM 训练管道

由 Andrej Karpathy 开发的 nanochat 是完整的 LLM 训练管道——分词器、预训练、微调、评估、推理和聊天 UI,设计目标:在单节点 8×H100 上用不到 100 美元从零训练一个 GPT-2 级聊天机器人。

  • ⭐ 54700
  • Python
  • PyTorch
  • Rust
  • LLM Training
  • MIT
  • 更新于 2026-06-09

nanochat 2026: Andrej Karpathy LLM 训练管道 — dibi8.com

2025年10月,Andrej Karpathy 发布了 nanochat,宗旨简单明了:“花100美元能买到的最好 ChatGPT”。到 2026 年 6 月已积累 54,700 个 GitHub Star,成为开源社区阅读量最大的 LLM 训练教程。

nanochat 是什么(和不是什么) #

nanochat 不是对现有模型的封装,不是部署工具。它是完整的工厂:

  1. 分词器(Rust) — 从零在自己的数据上训练的 BPE 分词器,用 Rust 实现,速度快
  2. 预训练(PyTorch) — 在 FineWeb 上训练 Transformer,支持 FlashAttention-2、BF16 混合精度
  3. 微调(SFT) — 在 SmolTalk 对话数据、多选题和工具使用数据上微调
  4. 评估 — 自动运行 CORE 基准测试,输出推理/知识/编程/指令跟随分数
  5. 推理服务器 — 兼容 OpenAI chat completions 接口的 HTTP API
  6. 聊天 UI — 极简网页界面,可以直接对话

全部约 8000 行 Python 和 Rust。

百元训练成本 #

配置时费训练时间总费用
8× H100 (SXM5)~$242 小时~$48
8× A100 (80GB)~$164 小时~$64
8× H100 (PCIe)~$183 小时~$54

可在 Lambda Labs、CoreWeave、vast.ai 或 RunPod 租用节点。

关键训练命令 #

# 训练分词器
python tokenize_dataset.py --dataset fineweb --vocab-size 32768

# 单节点 8GPU 预训练
torchrun --nproc_per_node=8 train_pretrain.py \
  --config configs/pretrain_fineweb_120m.yaml

# 监督微调
torchrun --nproc_per_node=8 train_sft.py \
  --pretrain-checkpoint checkpoints/pretrain_final.pt \
  --config configs/sft_smoltalk.yaml

# 启动推理服务器
python serve.py --checkpoint checkpoints/sft_final.pt --port 8000

适用人群 #

  • 用 nanochat:想从头理解 LLM 原理;需要可修改基准的研究者;要在自有数据上预训练领域模型;讲授 LLM 课程
  • 不用 nanochat:只想本地运行现有模型 → 用 Ollama;需要生产级大规模推理 → 用 vLLM

2026 新增:autoresearch #

2026年3月,Karpathy 发布 autoresearch,AI agent 自动提交训练配置、监控 CORE 基准结果、提出假设驱动的后续实验。这是目前 nanochat 生态中最活跃的项目。

需要 GPU 算力训练模型? DigitalOcean 新用户享 $200 免费额度,足够运行多次完整 nanochat 训练实验。GPU Droplet 按需使用,无长期承诺。

GitHub: karpathy/nanochat · 54.7k ⭐ · MIT

📦 出现在以下合集中

💬 留言讨论