AI・機械学習
上級
LoRA+ ファインチューニング(ローラプラスファインチューニング)
LoRAのA/B行列に異なる学習率を設定する改良手法。B行列をA行列より大幅に高い学習率(デフォルト16倍)で学習することで収束速度と精度を向上させる。Hayou et al. 2024提案。
0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
LoRA+
PEFT
ファインチューニング
学習率
パラメータ効率化
LLM
LoRA+ ファインチューニング
LoRA+(LoRA Plus)は、2024年にHayou et al.が提案したLoRAの改良手法。LoRAのA行列とB行列に同一の学習率を使うのが非効率であることを理論的に示し、B行列の学習率を大幅に引き上げることで収束を改善する。
LoRAの基本構造
LoRAはLLMのウェイト行列 W を凍結し、低ランク行列 B×A の積を追加学習する:
W'(x) = W(x) + (B × A)(x)
- A: ランダム初期化(形状: r × d_in)
- B: ゼロ初期化(形状: d_out × r)
- r: ランク(通常4〜64)
LoRA+の改良点
LoRA+の核心は学習率の非対称設定:
# LoRA(通常)
optimizer = AdamW([
{"params": lora_A, "lr": 1e-4},
{"params": lora_B, "lr": 1e-4}, # 同じ学習率
])
# LoRA+
optimizer = AdamW([
{"params": lora_A, "lr": 1e-4},
{"params": lora_B, "lr": 16e-4}, # B行列は16倍
])
実験結果
| ベンチマーク | LoRA | LoRA+ | 改善 |
|---|---|---|---|
| GLUE (RoBERTa) | 86.2 | 87.1 | +0.9 |
| MT-Bench | 7.2 | 7.4 | +0.2 |
| 収束ステップ | 100% | 〜60% | 40%削減 |
実装の簡単さ
LoRA+はLoRAの学習率設定を変えるだけで実現できる:
- 追加パラメータなし
- 推論コスト変化なし
- HuggingFace PEFTライブラリで設定可能
まとめ
LoRA+は「LoRAをほぼそのまま使いながら精度と速度を改善したい」場合の最初の選択肢。実装コストがほぼゼロで効果が出やすい実用的な改良。