Skip to content

閱讀評論

優點

  • 完整 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 完整訓練流程的開源專案。