學習率預熱步數 使用指南
依據總訓練步數與預熱比例,計算學習率線性預熱的步數區間,適用於穩定訓練初期、避免梯度震盪的排程設計。
計算公式與原理
預熱步數 = 總步數 × 比例;預熱末 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%;過大則有效訓練步數被浪費,過小保護不足,以驗證曲線平滑為準。