标准回答
Warmup 的作用
训练刚开始时权重随机、loss 曲面陡峭、梯度方向噪声大;若直接用目标学习率,单步更新过猛容易让 loss 发散或陷入坏区域。Warmup 在前若干步(或几个 epoch)把学习率从接近 0 线性升到目标值,给优化器一段"暖机"期稳定下来。对 Adam/AdamW,初期二阶矩估计不可靠,warmup 也能抑制此时的过大步长。
衰减的作用
升到峰值后逐步降低学习率:大 LR 阶段快速探索,小 LR 阶段精细收敛、减小后期震荡。常见策略:
- Cosine:平滑余弦曲线退火,主流选择
- Step:到固定里程碑乘以衰减因子
- 线性 / 多项式:随步数线性下降
典型组合:AdamW + linear warmup + cosine decay,是 Transformer 与大模型预训练的事实标准。
常见误区
⚠️ 常见踩坑
Warmup 解决的是训练早期不稳定,不是过拟合;它与衰减是两个阶段,不能只做 warmup 不衰减,也不要把 warmup 步数设得过长而浪费有效训练。
追问
追问 1:为什么 Transformer 对 warmup 特别敏感?
追问 2:warmup 步数一般怎么设?
常取总步数的几个百分点,或固定几千步(如预训练常见 2k–10k 步)。batch size 越大、LR 峰值越高,通常需要更长 warmup;可作为超参数小范围搜索。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。