テクニカルガイド
ウォームアップおよびコサインアニーリングのスケジュール
ウォームアップでは、トレーニング前に学習率をほぼゼロから緩やかに上昇させ、その後、コサイン アニーリングにより、コサイン曲線に従って学習率を滑らかに減衰させます。
このガイドを聴くAIによるナレーション · ~2 min
概要
Together they stabilize early training and squeeze out better final accuracy, which is why nearly every modern transformer is trained this way.
ディープダイブ
トレーニングが開始されると、モデルの重みはランダムであり、勾配が非常に大きくなる可能性があるため、大きな学習率に直接ジャンプすると、損失のスパイクや発散が生じることがよくあります。特に Adam のような適応オプティマイザーの場合、最初のステップでは分散推定が信頼できません。ウォームアップでは、数百から数千ステップにわたって速度を直線的に増加させることでこの問題を修正します。モデルが安定した足場に立つと、コサイン アニーリングが引き継ぎ、レートがピークの 0.5 * (1 + cos(pi * t / T)) に減衰します。コサイン形状は、早い段階でレートを高く保ち、高速に進行します。その後、徐々に緩やかになるため、オプティマイザーはその周囲で跳ね返るのではなく、適切な最小値に落ち着くことができます。
現実世界の実装
GPT スタイルおよび BERT スタイルの言語モデルでは、ステップの最初の ~1 ~ 2% にわたる線形ウォームアップを使用し、その後コサインがゼロ近くまで減衰します。
ビジョン トランスフォーマー (ViT) は、ImageNet での初期の発散を回避するために、コサイン アニーリングと短いウォームアップを使用してトレーニングします。
Hugging Face Transformers は、ジョブを微調整するための 1 行スケジューラとして `get_cosine_schedule_with_warmup` を提供します。
安定拡散およびその他の拡散モデルはウォームアップによって微調整され、事前トレーニングされた重みを適応させる際の勾配の爆発を防ぎます。
ウォームアップとコサイン アニーリング スケジュールの将来
ウォームアップ プラス コサインは依然として大規模な言語モデルのデフォルト レシピですが、バリアントは広がりつつあります。 Warmup-stable-decay (WSD) は一定のレートを維持し、最後に急激に減衰するため、固定長に再コミットすることなくランを簡単に延長できます。研究者らはまた、ウォームアップがなぜ機能するのか、グラジエントノイズやロスランドスケープ曲率との関連性を研究しており、ウォームアップの長さとピークレートを自動調整するツールが増えており、今日主流となっている手動の試行錯誤が減少している。
実践する
なぜそれが重要なのか
- 費用と予算. アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。
- より明確な判決. 技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。
- 品質管理. より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。
気をつけてください
- 1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。
- インフラストラクチャとメンテナンスのコストは過小評価されがちです。
- システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。
次のステップ
- 実装前にレイテンシ、品質、コストの目標を定義します。
- 現実的な負荷とデータ条件でのベンチマーク。
- エラー、ドリフト、ユーザーへの影響を計測器で監視します。
- スケーリングの前に、ロールバックとインシデント対応のパスを準備します。
探検を続けましょう
よくある質問
What is Warmup and Cosine Annealing Schedules?
ウォームアップでは、トレーニング前に学習率をほぼゼロから緩やかに上昇させ、その後、コサイン アニーリングにより、コサイン曲線に従って学習率を滑らかに減衰させます。これらを組み合わせることで初期のトレーニングが安定し、最終的な精度が向上します。そのため、現代のほぼすべてのトランスフォーマーがこの方法でトレーニングされています。
トレーニング開始時のウォームアップ段階の主な目的は何ですか?
ランダムな重みに対して大きな学習レートで開始すると、損失のスパイクや発散が発生する可能性があるため、ウォームアップではレートを緩やかに上昇させ、初期のステップを安定させます。
コサインアニーリングはどの形状に従って学習率を減衰させますか?
レートは 0.5 * (1 + cos(pi * t / T)) でスケールされ、初期は高いままで最後にはゼロ近くまで滑る滑らかな丘を生成します。
初期段階では分散推定の信頼性が低いため、ウォームアップから特に恩恵を受けるオプティマイザーはどれですか?
Adam の実行分散推定は、最初のステップでは非常に少数のサンプルに基づいているため、有効なステップ サイズが不安定になります。ウォームアップによってこれが緩和されます。
コサインの公式で、T は何を表しますか?
T は、レートがピークからゼロ近くまで減衰する範囲です。 t はその地平線内の現在のステップです。
In the guide’s warmup-plus-cosine schedule, what begins after warmup reaches its target rate?
The guide describes a short linear warmup followed by cosine annealing.