LESSON 4.4 · 诊断 · 110 分钟
混合精度与数值稳定性
混合精度与数值稳定性:理解FP32/FP16/BF16、loss scaling、overflow,完成“复现并修复 NaN 训练”。属于「把训练变成系统」学习阶段。
学完你应该能够
- 能不用术语堆砌,解释「混合精度与数值稳定性」解决了什么问题。
- 能围绕 FP32/FP16/BF16、loss scaling、overflow 画出变量与因果关系。
- 能完成「复现并修复 NaN 训练」,并用证据而不是感觉判断结果。
核心概念
FP32/FP16/BF16
FP32/FP16/BF16在速度、范围与精度之间取舍。BF16 保留接近 FP32 的指数范围,FP16 更易溢出;主权重、归约和敏感算子常需更高精度。
loss scaling
loss scaling在速度、范围与精度之间取舍。BF16 保留接近 FP32 的指数范围,FP16 更易溢出;主权重、归约和敏感算子常需更高精度。
overflow
overflow在速度、范围与精度之间取舍。BF16 保留接近 FP32 的指数范围,FP16 更易溢出;主权重、归约和敏感算子常需更高精度。
实践任务
复现并修复 NaN 训练
- 预测:在运行代码前,写下你预期的输出、趋势或失败位置。
- 构建:先复现并冻结现场,只保留回答核心问题所需的最小组件。
- 验证:使用吞吐剖析、消融实验、故障注入与 checkpoint 恢复;保存参数、随机种子与原始结果。
- 迁移:改变模型规模、GPU 拓扑或数据混合后重做预算,说明原结论是否仍成立。