※ このページは「LoRA+: Efficient Low Rank Adaptation of Large Models」の要約になります。
このページでわかること
- LoRA(Low Rank Adaptation)の限界に対応するため、アダプタ行列AとBに異なる学習率を設定するLoRA+を提案
- LoRA+は、より効率的な特徴学習と性能向上を実現し、特定の学習率比率でファインチューニング速度と精度を向上させる
- 実験結果はLoRA+の有効性を支持し、広範なタスクでの適用が期待される
この論文の対象読者
- LLM のファインチューニングに関心を持つ幅広い層のエンジニアや研究者
LoRA の問題点
LoRAの学習率設定の問題
LoRAは、大規模な言語モデルのファインチューニングの際に、すべてのパラメータを更新するのではなく、低ランクのアダプタ行列(AとB)を更新することで計算コストを削減します。しかし、元々のLoRAでは、アダプタ行列AとBに同じ学習率を設定しています。このアプローチが、特に大きな埋め込み次元を持つモデルにおいて、最適な特徴学習を妨げることが指摘されています。
LoRAの非効率性
LoRAのアダプタ行列AとBが同じ学習率で更新されると、大規模な幅を持つモデルでの特徴学習が非効率になるという問題があります。この非効率性は、LoRAが十分な性能を発揮できない原因となっています。
LoRA+
LoRA+ とは?
LoRA+ は、LoRA手法を改良したもので、大規模言語モデルのファインチューニングの効率と性能を向上させるための手法です。LoRA+ は、LoRAのアダプタ行列AとBに異なる学習率を設定することで、従来のLoRAの限界を克服します。具体的には、行列Bの学習率を行列Aの学習率のλ倍(λ≫1)に設定します。
LoRA+ のメリット
-
効率的な特徴学習:
- LoRA+は、AとBに異なる学習率を設定することで、特徴学習の効率を向上させます。これにより、大規模な幅を持つモデルにおいても効果的にファインチューニングが可能になります
-
性能向上:
- 実験結果に基づき、LoRA+はLoRAと比較して1%から2%の性能向上を示しています。これは、より効果的な特徴学習が行われるためです
-
ファインチューニング速度の向上:
- LoRA+はファインチューニングの速度を最大で約2倍に向上させます。これにより、同じ計算資源でより迅速にモデルを適応させることができます
-
計算コストの維持:
- LoRA+は、LoRAと同じ計算コストでこれらの性能向上を達成します
LoRA+ の手順
-
初期設定:
- LoRAのアダプタ行列AとBを初期化します。一般的に、Bは零行列、Aは小さなランダム値で初期化されます
-
異なる学習率の設定:
- 行列Aと行列Bに異なる学習率を設定します。具体的には、行列Bの学習率を行列Aの学習率のλ倍(λ≫1)に設定します
-
ファインチューニング:
- 設定した学習率を用いて、LoRA+を用いたファインチューニングを行います。このとき、学習率ηAをチューニングすることで最適な性能を引き出します
-
評価と調整:
- ファインチューニングの結果を評価し、必要に応じて学習率やその他のハイパーパラメータを調整します
なぜ異なる学習率を設定するとよいのか?
LoRAのアダプタ行列AとBは、それぞれ異なる役割を持っています:
- 行列A: モデルの入力特徴量を圧縮する役割を担います。これにより、モデルの幅が大きくても効果的に特徴を学習することができます
- 行列B: 圧縮された特徴量を元の次元に戻す役割を担います。これにより、元のモデルのパラメータに対して低ランクの補正が行われます
LoRAの標準設定では、行列AとBに同じ学習率が設定されますが、これは大規模なモデルにおいて非効率です。特に、モデルの幅が大きい場合、行列AとBが同じ速度で更新されると、特徴学習が不十分になることがあります。以下の理由で、異なる学習率を設定することが有効です:
- 行列Aの更新: 行列Aは、圧縮された特徴を学習するために細かい調整が必要です。そのため、学習率を小さくすることで、精度の高い特徴学習が可能になります
- 行列Bの更新: 行列Bは、圧縮された特徴を元の次元に戻すために大きな調整が必要です。そのため、学習率を大きくすることで、効果的に元の次元に戻すことができます
LoRA+ の性能
-
Roberta-baseとGPT-2のGLUEタスクでの性能:
- LoRA+は、MNLI、QQP、SST2、QNLIなどのGLUEタスクにおいて、LoRAと比較して一貫して優れた性能を示しています。特に、難易度の高いタスクにおいて、LoRA+の効果が顕著です
-
Llama-7bモデルでの性能:
- Llama-7bをLoRA+でファインチューニングした結果、Flan-v2データセットやMNLIタスクにおいてもLoRA+が優れた性能を示しています。特にFlan-v2データセットでは、MMLUベンチマークで約1.3%の精度向上が見られました
-
トレーニング速度:
- LoRA+は、トレーニング速度を最大で2倍に向上させることが実証されています。これは、効率的な特徴学習と適切な学習率設定によるものです
まとめ
以上が、LoRA+ の紹介でした。LoRA は Fine-Tuning のときに重要な手法ですが、まだまだ改善の余地があるみたいですね。
おわり。