Appearance
閱讀評論
優點
- 完整 pipeline:從 tokenizer 到 RL alignment 一條龍,業界少見
- 可複現性:
speedrun.sh一鍵執行,搭配公開 leaderboard 記錄每次改進 - 程式碼品質:模組化設計、清晰的 docstring、無過度封裝
- Scaling Law 整合:深度自動化 hyperparameter 選擇是亮點
- 效能意識:GC 管理、async comm overlap、FA3、FP8 — 每個細節都為效率服務
可改進之處
- 分散式實作複雜度:
DistMuonAdamW的 3-phase async 通訊模式雖然高效,但閱讀門檻高。若能抽象出 comm layer 會更乾淨。 - RL 階段實作偏簡陋:作者自承是「簡單版 GRPO/REINFORCE」,缺少 DPO 的完整實作(目前只有 GRPO-like 的 GSM8K 訓練)。
- 硬體依賴性強:FA3 + FP8 + 80GB VRAM 的高效率依賴 H100 等級 GPU。雖然可在小 GPU 上跑,但效率大幅下降。
- 評估成本高:CORE metric 的完整評估需要相當長的時間,迭代週期被拉長。
- 文件不足:README 雖好,但缺乏對
gpt.py中各項設計選擇(Smear、Backout、Value Embeddings、Softcap)的深入解說。
架構權衡
nanochat 選擇了「single dial of complexity」路徑,這對研究者友善但對想深入修改特定超參數的使用者可能有限制。優化器參數分組(6 組 AdamW + 多組 Muon)的設計雖然靈活,但對新手來說學習曲線陡峭。
整體而言,nanochat 是目前最適合理解 LLM 完整訓練流程的開源專案。