学习率预热步数

📖 Learning Rate Warmup Steps Calculator

Compute how many steps a linear learning-rate warmup should cover, from total training steps and the warmup ratio, to keep early training stable.

📐 计算公式 / 原理
学习率线性预热(本页代码口径):预热步数=总步数×预热比例(取整显示);预热末 LR=峰值学习率(预热结束后进入主学习率),LR 保留 6 位小数。校验:无强校验,空值按 0 兜底。判据:无固定分级,预热步数与总步数、比例均线性正相关,比例取 0 时无预热。
训练最初若干步把学习率从 0 线性升到峰值,给 Adam 的二阶动量估计留出稳定时间,避免大 batch 训练初期因梯度方差大而发散。典型配置是总步数的 1%–5%,之后接 cosine 或线性衰减。

📐 计算公式与说明

判读与衔接(与上方公式互补,共用同一组输入):预热比例常取 0.03–0.1(约 3%–10% 总步数),使 LR 由小值线性爬升至峰值后再进入衰减阶段;本页输出的预热末 LR 即主阶段起始学习率,可直接衔接指数衰减类调度器。校验:与上方一致,空值按 0 兜底。判据:无固定分级。

预热可稳定训练初期梯度。

📚 深度解析:学习率预热步数

💡 常见使用场景

预热区间
总步数 10000、预热比例 5% → 预热步数=500,前 500 步 lr 从 0 线性增至峰值(如 1e-3),之后进入衰减。无预热时首步即 1e-3 易震荡。

❓ 常见问题(FAQ)

预热一定要吗?
大模型/大 batch 通常必要,能稳定初期训练;小模型小学习率可省略。跳过预热常出现首轮 loss 尖峰甚至 NaN。
预热比例多大合适?
常见 0~10%,Transformer 训练多用 1%~6%;过大则有效训练步数被浪费,过小保护不足,以验证曲线平滑为准。

Formula & Standard References

Item Formula / Note Source / Standard
Warmup schedule the learning rate ramps linearly from a small value up to the base rate Goyal et al. 2017, large batch training
Purpose warmup damps the impact of large early gradients on the parameters He et al. 2016, ResNet warmup
Typical ratio the warmup span is commonly one to five percent of total steps Devlin et al. 2019, BERT