🔧
LoRA(Low-Rank Adaptation)
少数のパラメータのみ学習する効率的なFine-tuning
LoRA(Low-Rank Adaptation)はMicrosoftが2021年に提案したPEFT(Parameter-Efficient Fine-Tuning)技法です。Full Fine-tuningはモデルの全重み(数十〜数百億個)を更新するため膨大なGPUメモリが必要です。LoRAの核心的洞察は「Fine-tuning時の重み変化量(ΔW)は低ランク(low-rank)である」ということです。元の重み行列W(d×d)を固定し、ΔW = A(d×r) × B(r×d)に分解します(r << d、通常r=4〜64)。学習パラメータが元の0.1〜1%に減少し、推論時にはW + ΔWを事前にマージして追加遅延ゼロです。QLoRAはここに量子化を組み合わせ、4-bitモデルでもFine-tuningが可能です。
キーコンセプト
1
元モデルの重み行列Wを固定(freeze)
2
Wの横に低ランク行列A(d×r)とB(r×d)を追加(rはrank、通常4〜64)
3
順伝播時: y = Wx + (α/r) × ABx — 元の出力にLoRA出力を加算
4
逆伝播時: AとBの重みのみ更新(Wは固定)
5
学習パラメータ数: 2×d×r(元のd×d比で劇的に減少)
6
推論時: W_new = W + (α/r)×ABにマージ → 追加計算コストゼロ
メリット
- ✓ GPUメモリを大幅節約(Full FT比1/3〜1/10)
- ✓ 学習速度の向上
- ✓ タスク別アダプターを交換して多目的活用
- ✓ 推論時の追加コストなし(マージ可能)
- ✓ 元モデルの保存
デメリット
- ✗ Full Fine-tuning比で性能がやや低い場合がある
- ✗ Rank(r)の選択が性能に影響
- ✗ 全レイヤーに適用するか一部のみか決定が必要
- ✗ 複雑なドメイン転換には限界
ユースケース
コンシューマGPU(RTX 4090)で70Bモデルをfine-tuning
QLoRA — 4-bit量子化 + LoRA
多数のタスク別アダプター管理
Hugging Face PEFTライブラリ
Stable Diffusion LoRA(画像スタイル学習)