LoRA (Low-Rank Adaptation・Microsoft 2021)(ローラ)
事前学習済みモデルの重みを凍結したまま、低ランク行列(Low-Rank)のみを学習させるパラメータ効率の高い微調整手法。計算リソースとメモリ消費量を劇的に削減しつつ、高性能な適応を実現する。
概要
LoRA(Low-Rank Adaptation)は、大規模言語モデル(LLM)の微調整における「パラメータ効率」を極限まで高めるための革新的な手法である。従来のフルファインチューニングでは、モデルの全重みに対して勾配計算と更新を行う必要があり、モデルサイズに比例して膨大なVRAMと計算資源が必要であった。
LoRAの核心は、事前学習済み重み $W \in \mathbb{R}^{d \times d}$ を凍結(Freeze)し、その変化量 $\Delta W$ を低ランク行列 $B \in \mathbb{R}^{d \times r}$ と $A \in \mathbb{R}^{r \times d}$ の積として近似することにある。数式で表すと $\Delta W = BA$ となり、ここでランク $r$ は元の次元 $d$ に比べて極めて小さい値(例:4〜64)に設定される。これにより、学習対象となるパラメータ数を数百分の一から数千分の一に削減しつつ、モデルの適応能力を維持することが可能となった。
技術特性・スペック
| 項目 | 特徴・指標 | 備考 |
|---|---|---|
| 学習対象パラメータ量 | 全体の0.01%〜数%程度 | $r$ の設定に依存 |
| メモリ消費(VRAM) | フルファインチューニング比で大幅削減 | 勾配・オプティマイザ状態の節約 |
| 推論時レイテンシ | ゼロ(重みマージ後) | $\Delta W$ を $W$ に加算可能 |
| 学習の安定性 | 高い | 事前学習済み重みを変更しないため |
| ストレージ容量 | 数MB〜数百MB程度 | アダプタ部分のみを保存 |
比較表:微調整手法の進化
| 手法 | メカニズム | メリット | デメリット |
|---|---|---|---|
| Full Fine-tuning | 全パラメータの更新 | 最大限の知識獲得が可能 | 極めて高い計算コスト |
| LoRA (2021) | 低ランク行列 $BA$ の追加 | 高効率・低メモリ | 表現力の限界($r$ に依存) |
| QLoRA (2023) | 4-bit量子化 + LoRA | 消費VRAMを極限まで抑制 | 計算時間の微増 |
| DoRA (2024) | 重みの大きさ(Magnitude)と方向(Direction)の分離 | フルFTに近い精度を実現 | 実装・計算の複雑化 |
関連用語との違い
- PEFT (Parameter-Efficient Fine-Tuning): LoRAを含む、学習パラメータを効率的に制御する手法全体の総称。Hugging Faceのライブラリ名としても有名。
- Adapter: 重みの層の間に小さなネットワークを挿入する古い手法。推論時にレイテンシが発生しやすい傾向がある。
- Vera (Vector-based): 行列分解ではなく、ベクトルによるスケーリングを用いるさらに軽量な手法。2024年以降の極小リソース環境向け。
- LoRA+: 学習率を $A$ と $B$ で個別に最適化する手法。学習効率の向上に特化している。
FAQ
Q1: LoRAで学習したモデルは、推論時に遅くなりますか? A1: いいえ。学習完了後に $\Delta W$ を元の重み $W$ に数学的に加算(Merge)することで、単一の行列として扱えるため、推論時のオーバーヘッドは発生しません。
Q2: ランク数 ($r$) は大きくすればするほど良いのでしょうか? A2: 精度向上には寄与しますが、計算コストとメモリ使用量が増加します。また、過学習のリスクも高まるため、タスクの複雑さに応じた適切な $r$ の選択が重要です。
Q3: 最新のLLM開発におけるLoRAの立ち位置は? A3: 2025年現在、LoRAおよびその派生技術(DoRA等)は、個別のドメイン知識を注入するための「標準的なプラグイン」として定着しています。基盤モデル自体は巨大化し続けていますが、カスタマイズ層としてのLoRAの重要性はむしろ増しています。