学習率ウォームアップの計算
入力
| ピーク学習率 | 0.0003 |
|---|---|
| 最小学習率 | 3e-5 |
| ウォームアップステップ数 | 2,000 |
| 総ステップ数 | 100,000 |
| 現在のステップ | 1,000 |
学習率ウォームアップの計算
標準的なTransformerのスケジュール(ピークまでの線形ウォームアップと、その後のコサイン減衰)に従って、任意の学習ステップでの学習率とウォームアップの割合を求める。
入力
スケジュール
結果
値を入力すると計算結果が表示されます。
詳細
学習率ウォームアップ
学習率はニューラルネットワークの学習で最も影響の大きいハイパーパラメータであり、最新のTransformerでこれを一定に保つことはまれです。標準的なレシピは、最初の数ステップで0からピークまで立ち上げ、その後は残りの学習を通じてコサイン曲線に沿って小さな下限へと減衰させます。この計算では、そのスケジュールのもとで任意のステップにおける学習率と、ウォームアップに費やす学習の割合を求めます。
学習率が時間とともに変わる理由
学習の初めは重みがランダムで、オプティマイザが保持する勾配統計量の推定値も当てになりません。そのため大きな更新は損失を発散させかねません。学習率が0から線形に上がる短いウォームアップは、オプティマイザが安定するまで初期の更新を小さく保ちます。ウォームアップが終わると高い学習率が前進を速めますが、最後まで高いままにすると、モデルは極小点付近で揺れ続け、収束しきりません。学習率を、ここではコサイン曲線に沿って減衰させることで、序盤は大きく、収束につれて次第に細かく踏み出せるようになります。
スケジュール
学習率は2つの局面で決まります。ウォームアップ中、現在のステップ がウォームアップ長 以下のあいだは、学習率はピーク まで線形に上がります。ウォームアップ後は、総ステップ までの残りにわたって、ピークから下限 へとコサイン減衰します。
ηη=ηmaxws=ηmin+21(ηmax−ηmin)(1+cosS−wπ(s−w))(s≤w)(s>w)ウォームアップの割合は単純に です。減衰の中点ではコサイン項が0になるため、学習率はピークと下限のちょうど中間に位置します。
計算例
ピーク0.0003、下限0.00003、ウォームアップ2,000ステップ、総ステップ100,000を考えます。まだウォームアップ中の第1,000ステップと、減衰の中点である第51,000ステップでの学習率は次のようになります。
η1000η51000=0.0003×20001000=0.00015=0.00003+21(0.0003−0.00003)(1+cos2π)=0.000165ウォームアップの半分の時点で学習率はピークの半分です。コサインが0となる減衰の中点では、ピークと下限のちょうど中間に着地します。ここでのウォームアップは100,000ステップのうち2,000ステップ、すなわち学習の2%を占めます。
値の選び方
ピーク学習率はスケジュールを支配し、通常は経験的に求めます。多くは、損失が改善しなくなるまで学習率を上げるレンジテストを使います。大規模Transformerで公表されているピークはおおむね1e-4から6e-4の範囲に収まることが多く、ピークはバッチサイズに比例する傾向があるため、実効バッチサイズを変えると再調整が必要になるのが普通です。ウォームアップは数百から数千ステップ、しばしば学習のわずかな割合が典型です。下限はピークの10分の1程度に設定されることが多く、完全に減衰させたい場合は0にします。
限界
フレームワークには、このモデルが捉えない細部があります。スケジュールをステップではなくトークンで測るもの、下限をピークに対する比で与えるもの、末尾に一定値や線形の区間を加えるものなどです。ここで扱う「コサイン+ウォームアップ」形は一般的な既定ですが、適切なハイパーパラメータは問題ごとに異なるため、実験で確認すべきです。所与のステップ数が表す計算量はLLM学習時間とコストの計算が、その背後のハードウェア費用はGPU クラウド費用を計算が概算します。
よくある質問 (FAQ)
ピークから始めず学習率をウォームアップさせるのはなぜですか。
学習の初期はオプティマイザが信頼できる情報をほとんど持ちません。適応的な手法は勾配の統計量の推定値にノイズが多く、ランダムに初期化された重みは大きく不安定な更新を生みます。この状態でいきなりピークの学習率を使うと、学習が不安定になったり発散したりすることがあります。
最初の数ステップで学習率を徐々に上げると、更新が小さいうちにオプティマイザが落ち着き、その後はピークの学習率を安全に使えます。ウォームアップは、初期の不安定さが際立つ大きなバッチサイズや深いTransformerで特に重要です。
このツールはどのスケジュールをモデル化していますか。
最新のTransformer学習で最もよく使われるスケジュールをモデル化しています。すなわち、ウォームアップステップにわたって0からピークまで線形に立ち上げ、その後は残りのステップでピークから最小へとコサイン減衰させるものです。コサイン形は減衰の前半で高い学習率の近くに長くとどまり、終盤は下限へ緩やかに収まるため、経験的に良好に学習します。
一定値・線形減衰・逆平方根・ステップ減衰など他のスケジュールもありますが、線形ウォームアップとコサイン減衰の組み合わせが一般的な既定であり、本ツールはこれを再現します。
ピーク学習率はどのように選びますか。
ピーク学習率はスケジュールで最も重要なハイパーパラメータで、通常は経験的に求めます。多くの場合、損失が改善しなくなるまで学習率を上げていく短いレンジテストを行い、そこから少し戻します。
大規模Transformerで公表されている値は、最大級のモデルでおおむね1e-4から6e-4の範囲に収まることが多く、小さいモデルはやや高い学習率にも耐えます。ピークはバッチサイズに比例して変わる傾向があるため、実効バッチサイズが変われば再調整が必要になるのが普通です。
免責事項
これは一般的な「線形ウォームアップ+コサイン減衰」スケジュールを再現したものです。実際のフレームワークは、減衰をステップで測るかトークンで測るか、下限をどう与えるかといった細部が異なります。最適なハイパーパラメータは問題ごとに異なるため、実験で確認してください。