詳細解釋
學習率調度(Learning Rate Schedule)是在訓練過程中動態調整學習率的策略,對模型收斂和最終性能有重要影響。
為何需要調度:
- 初期:大學習率快速接近最優區域
- 後期:小學習率精細調整參數
- 固定學習率:可能震盪或收斂慢
常見策略:
- 衰減策略:
- 階梯衰減(Step Decay):每N個epoch乘以係數(如0.1)
- 指數衰減:學習率按指數函數下降
- 余弦退火(Cosine Annealing):平滑的週期性衰減
- 自適應策略:
- 預熱(Warmup):
- 初期從小學習率線性增加到目標值
- 防止初期大梯度破壞預訓練權重
- 特別重要於大模型微調和Transformer架構 (變換器 / 注意力模型) (Switch Transformer)訓練
- 週期性策略:
- SGDR:帶重啟的隨機梯度下降
- 學習率周期性升高再降低
- 幫助跳出局部最優
與批次大小的關係:
- 線性縮放規則:批次大小翻倍,初始學習率也翻倍
- 大批次需要warmup更長
實踐建議:
- 監督學習:通常1-3個epoch後開始衰減
- 預訓練:大型語言模型 (大語言模型 / 大模型)常使用cosine schedule訓練1-3 epoch
- 微調:較小學習率,較少warmup
- 監測損失曲線:調整策略
學習率調度是模型優化的重要藝術。