训练稳定性技巧(梯度裁剪/Warmup)


一句话总结

梯度裁剪、学习率Warmup和其他稳定性技巧共同确保大模型训练过程平稳收敛,避免loss突刺和训练崩溃。

核心概念

梯度裁剪(Gradient Clipping)限制梯度的全局范数不超过阈值(常用1.0),防止偶尔出现的梯度爆炸破坏已学参数。学习率Warmup在训练初期从极小值线性增加到目标学习率(通常warmup步数为总步数的0.1%-1%),避免随机初始化阶段大学习率导致的不稳定。Cosine退火在warmup后让学习率按余弦曲线衰减到最小值(如最大值的1/10),兼顾前期快速学习和后期精细调整。

为什么重要

大模型训练成本极高(GPT-3约460万美元),训练中途崩溃或loss突刺意味着巨大的资源浪费。稳定的训练过程不仅保证收敛,还能产生更好的最终性能。训练不稳定是大模型开发中最常见的实际挑战之一。

实践要点

推荐组合:AdamW优化器 + 梯度裁剪(max_norm=1.0) + 线性Warmup + Cosine衰减。AdamW的超参数:beta1=0.9, beta2=0.95, weight_decay=0.1。出现loss突刺时可尝试:降低学习率、增大batch size、跳过问题数据batch。bf16训练比fp16更稳定(动态范围更大)。部分团队使用embedding层的梯度缩放进一步提升稳定性。

常见误区

误区一:梯度裁剪阈值设太小导致有效学习率过低,训练变慢。误区二:Warmup步数设太短(如几十步),未能有效稳定训练。误区三:遇到loss突刺就重启训练,实际上很多突刺会自行恢复,应先观察再决定是否干预。