nanoGPT (2022, 已弃用)
- 目的: 教学/学习 Transformer 实现原理
- 代码: 扁平结构,model.py + train.py + sample.py,约 750 行
- 特点: 极简,适合逐行理解 Attention、FFN、LayerNorm
- 训练效率: 较低,GPT-2 124M 需 8x A100 跑约 4 天
- 功能: 仅预训练,无 RLHF,无对话接口
nanochat (2026, 活跃维护)
- 目的: 实际训练可用模型,"100 美元能买到的最好的 ChatGPT"
- 代码: 模块化结构,gpt.py + engine.py + optim.py + fp8.py 等,6000+ 行
- 特点: 单旋钮控制深度 (--depth),自动计算其他超参数
- 训练效率: 高,GPT-2 能力模型 8x H100 仅需 ~2 小时(~$48)
- 功能: 预训练 + SFT 微调 + RLHF + CLI 聊天 + FP8 精度 + Flash Attention + DCLM 评估
一句话: nanoGPT 是教科书,nanochat 是工厂。前者学原理,后者出产品。