GoCkpt: Gradient-Assisted Multi-Step overlapped Checkpointing for Efficient LLM Training
Keyao Zhang and Yiquan Chen and Zhuo Hu and Wenhai Lin and Jiexiong Xu and Wenzhi Chen
大型语言模型(LLM)的准确性随着模型尺寸的增加而提高,但模型复杂性的增加也对训练稳定性提出了重大挑战。 定期检查点是故障恢复的关键机制,广泛用于LLM培训。 然而,传统的检查点策略通常会在检查点保存检查点 GPU-CPU 传输过程中暂停或延迟 GPU 计算,从而导致训练中断和训练吞吐量降低。 为了解决这个问题,我们提出了GoCkpt,这是一种将检查点与多个训练步骤相重叠的方法,并恢复CPU上的最终检查点。 我们跨多个步骤传输检查点,每个步骤传输检查点状态的一部分,我们传输用于参数更新的一些梯度数据。 传输完成后,每个部分检查点状态都会更新为 CPU 上的一致版本,从而避免了跨多个步骤转移检查点导致的检查点状态不一致问题。 此外,我们还引入了传输优化策略,以最大限度地提高GPU-CPU带宽利用率和SSD持久吞吐量。 这种双重优化重叠可跨步骤节省,并最大限度地提高 I/O 效率,可显著缩短无效训练时间。 实验结果表明,与行业传统的异步检查点解决方案相比,GoCkpt可以将培训吞吐量提高高达38.4%。 我们还发现,与最先进的检查点传输方法相比,GoCkpt可以将训练中断时间缩短86.7%,从而提高了4.8%的吞吐量。
The accuracy of large language models (LLMs) improves with increasing model size, but increasing model complexity also poses significant challenges to training stability. Periodic checkpointing is a key mechanism for fault recovery and is widely used in LLM training. However, traditional checkpointing strategies often pause or delay GPU computation during checkpoint saving for checkpoint GPU-CPU transfer, resulting in significant training interruptions and reduced training throughput. To address...