Skip to content

閱讀心得 — micrograd

為什麼 micrograd 如此強大?

Karpathy 用 ~100 行實作了 PyTorch 的核心 autograd 機制。這證明了反向傳播的本質並不複雜,複雜的是工程優化(GPU 並行、記憶體管理、分散式訓練)。

對程式碼風格的觀察

  • 極簡主義 — 每個函式只做一件事,沒有多餘的抽象
  • 教育優先 — 可讀性 > 效能 > 功能完整性
  • 遞迴思考build_topo 用 DFS 遞迴遍歷計算圖,優雅且正確
  • 閉包(Closure)巧用 — 每個運算的 _backward 以閉包形式捕獲所需變數,避免複雜的類別繼承

給自己的提醒

  1. 理解 micrograd 後,PyTorch 的 backward() 不再神秘
  2. 複雜系統往往來自簡單概念的組合
  3. 寫教學程式碼時,應該先追求清晰,再追求效率