colinlikescode/NanoGPT-Speedrun-Winner

Record breaking score (as of the first commit date)

解決的問題

本專案實現了一個高度優化的 GPT-2 (124M) 訓練流水線,旨在單一 8xH100 GPU 節點上以盡可能短的時間達到特定的驗證損失(3.28)。

運作原理

該專案透過實施三項主要技術優化,超越了之前的速度記錄:

  1. 讀出權重的尾部 EMA:在訓練的最後階段對模型進行平均以提高準確性,從而將總訓練步數從 1300 減少到 1288。
  2. 精簡 ReLU²:僅儲存 MLP 激活值的平方,並在反向傳播期間重建輸入,從而減少記憶體流量。
  3. MLP 殘差優化:透過從小的恆等式恢復梯度,而不是重新讀取大型張量,以節省記憶體頻寬。

適用對象

專注於 LLM 訓練效率、GPU 核心優化以及參與 modded-nanogpt 速通挑戰的研究人員和工程師。

亮點

  • 實現了 74.19–74.6 秒的訓練時間,超越了之前的記錄。
  • 使用配對的裁判系統以確保 8xH100 GPU 之間的計時準確性。
  • 利用 PyTorch 2.10、Flash-Attention 3 和 Triton 3.6 以實現最大效能。

相關

  • 專案
  • 專案
  • 專案
  • 專案