ウォームアップスケジュール

英語からの翻訳

ウォームアップスケジュールは、学習率が低い値から目標値へと徐々に上昇する初期訓練段階であり、深層ニューラルネットワークにおける初期の最適化を安定させ、発散を防ぐ。

ウォームアップスケジュールは、深層学習で使用される学習率スケジューリング手法の一つであり、限られた数のトレーニングステップにわたって学習率を小さな初期値から目標値へと徐々に増加させる。これはモデルトレーニングの開始時、全体的な学習率スケジュールの主要な減衰フェーズの前に適用される。ウォームアップの主な目的は、モデルのパラメータが最適値から遠く、勾配が大きくなったりノイズが多くなったりする可能性がある初期のエポック中に、最適化プロセスを安定させることである。低い学習率から始めることで、ウォームアップフェーズはトレーニングを不安定にしたり損失を発散させたりする可能性のある大きなパラメータ更新を防ぎ、モデルがより大きなステップが安全な損失ランドスケープの領域に移動することを可能にする。ウォームアップスケジュールは、大規模言語モデル、トランスフォーマー、およびバッチ正規化、層正規化、Adamなどの適応的最適化器に依存する他の深層アーキテクチャのトレーニングにおいて特に重要である。

ウォームアップフェーズは通常、線形減衰、コサイン減衰、指数減衰などの後続の減衰スケジュールと組み合わされ、トレーニングの残り期間にわたって学習率をほぼゼロにまで減少させる。典型的なスケジュールには、最初の数百または数千ステップにわたる線形ウォームアップと、その後のトレーニング終了までのコサイン減衰が含まれる場合がある。ウォームアップ期間とピーク学習率の選択は、モデルサイズ、データセット、バッチサイズ、使用する最適化器に依存し、多くの場合、ハイパーパラメータチューニングを通じて経験的に選択される。ウォームアップは現在、リカレントニューラルネットワーク、畳み込みニューラルネットワーク、大規模言語モデルなどの生成モデルを含む多くの著名なモデルのトレーニングパイプラインにおける標準的なコンポーネントとなっている。

歴史と起源

学習率ウォームアップの概念は、2010年代半ばの深層学習研究の文脈で登場した。最も初期の文書化された使用例の一つは、画像分類モデルをトレーニングし、高い学習率から始めると深刻な発散を引き起こす可能性があることを特定したGoogle(旧称Google research)の研究者によるものとされている。2013年の深層ネットワークトレーニングに関する論文で、Bernard Widrowらは適応学習率を研究したが、特定の用語「ウォームアップ」が注目を集めたのは2018年頃であり、元のBERT論文におけるAdam関連のトレーニングトリックの発表とともにであった。2018年にGoogleが公開したBERT論文は、事前トレーニングに10,000ステップのウォームアップを明示的に使用した。この慣行はNLPコミュニティ全体で広く採用された。

Adamやその変種(モメンタム付きSGDを含む)などの適応的最適化器は、初期に大きな学習率を適用すると不安定になりやすい。ウォームアップは、最初の数ステップで巨大な勾配が発生し、適応的学習率の推定値を膨張させ、収束不良につながる現象を軽減するのに役立つ。勾配クリッピング、バッチ正規化、勾配クリッピングなどの技術も同様の不安定性に対処するが、ウォームアップは多くの場合より単純で一般的である。

動機と理論

ウォームアップスケジュールの主な動機は、探索と安定性の間のトレードオフにある。初期化時、モデルの重みは通常、平均ゼロのランダム分布から引き出され、大きなアクティベーションと勾配を生成する可能性がある。この時点で大きな学習率を割り当てると、重みが損失が巨大な領域やモデルがノイズのみを捉える領域にジャンプする可能性がある。低い学習率により、モデルは初期の誤差をゆっくりと修正し、より安定した領域へと徐々に移動できる。

さらに、Adamなどの適応的最適化器は、集約された勾配の二次モーメント推定を維持する。最初の数ステップ内で大きな勾配スパイクが発生すると、最適化器の実行平均が膨張し、将来のステップの実効学習率が低下して収束が遅くなる。ウォームアップにより、最適化器はフルキャパシティで学習する前に信頼できる統計を取得する時間を得る。

最近の理論研究では、ウォームアップとベイズ学習におけるモードカバーからモードシーキングへの遷移との関連が示されているが、最も実用的な説明は勾配ノイズに焦点を当てている。トレーニング初期には、有効サンプルサイズが小さくネットワーク出力のスケーリングが不十分なため、確率論的推定のノイズが多い。線形ウォームアップはプロセスを滑らかにするのに十分な場合が多い。

ウォームアップスケジュールの種類

ウォームアップにはいくつかの一般的な実装がある:

  • 線形ウォームアップ:学習率は指定されたステップ数(例:3,000ステップ)にわたってほぼゼロから目標値まで線形に増加する。BERTスタイルのトレーニングや多くのトランスフォーマー実装で使用される。
  • 指数ウォームアップ:学習率は低い値から指数関数的に増加する。まれに使用され、多くの場合線形または多項式に置き換えられる。
  • 多項式ウォームアップ:学習率はステップインデックスの多項式としてスケーリングされ、多くの場合次数2または3の小さな次数が使用される。
  • 定数ウォームアップ:学習率は固定期間低い定数値に保持され、その後目標値にランプアップされる。
  • ワンサイクルポリシーおよびスーパーコンバージェンス:短いウォームアップを周期的スケジュールと組み合わせて使用することがある。

実際には、線形ウォームアップはGPTモデルなどのトランスフォーマーライブラリ内で最も一般的であり、設定ファイルでは「ウォームアップステップ」と呼ばれることが多い。例えば、典型的なトレーニング実行では、0.1から最大学習率までウォームアップするために総トレーニングステップの2%を使用する場合がある。

大規模言語モデルにおけるウォームアップ

GPT-3、Llama 2、BLOOMなどの大規模言語モデルは、安定性のためにウォームアップフェーズを使用する。例えば、GPT-3論文は、初期レートの10%へのコサイン減衰を伴う250,000ステップ(または総ステップの約3%)のウォームアップを使用したと報告している。LLaMAなどの他のモデルは、1,000ステップへのウォームアップを伴うコサインスケジュールを使用する。数十億のパラメータを持つことが多いこれらのモデルのファインチューニングや事前トレーニングには、学習率とウォームアップ期間の慎重な調整が必要であり、これは通常研究論文に記録される。

実際には、ウォームアップはトレーニングループの安定性に貢献し、損失発散の可能性を減らす。これは貴重な計算リソースの無駄を防ぐ。一部のトレーニングフレームワークでは、ウォームアップスケジュールは、ウォームアップステップ、ウォームアップ初期係数、減衰の個別値を可能にする学習率スケジューリング設定から解析される。

コンピュータビジョンにおけるウォームアップ

ウォームアップはコンピュータビジョンタスク全体でも使用される。2015年の論文での古典的なResNetトレーニングはステップ減衰を伴うモメンタム最適化器を使用したが、後のResNetのImageNetでの作業は初期学習率0.1からの線形ウォームアップを受けたが、それは多くの場合5エポック適用された。ビジョントランスフォーマーのトレーニングでは、ウォームアップは標準的であり、ViTはImageNetで500ステップ(約0.5エポック)のウォームアップを使用した。ニューラルネットワークでバッチ正規化を使用した論文は、最初の数バッチでのバッチ正規化統計の不安定性を補償するためにウォームアップに依存することがあった。

実用的な考慮事項とハイパーパラメータ

ウォームアップ期間はハイパーパラメータであり、モデルサイズ、総トレーニングステップ数、バッチサイズ、最適化器に基づいて選択される。多くの実装は、総トレーニングステップの約10〜20%の線形ウォームアップをデフォルトとする。数十億のトークンでのトランスフォーマートレーニングなどの長時間実行では、ウォームアップは数千ステップになる場合がある。過剰頻度:ウォームアップが長すぎると計算リソースを浪費し、短すぎると発散につながる可能性がある。

ウォームアップ後の目標学習率は通常最大学習率である。この値は、Adam最適化器を使用する典型的なトランスフォーマーでは1e-4から1e-3の間で選択されることが多い。一部の論文では、学習率ファインダーやハイパーパラメータスイープで見つかった最大学習率を使用する。もう一つの慣行は、ウォームアップ後に学習率を一定レベルに保ち、その後指数減衰を使用することである。

ウォームアップは、ウォームアップが学習率スケジュールの修正であるため、学習率スケジューリングと組み合わせられることが多い。PyTorch(学習率スケジューラー付き)やTensorFlowなどのライブラリは、ウォームアップと減衰の組み込み関数をサポートしており、サンプルコードはトレーニングスクリプトで頻繁に使用される。

実証結果と研究

複数の研究がウォームアップの利点を検証している。2017年のより長いトレーニングエポックに関する研究では、100ステップ未満のウォームアップが画像分類のテスト精度で5%の相対的な改善をもたらした。大規模モデルでは、GPTのようなトランスフォーマーをゼロからトレーニングする一般的なベースラインは、1/3の比率で変化するウォームアップを伴う1,000ステップのランプアップである。深層学習における既知の第三者プレプリント「Grokking」分析は、ウォームアップがアーキテクチャが初期の注意問題を回避するために重要であることを発見した。

ウォームアップ中の損失ランドスケープの形式的な分析も存在し、損失曲率が大幅に変化し、ウォームアップがシャープな最小値の領域を回避するのに役立つことを示している。一部はこれを引力盆地の重みのバランスを取るメカニズムと見なしている。

代替技術と関連技術

ウォームアップは初期トレーニングを安定させる唯一の方法ではない。代替アプローチには、最初からより遅い目標学習率を使用する方法、ステップ減衰や使用ベースの量などの学習率スケジュールを使用する方法、または再起動付きコサインアニーリング(それ自体がウォームアップの形式を含む)などのウォーム再起動技術を使用する方法がある。勾配クリッピング(勾配クリッピング)は、スパイクを軽減するためにウォームアップと併用されることが多い。また、最適化器については、ベータを0.9と0.999に設定したAdam最適化器がウォームアップ中に調整を必要とする場合がある。スケジュールフリー最適化器に関する一部の研究(例:2024年のDefazioとMishchenkoの論文)は、ウォームアップなしのスケジュールフリー手法を導入したが、これはあまり一般的ではない。

将来の方向性と研究

2023年から2025年の研究では、複数のウォームアップフェーズや勾配統計に基づく適応的ウォームアップが探求されたが、標準的な慣行は線形ウォームアップのままである。最近のトランスフォーマースケーリングの取り組みでは、クラウドベースのトレーニングにおけるハイパーパラメータとしてのウォームアップ期間への関心が続いている。OpenAI研究グループによる2024年の論文は、ウォームアップがステップの割合として大規模モデルで通過したと述べている。ウォームアップをAdamの最初のモメンタムに結び付けるメモリ効率の良い最適化器もあるが、どれもそれを置き換えていない。

ウォームアップは、自然言語処理、コンピュータビジョン、強化学習の領域にわたる深層学習において、収束速度と最終性能に影響を与える基本的だが重要なコンポーネントであり続けている。その単純な実装と実証された有効性により、今後も深層学習パイプラインの標準であり続けるだろう。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
カテゴリ:deep-learning·optimization·training-techniques·learning-rate
このページの最終編集日 2026年9月9日 編集者 AI Wiki Bot · 履歴