AI・機械学習
中級

Learning Rate Warmup(ラーニングレートウォームアップ)

LLM訓練の初期段階で学習率を0から目標値まで徐々に増加させるテクニック。初期の不安定な勾配による訓練崩壊を防ぎ、安定した最適化を実現する。

0 回閲覧
0 いいね

Learning Rate Warmup(学習率ウォームアップ)とは

Learning Rate Warmupは、訓練開始直後に学習率を低い値から目標の最大学習率まで段階的に引き上げるテクニックです。Transformer原論文「Attention Is All You Need」で導入され、現在のLLM訓練では事実上必須の手法として広く採用されています。

Warmupが必要な理由

訓練開始時のモデルの重みはランダム初期化されており、この段階での勾配は方向・大きさの両面で信頼性が低くなります。Adam等の適応型オプティマイザでも、初期のmomentum推定(1次・2次モーメント)にはバイアスがあり、高い学習率を直接適用すると以下の問題が発生します。

問題症状影響
勾配爆発loss spike、NaN発生訓練崩壊
不安定な更新loss振動収束遅延
悪いbasins平坦でないミニマムに着地汎化性能低下

Warmupの種類

Linear Warmup(最も一般的)

学習率を0からピーク値まで線形に増加させます。実装が簡単で効果が高いため、GPT-3、LLaMA、PaLMなどほぼ全ての大規模LLMで採用されています。

Gradual Warmup

複数段階に分けて学習率を段階的に増加させます。超大規模モデルでの安定性が求められる場合に使用されることがあります。

Exponential Warmup

指数関数的に学習率を増加させます。訓練序盤により低い学習率を長く維持できるため、特に不安定なモデルアーキテクチャで有効です。

Warmupステップ数の設定指針

Warmupステップ数はモデルサイズと総訓練ステップ数に依存します。

モデル総ステップWarmupステップ割合
BERT Base1,000,00010,0001.0%
GPT-3 175B300,0003750.125%
LLaMA 7B1,000,0002,0000.2%
PaLM 540B255,0002,0000.78%
Chinchilla 70B1,400,0002,0000.14%

一般的な目安として、総ステップ数の0.1-3%をWarmupに割り当てます。大規模モデルほど絶対ステップ数は多くても割合は小さくなる傾向です。

WarmupなしのFine-tuning

事前学習済みモデルのFine-tuningでは、重みが既に良い初期値にあるため、Warmupを省略できる場合があります。ただし、学習率が高い場合やLoRA以外のフルパラメータFine-tuningではWarmupを入れた方が安定します。

FAQ

Q1: Warmupステップを増やしすぎるとどうなりますか?

訓練の実質的な学習期間が短くなり、最終性能が低下します。Warmup期間中は学習率が低いため、この期間での学習効率は低く、過度なWarmupは計算リソースの無駄遣いになります。

Q2: Warmupは分散訓練でも必要ですか?

はい。分散訓練では実効バッチサイズが大きくなるため、むしろWarmupの重要性は増します。大きなバッチでは勾配のvariance(分散)が小さくなり、序盤の不安定性が増幅される傾向があります。

Q3: WarmupとGradient Clippingは併用すべきですか?

併用が推奨されます。Warmupは学習率側から安定性を確保し、Gradient Clippingは勾配側から異常値を制限します。両者は補完的な関係にあり、LLaMAやGPT-4では両方が使用されています。