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 以实现最大性能。

相关

  • 项目
  • 项目
  • 项目
  • 项目