LoRA・PEFT ろーら・ぺふと
低ランク適応パラメータ効率的ファインチューニングQLoRAアダプター軽量ファインチューニングLLM
LoRA・PEFTについて教えて
簡単に言うとこんな感じ!
「巨大なAIモデルを全部書き直さず、薄い追加パーツだけ付け替えてカスタマイズする」技術だよ!70億〜700億パラメータのモデルを全部学習し直すのはGPU代が高すぎる。LoRAは「変化量だけ小さい行列で表現する」トリックで、コンシューマーGPU1枚でも大型モデルをFTできるんだ!
LoRA・PEFTとは
PEFT(Parameter-Efficient Fine-Tuning:パラメータ効率的ファインチューニング) とは、大規模モデルのパラメータ全体を更新せず、少数の追加パラメータだけを学習する ファインチューニング手法の総称です。その代表的な実装が LoRA(Low-Rank Adaptation:低ランク適応) です。
LoRAのアイデアは数学的に優れています。大規模モデルの重み行列(巨大な数値の表)の変化分は、実際には低ランク(情報の次元が低い)で表現できるという仮説に基づき、変化分を2つの小さな行列A・Bの積で近似します。例えば4096×4096の行列の変化分を4096×8と8×4096の2行列で表せば、パラメータ数は約1/500になります。
QLoRA はLoRAをさらに拡張し、モデル本体を4ビット整数で量子化(圧縮)してメモリを削減します。これにより700億パラメータのLlama2モデルが、VRAM 48GBのGPU1枚でファインチューニング可能になります(通常は数百GBのVRAMが必要)。
PEFTの主要手法
LoRAの数学的な仕組み
| 項目 | 内容 |
|---|---|
| 元の重み行列 | W(例:4096×4096 = 1,677万パラメータ) |
| LoRAの近似 | W + ΔW = W + A × B(AはD×r、BはR×D、rはランク) |
| 典型的なランクr | 4〜64(rが大きいほど精度高・コスト高) |
| 削減効果(r=8の場合) | 約1/512のパラメータ数で更新 |
| 推論時 | W + AB(マージして元のモデルサイズに) |
歴史と背景
- 2019年 — Houlsby らがAdapter手法を提案。PEFTの先駆け
- 2021年 — Li & Liang がPrefix Tuningを提案
- 2021年 — Hu らがLoRA論文発表。Transformerの重み行列に適用
- 2022年 — Hugging Face PEFTライブラリ公開。LoRAの実装が誰でも使えるように
- 2023年 — QLoRA論文発表。4ビット量子化+LoRAで大型モデルの民主的FTが実現
- 2023〜 — Llama・MistralなどオープンソースモデルへのLoRA FTが急速に広まる
- 現在 — LoRA-the-Explorer・DoRA・VeRAなど改良版が続々発表
QLoRA vs LoRA 比較
| 観点 | LoRA | QLoRA |
|---|---|---|
| モデル精度 | 高い | LoRAより若干低い場合あり |
| 必要VRAM | 中〜大 | 小(約1/3〜1/4) |
| 学習速度 | 速い | やや遅い(量子化のオーバーヘッド) |
| コスト | 中 | 低 |
| 主な用途 | クラウドGPU | コンシューマーGPU・オンプレ |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| — | 学術・実装手法のため公式規格なし |
関連用語
- ファインチューニング — LLMを業務特化させる追加学習の総称
- 大規模言語モデル(LLM) — LoRAの対象となる大規模言語モデル
- Transformer — LoRAが適用されるアーキテクチャ
- 転移学習 — 事前学習モデルを別タスクに応用する手法
- 過学習 — ファインチューニング時に注意すべき精度劣化
- RAG — LoRA FTの代替アプローチとして比較すべき技術
- 生成AI — LoRAで特化させるモデルが属するAI技術分野