colinlikescode/NanoGPT-Speedrun-Winner
Record breaking score (as of the first commit date)
解決的問題
本專案實現了一個高度優化的 GPT-2 (124M) 訓練流水線,旨在單一 8xH100 GPU 節點上以盡可能短的時間達到特定的驗證損失(3.28)。
運作原理
該專案透過實施三項主要技術優化,超越了之前的速度記錄:
- 讀出權重的尾部 EMA:在訓練的最後階段對模型進行平均以提高準確性,從而將總訓練步數從 1300 減少到 1288。
- 精簡 ReLU²:僅儲存 MLP 激活值的平方,並在反向傳播期間重建輸入,從而減少記憶體流量。
- MLP 殘差優化:透過從小的恆等式恢復梯度,而不是重新讀取大型張量,以節省記憶體頻寬。
適用對象
專注於 LLM 訓練效率、GPU 核心優化以及參與 modded-nanogpt 速通挑戰的研究人員和工程師。
亮點
- 實現了 74.19–74.6 秒的訓練時間,超越了之前的記錄。
- 使用配對的裁判系統以確保 8xH100 GPU 之間的計時準確性。
- 利用 PyTorch 2.10、Flash-Attention 3 和 Triton 3.6 以實現最大效能。
相關
- 專案
- 專案
- 專案
- 專案