預訓練
混合精度 LLM 訓練(mixed-precision LLM training)
網路裡的數字可以用較多或較少的位元來儲存。完整的三十二位元精度準確但笨重;混合精度則把大多數運算放在精簡的十六位元格式(常用 bf16),只在真正要緊的地方保留完整精度。好處很直接:記憶體大約省一半,而且在現代加速器上運算快得多——這些硬體本就為了把低精度數字算得快上許多倍而打造。
其中的訣竅在於知道哪裡用低精度是安全的。前向與反向以 bf16 進行,但會把一份權重的主副本與優化器的累加器保留在較高精度,以免微小的更新消失在捨入誤差裡。bf16 比舊的 fp16 更受青睞,因為它較寬的指數範圍很少溢位。最新的硬體更進一步,對最沉重的矩陣乘法採用八位元的 fp8,並小心地縮放以維持數值安全。
做對了,混合精度在準確度上幾乎是免費的,是每次大型訓練的標準配備。做得馬虎則會反咬一口:精度流失可能讓梯度下溢成零,或讓損失尖峰悄悄溜過,所以它要搭配損失縮放與警覺的監控。
又称
另见