知了AI学习平台Logo知了
🧠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 是保证训练稳定的关键。