趋近智
训练大型语言模型对现有硬件造成较大压力,这主要是因为进行标准32位浮点()运算时会产生大量的内存占用和计算开销。混合精度训练提供了一种缓解这些制约的方法。通过有策略地运用低精度数值格式,特别是16位浮点()和bfloat16 (),我们能够大幅减少内存占用,并且通常能加快计算速度,尤其是在支持NVIDIA Tensor Cores等专用硬件上。
本章将详细介绍大型语言模型混合精度训练的应用方法。我们将考察和格式的特点,并讨论与相比的权衡取舍。我们将讨论使用低精度时遇到的常见稳定性问题,特别是的有限范围,并介绍_损失缩放_等方法,以在训练过程中保持数值稳定性。格式的作用和好处也将予以讨论。最后,我们将考察如何运用主流深度学习 (deep learning)框架中内置的自动混合精度(AMP)支持,以简化实现过程。
20.1 浮点数格式(FP32、FP16、BF16)简介
20.2 低精度的好处(速度、内存)
20.3 FP16训练中的挑战(范围问题)
20.4 损失缩放技术
20.5 使用 BF16 (BFloat16) 格式
20.6 框架对混合精度(AMP)的支持