学习率调度 = 按预设计划在训练中改变学习率
ηt。四类主流策略: ① Warmup(线性预热):
ηt=ηmax⋅Twarmt(t = 1…
Twarm),从接近 0 线性升到峰值
ηmax;② 线性衰减:
ηt=ηmax(1−Tt),从头到尾线性降到 0;③ 阶梯衰减(Step Decay):
ηt=η0γ⌊t/s⌋,每
s 步乘一次
γ(如每次 ×0.1),曲线呈台阶状;④ 余弦退火(Cosine Annealing):
ηt=ηmin+21(ηmax−ηmin)(1+cos(Ttπ))——t=0 时
η0=ηmax、t=T 时
ηT=ηmin,在峰谷之间平滑下降、没有突变。大模型训练标配“warmup + 余弦”: 前 1%~5% 步线性升到峰值,再从峰值余弦平滑降到末端极小值。为什么需要 warmup: 训练初期 Adam 的
vt 只见过极少数梯度、
v^t 很小,此时
η/v^t 可能非常大,一步就能把参数“踢飞”(大批量、梯度噪声大时更危险);小学习率让矩估计与 BN/LN 统计量先稳定下来再提速。