🧠AI 冷知识
你知道吗?
这些有趣的 AI 小知识可能让你大吃一惊
💡
用一半精度训练,用全精度累加混合精度训练(AMP)让模型在FP16下做矩阵乘法、在FP32下做梯度累加,兼顾速度和精度。关键技巧是"损失缩放"(Loss Scaling):FP16能表示的最小正数约为6×10⁻⁸,很多梯度比这还小,会直接下溢为零。AMP的做法是先把损失乘以一个很大的数(如65536),让梯度放大到FP16可表示的范围,反向传播后再除回来。NVIDIA的Tensor Core专门为FP16矩阵乘法设计,吞吐量是FP32的2-8倍,这是现代GPU训练大模型的基石。
来源:Micikevicius et al., "Mixed Precision Training", ICLR 2018
一句话总结
💡
混合精度用 FP16/BF16 计算加速、FP32 主权重保精度,通过 loss scaling 防止梯度下溢。
常见误区
这些坑别踩
✗
误区 1
混合精度就是全程低精度。
✓
正确理解
它在低精度计算的同时保留 FP32 主权重和损失缩放,保证数值稳定。
✗
误区 2
FP16 一定比 BF16 好。
✓
正确理解
BF16 动态范围大不易溢出但精度低,FP16 精度高但范围小,各有适用。
✗
误区 3
loss scaling 可有可无。
✓
正确理解
FP16 下小梯度会下溢清零,loss scaling 是保证训练稳定的关键。