混合精度训练(Mixed Precision Training)指在同一次训练中混用不同数值精度:对计算量大、对精度不敏感的部分用低位宽浮点数(如 FP16、BF16、FP8),对敏感部分(权重主副本、累加器)保留 FP32,兼顾速度与稳定。
为什么有效
低位宽意味着更少的显存占用、更高的算力吞吐和更低的显存带宽压力——现代 GPU(如 NVIDIA H/B 系列)的 FP8/BF16 算力是 FP32 的数倍到数十倍,还有专用 Tensor Core 加速。
精度层级
- FP32:32 位单精度,基准,贵
- FP16 / BF16:16 位。BF16(脑浮点)指数位更多、不易溢出,训练首选
- FP8:8 位,2024 年起进入主流训练管线(如 DeepSeek-V3 用 FP8 混合精度训练,大幅降低成本),需要配合更精细的缩放与误差控制
关键配套
损失缩放(Loss Scaling)防止低精度下梯度下溢;主权重保持 FP32 保证收敛精度。
一句话理解
能用草稿纸算的绝不用精装本——把“贵”的精度只花在刀刃上。