学习率预热步数 使用指南
依据总训练步数与预热比例,计算学习率线性预热的步数区间,适用于稳定训练初期、避免梯度震荡的调度设计。
计算公式与原理
预热步数 = 总步数 × 比例;预热末 LR = 峰值 LR
训练最初若干步把学习率从 0 线性升到峰值,给 Adam 的二阶动量估计留出稳定时间,避免大 batch 训练初期因梯度方差大而发散。典型配置是总步数的 1%–5%,之后接 cosine 或线性衰减。
使用步骤
- 填写「总步数」。
- 填写「预热比例」。
- 填写「峰值 LR」。
- 结果区会即时更新;可一键复制结果用于记录或汇报。
典型使用场景
- 预热步数=总步数×预热比例;期间 lr 从 0(或很小)线性升到峰值。
- 避免训练初期大 lr 破坏随机初始化、造成梯度震荡或不稳定。
- 常用预热比例 0~10%,与余弦衰减衔接形成 warmup+decay 调度。
算例参考
- 预热区间:总步数 10000、预热比例 5% → 预热步数=500,前 500 步 lr 从 0 线性增至峰值(如 1e-3),之后进入衰减。无预热时首步即 1e-3 易震荡。
注意事项
结果为按上述公式得到的理论估算值,实际表现受数据分布、实现细节与运行环境影响,落地决策请以实测为准;本工具纯前端运行,输入不上传服务器。
- 预热一定要吗?
- 大模型/大 batch 通常必要,能稳定初期训练;小模型小学习率可省略。跳过预热常出现首轮 loss 尖峰甚至 NaN。
- 预热比例多大合适?
- 常见 0~10%,Transformer 训练多用 1%~6%;过大则有效训练步数被浪费,过小保护不足,以验证曲线平滑为准。