學習率調度
學習率計畫會在訓練期間改變步長,而不是保持固定。
概述
Getting it right is often the single biggest lever for whether a model converges quickly and reaches high accuracy.
深入探討
學習率控制優化器每次更新採取的步長。太高,訓練出現偏差;太低了,它會爬行或被卡住。調度會隨著時間的推移調整該值。一個常見的現代方法是預熱,然後衰減:從接近零開始,在最初的幾百或幾千步中逐漸增加(這麼早,嘈雜的梯度不會炸毀不穩定的權重),然後逐漸減少。流行的衰減形狀包括階梯衰減(在設定的時期下降一個因子)、指數衰減和餘弦退火,它平滑地遵循半餘弦曲線下降到接近零。具有線性預熱的餘弦計劃現在是訓練大型語言模型的標準,而循環和單週期策略可以加速較小模型的訓練。
技術洞察
預熱很重要,因為像 Adam 這樣的自適應優化器在第一步驟中的二階矩估計不可靠;小的學習率可以避免在統計數據穩定之前權重不穩定。餘弦退火設定 lr = lr_min + 0.5 * (lr_max - lr_min) * (1 + cos(pi * t / T)),在早期提供快速進展,並在接近結束時提供微小的微調步驟。一些時間表增加了熱重啟,將速率提高以避免急劇的最小值。
戰略影響
成本與預算
多年來,架構決策決定著效能和營運成本。
更明確的決策
技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。
品質管控
更好的工程選擇可以減少生產中的可靠性事故。
學習率調度的未來
隨著訓練運行變得越來越昂貴,時間表正在與優化器和批量大小共同設計,研究人員研究縮放法則以在訓練前預測最佳峰值速率。無需提前選擇衰減曲線的無計劃優化器正在獲得關注,而響應生命損失曲線的自適應、反饋驅動的計劃可能會減少仍然主導大規模訓練的試錯。
現實世界的實施
預訓練 Transformer 語言模型時使用線性預熱加上餘弦衰減。
在 ImageNet 上訓練影像分類器時,步驟衰減會在第 30、60 和 90 時期將學習率降低 10 倍。
fast.ai 中的單週期策略可以在很少的 epoch 內訓練模型達到良好的準確性。
餘弦退火和熱重啟可以週期性地逃避急劇損失最小值並提高泛化能力。
風險與防護欄
優化一項基準測試可以隱藏更廣泛的系統弱點。
基礎設施和維護成本常常被低估。
隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。
實施路線圖
在實施之前定義延遲、品質和成本目標。
在實際負載和資料條件下進行基準測試。
儀器監控錯誤、漂移和使用者影響。
在擴展之前準備回滾和事件回應路徑。
不斷探索
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Learning Rate Scheduling quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
常見問題
What is Learning Rate Scheduling?
學習率計畫會在訓練期間改變步長,而不是保持固定。正確執行通常是模型能否快速收斂並達到高精度的最大槓桿。
學習率計畫中「預熱」階段的目的是什麼?
預熱從接近零開始並增加速率,以便不穩定的早期更新不會在優化器統計數據穩定之前破壞模型的穩定性。
哪一個時程平滑地遵循半餘弦曲線下降到最低速率?
餘弦退火沿著半餘弦形狀衰減學習率,在早期提供大步長,在接近結束時提供小步長。
如果學習率設定得太高會發生什麼事?
過高的比率會導致超調,因此損失可能會反彈或爆炸,而不是穩定下來。
步長衰減對學習率有何影響?
階梯衰減會在選定的里程碑處將速率乘以一個因子(例如 0.1),從而建立階梯模式。
為什麼有時會在計劃中添加“熱重啟”?
熱重啟會定期提高學習率,幫助優化器擺脫狹窄的最小值並探索更好的解決方案。