AdaMeZO:GPU メモリにモーメントを保存せずAdam方式でLLMをファインチューニング
AdaMeZOはゼロ次最適化器で、Adamアルゴリズムの利点とMeZOのメモリ効率を組み合わせてLLMをファインチューニングする。前向きパスのみを使用し、MeZOと比較して最大70%のパス数削減を達成しつつ、収束性を改善する。
この記事はAIにより一次情報源から生成されました。
研究者のZhijie Cai、Haolong Chen、Guangxu ZhuはAdaMeZOを発表した。これは人気のAdamアルゴリズムの利点を大語言モデル(LLM)のファインチューニングにもたらすゼロ次最適化器であり、GPUメモリにモーメントを保存する必要がない。
なぜGPUメモリはLLMファインチューニングのボトルネックなのか?
ニューラルネットワークの学習に標準的に使われるAdam最適化器は、モデルの各パラメータについて2つの統計を追跡する:一次モーメント(勾配の移動平均)と二次モーメント(勾配二乗の移動平均)。数十億パラメータのモデルでは、これがメモリ需要を3倍にする。MeZOは前向きパスのみを使い真の勾配を計算しない先行手法でメモリ問題を解決するが、パラメータごとの適応的な学習率調整がないため収束が遅い。
AdaMeZOはいかに両者を組み合わせるか?
AdaMeZOはAdamのモーメントを永続保存せずに推定する:重みをランダムに摂動させ、損失(loss)の変化を測定することで、各最適化ステップにおいてオンザフライで適応的なモーメント動作を再構築する。結果として、Adamのように動作する最適化器が実現される——推定された損失面の幾何学的形状に基づいて学習率を適応的に調整しながら、メモリフットプリントはMeZOと同等に保たれる。
最適化軌跡の可視化が示すものは何か?
著者たちはさまざまな損失面における最適化軌跡の可視化を示し、AdaMeZOがパラメータ空間の平坦な部分と曲がった部分を適応的に進む様子を実証している。MeZOはより均一な動きをする。定量的には、AdaMeZOは同じパフォーマンスレベルに達するのに前向きパスを最大70%削減し、元のMeZOと比べて収束性が改善されている。
よくある質問
- ゼロ次最適化器とは何か、何のために使うのか?
- ゼロ次最適化器は、真の勾配を逆伝播で計算せず、前向きパスのみで勾配を推定する。これにより、勾配やオプティマイザの状態を保存する必要がなく、GPUメモリ需要が大幅に削減される。
- なぜAdamはMeZOのアプローチでSGDを直接置き換えられないのか?
- AdamをMeZOに直接適用すると、Adamが各パラメータの一次・二次モーメントを追跡するため、メモリ需要が3倍になる。AdaMeZOはモーメントを永続保存せずに推定することでこの問題を回避する。
- AdaMeZOはMeZOより何倍効率的か?
- AdaMeZOは同じメモリ効率レベルで、標準MeZOと比べて最大70%少ない前向きパス数で同じパフォーマンスを達成する。同じメモリ制約のもとでより速く収束することを意味する。