AI・機械学習

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の主要手法

PEFT の主要手法 LoRA 重み行列の変化分を 低ランク行列で近似 ✓ 高精度 ✓ 最も普及 ✓ 元モデル改変なし 推論時に アダプターが必要 Prefix Tuning 入力の先頭に学習可能な 「prefix」トークンを追加 ✓ 実装がシンプル ✓ モデル改変なし △ LoRAより精度  が劣る場合あり Adapter Transformerの各層に 小さなアダプター層を挿入 ✓ タスク別に  アダプター切替可 △ 推論時に  レイテンシ増加

LoRAの数学的な仕組み

項目内容
元の重み行列W(例:4096×4096 = 1,677万パラメータ)
LoRAの近似W + ΔW = W + A × B(AはD×r、BはR×D、rはランク)
典型的なランクr4〜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 比較

観点LoRAQLoRA
モデル精度高いLoRAより若干低い場合あり
必要VRAM中〜大小(約1/3〜1/4)
学習速度速いやや遅い(量子化のオーバーヘッド)
コスト
主な用途クラウドGPUコンシューマーGPU・オンプレ

関連する規格・RFC

規格・RFC番号内容
学術・実装手法のため公式規格なし

関連用語