Skip to content

閱讀心得

nanochat 最令人印象深刻的是它對「完整 pipeline」的堅持。多數開源專案只做 pre-training 或只做 fine-tuning,但 nanochat 從 tokenizer 訓練到 RL alignment 全部涵蓋,使用者跑完 speedrun.sh 就能得到一個可以對話的 ChatGPT-like 模型。

Karpathy 的設計哲學一貫是「簡潔勝於功能豐富」。沒有巨大的 config 物件,沒有 model factory,沒有 if-then-else 怪物。每個檔案都有明確的單一職責,程式碼總量十幾萬字元卻能訓練出 GPT-2 等級的模型。

從工程角度來看,base_train.py 的 scaling law 自動化最值得學習——從 --depth 一個參數自動推導出 batch size、learning rate、weight decay、training horizon,讓研究者只需要關注模型「大小」這一個維度。

Muon 優化器的實作也很有教育意義。Modded-NanoGPT 圈的創新(Polar Express、NorMuon variance reduction)被整合進一個乾淨的 fused kernel 中,既高效又易懂。

最大的啟發是:有預算限制的創新反而產出更好的設計。$100 的限制迫使 Karpathy 壓縮每個環節的效率,從資料選擇(ClimbMix、best-fit packing)、硬體利用(FA3、FP8、tf32)到演算法效率(Muon、Scaling Laws),每個面向都被迫優化到極致。