深層学習のためのAdamWでの重み減衰の設定
AdamWでより良いモデル性能のためにウェイトデケイを調整する方法を学ぼう。
― 1 分で読む
機械学習モデル、特に深層学習モデルを扱うとき、大事な要素の一つがAdamWみたいなオプティマイザーのハイパーパラメータの設定だよ。AdamWは特に大きなモデルでよく使われてて、そのウェイトデケイの管理がモデルとデータセットのサイズが大きくなるにつれてめっちゃ重要だよ。この記事では、AdamWのウェイトデケイを効果的に設定・調整する方法を説明するね。
AdamWって何?
AdamWはAdamっていうアルゴリズムを基にした高度な最適化アルゴリズムなんだ。Adamは適応学習率で知られてるけど、AdamWはウェイトデケイの適用方法を変更してるから、特にニューラルネットワークでパフォーマンスを向上させることができるんだ。ウェイトデケイは大きなウェイトを罰することでオーバーフィッティングを防ぐための正則化手法だよ。
学習率とウェイトデケイの関係を理解する
単純に言えば、学習率はトレーニング中にどれだけウェイトが更新されるかを決めるんだ。AdamWのウェイト更新を考える時は、過去の更新の加重平均みたいに考えるといいよ。これを指数移動平均(EMA)っていうもので調整できるんだ。
EMAのタイムスケールは重要で、ウェイトを調整する時にどのくらい過去の更新を考えるべきかを教えてくれる。重要なのは、EMAのタイムスケールは自然なガイドラインに基づいて設定すべきで、一回のデータセット全体を通すより小さくはしちゃダメだし、エポックの総数よりも大きくもしないことだよ。
モデルサイズとデータセットサイズの関係
モデルとデータセットが大きくなると、ウェイトデケイを適切に設定する方法を理解することが重要だよ。主なポイントは、データセットサイズが増えるにつれて、最適なウェイトデケイは減少する傾向があるってこと。ただし、モデルのサイズを増やすと、ウェイトデケイは増やすべきなんだ。この方法で、さまざまなデータやモデルサイズに対してモデルのパフォーマンスを効果的に保てるんだ。
効果的なワークフローの設定
通常のワークフローは、小さいモデルから始めてアイデアをプロトタイプすることだよ。このプロセスは、通常、一番大きなモデルを一番大きなデータセットでトレーニングする最終結果につながるんだ。このアプローチを成功させるためには、小さいモデルから学んだハイパーパラメータを大きいモデルにどう転送するかを知っておくことが大事だよ。
モデルスケーリング中のウェイトデケイ調整
ハイパーパラメータを調整しながらスケールアップする一般的な戦略は、学習率を変更することなんだ。予想通り、学習率はモデルがどれだけ急速に学ぶかに影響を与えるんだけど、ウェイトデケイと学習率の動きは、モデルが収束に近づくにつれて異なる影響を持つんだ。
この違いのせいで、スケールアップする時に学習率がどう変わるかだけを考えるのは十分じゃなくて、ウェイトデケイもどう調整すべきかを考えることが大事だよ。
AdamWがEMAとして機能する方法
AdamWをEMAで考えると、ウェイト更新の管理が明確になるよ。AdamとAdamWはどちらも勾配を推定するためにEMAを使うけど、AdamWがユニークなのはウェイトそのもののEMAを維持することに注目してるところなんだ。この違いが、学習率とウェイトデケイに関連するハイパーパラメータを設定する助けになるよ。
AdamWを使う時、主に考慮すべきハイパーパラメータはEMAのタイムスケールとモデルの初期化だよ。エポック数に基づいてEMAのタイムスケールを調整することで、間接的にウェイトデケイも設定してることになるんだ。
EMAタイムスケールの適切な範囲を見つける
いろんな実験を通じて、適切なEMAタイムスケールは特定の範囲に収束することが示されてるよ。最適なタイムスケールは、通常、一つのエポックと、計画してるトレーニングエポックの総数の間に位置するんだ。さまざまなタイプのモデルでテストしても、この範囲は一貫してるみたいで、小さいネットワークでも大きな言語モデル(LLM)でも同じなんだ。
データセットサイズ変更の効果をテストする
データセットサイズを変える時、特に増やす時は、ウェイトデケイが固定されないように気をつけたいよ。研究によると、データセットサイズを増やしてバッチサイズを一定に保つと、最適なウェイトデケイは通常減少するんだ。この動きは、大きなデータセットがモデルにもっと情報を捕捉させ、厳格なウェイトデケイが必要なくなることを示唆してるよ。
コントロールされた研究では、ImageNetみたいな大きなデータセットのサブセットでトレーニングされたモデルが、これらのサブセットのサイズが増えるとウェイトデケイも調整が必要になることが示されたんだ。
モデルサイズ変更の効果をテストする
一方で、モデルサイズを増やすと最適なウェイトデケイは実際には増加しなきゃいけないっていう傾向があるよ。この増加は、モデルが成長するにつれて、複雑さを管理するためにもう少しウェイトデケイが必要になるっていう推奨から来てるんだ。実践的な実験を通じて、ウェイトデケイのスケーリングを適切に行うと、異なるタスクに対してモデルのパフォーマンスがもっと一貫してくることが観察されてるよ。
適応学習率の重要性
モデルをスケールアップする時、学習率も調整することが重要なんだ。理想的には、学習率はモデルサイズと共にスケールすべきなんだけど、ウェイトデケイが固定されたままだと安定性の問題が出ることがあるよ。
適切にウェイトデケイを変更しながら学習率を調整すると、大きなモデルの結果がずっと安定するようになるんだ。このアプローチが、さまざまなモデルサイズで一貫したパフォーマンスを維持するのを可能にするんだ。
ハイパーパラメータ転送の課題を乗り越える
小さいモデルから大きいモデルに移行するとき、ハイパーパラメータ(例えばウェイトデケイ)の転送は難しいことがあるんだ。例えば、モデルサイズを考慮せずに単純にウェイトデケイのスケーリング方法を適用すると、大きなモデルの学習効果が損なわれることがあるんだ。
実際には、大きなモデルに対してウェイトデケイを強化しながらEMAのタイムスケールを一定に保つことで、モデルの学習の一貫性が向上することが多いよ。この戦略が、異なる設定でモデルの挙動が安定して保たれることを保証してくれるんだ。
ウェイトデケイがモデル学習に与える全体的な影響
AdamWのウェイト更新を分析する時、ウェイトデケイの調整がモデルの学習に大きな影響を与えることを認識することが重要だよ。ウェイトデケイの大きさが学習されたウェイトの大きさに影響を与えることが分かってるんだ。例えば、どれだけのウェイトデケイを許可するかのバランスを管理することで、モデルが効果的に学べるか、オーバーフィッティングに苦しむかが決まってくるんだ。
AdamWについての一般的な誤解
多くの実践者は、単に学習率を調整するだけでモデルのチューニングが十分だと思いがちなんだ。重要だけど、ウェイトデケイの調整も同じくらい重要なんだ。両方のパラメータが相互に作用してるのを理解して、効果的に学習を最適化するバランスを見つけることが必要だよ。
結論
要するに、モデルとデータセットサイズをスケールさせる時にAdamWのウェイトデケイを設定するのは簡単なことじゃないんだ。EMAのタイムスケール、モデルサイズ、データセットサイズの関係を理解する必要があるんだ。実践的な実験と理論的な洞察に基づいて、覚えておくべき重要なポイントは:
- EMAのタイムスケールはモデルとデータセットサイズが変わっても理想的には一定であるべきだよ。
- データセットサイズを増やすと、一般的に最適なウェイトデケイは減少する。
- モデルサイズを増やすと、通常最適なウェイトデケイは増加する。
- 小さいモデルから大きいモデルにハイパーパラメータを転送する時は、学習率とウェイトデケイの調整に気をつけること。
この理解が、機械学習プロジェクトをスケールさせるときに、大きなモデルが効率的かつ効果的に動作するのを助けてくれるよ。
タイトル: How to set AdamW's weight decay as you scale model and dataset size
概要: We show that weights learned by AdamW can be understood as an exponential moving average (EMA) of recent updates. This gives critical insights for how to set the weight decay in AdamW, and how the weight decay should scale with model and dataset size. In particular, the key hyperparameter for an exponential moving average is the EMA timescale. Intuitively, the EMA timescale can be understood as the number of recent iterations the EMA averages over. Given a fixed learning rate, there is a one-to-one mapping from the EMA timescale to the usual weight decay hyperparameter. Thus, choosing an EMA timescale implicitly sets the weight decay. Importantly, there are natural guidelines for sensible values for the EMA timescale: we need to average over all datapoints, so the EMA timescale should not be (much) smaller than 1 epoch, and we need to forget early updates, so the EMA timescale should not be (much) bigger than the total number of training epochs. In our experiments, we find that optimal EMA timescales are consistent with these guidelines, as are the hyperparameters chosen in recent large-scale LLM pretraining runs (e.g.\ Llama 1+2 and Stable LM). Critically, these guidelines suggest that the optimal EMA timescale should not change (much) as we scale the model and dataset. That implies that as the dataset size increases, the optimal weight decay should fall. Moreover, as the model size increases, the optimal weight decay should also increase (if we follow the muP recommendation for scaling the learning rate).
著者: Xi Wang, Laurence Aitchison
最終更新: 2024-05-22 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2405.13698
ソースPDF: https://arxiv.org/pdf/2405.13698
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。
参照リンク
- https://pytorch.org/docs/stable/generated/torch.optim.AdamW.html
- https://optax.readthedocs.io/en/latest/api/optimizers.html
- https://github.com/microsoft/mup/blob/main/mup/optim.py
- https://github.com/JiahuiYu/slimmable_networks/issues/15
- https://github.com/karpathy/minGPT/blob/master/mingpt/model.py
- https://github.com/microsoft/mup
- https://github.com/microsoft/mup/blob/19814971934ef91dd546f88e913fc963e096d11c/mup/optim.py
- https://github.com/kuangliu/pytorch-cifar/
- https://github.com/omihub777/ViT-CIFAR/tree/main
- https://www.cs.toronto.edu/~kriz/cifar.html
- https://www.image-net.org/download
- https://nips.cc/public/guides/CodeSubmissionPolicy
- https://neurips.cc/public/EthicsGuidelines