PEFT(パラメータ効率的ファインチューニング)(ペフト)
大規模モデルのパラメータの大部分を凍結し、ごく一部のパラメータのみを学習するファインチューニング手法群の総称。LoRA、QLoRA、Prefix Tuning、Adapter、IA3等が含まれる。Hugging Face PEFTライブラリとして統一APIが提供されており、数行のコード変更でフルファインチューニングからPEFTに切り替え可能。
PEFTとは
PEFT(Parameter-Efficient Fine-Tuning、パラメータ効率的ファインチューニング)は、大規模モデルのパラメータの大部分を凍結し、追加された少数のパラメータや元のパラメータの一部のみを学習するファインチューニング手法群の総称である。学習パラメータ数を全体の0.01〜5%に抑えることで、計算コスト・VRAMを大幅に削減しつつ、タスク特化の性能を実現する。
なぜPEFTが必要か
| 課題 | フルファインチューニング | PEFT |
|---|---|---|
| VRAMコスト | モデル全重み + 勾配 + オプティマイザ状態 | 凍結重み + 少数パラメータの勾配 |
| ストレージ | タスクごとにモデル全体のコピーが必要 | ベースモデル1つ + 小さなアダプタ |
| 壊滅的忘却 | 元の能力が劣化するリスク | 元の重みが凍結されているため低リスク |
| 学習データ量 | 大量のデータが必要 | 少量のデータでも有効 |
PEFT手法の分類
1. 加算型(Additive Methods)
モデルに新しいパラメータを追加して学習する。
| 手法 | 年 | 追加位置 | 特徴 |
|---|---|---|---|
| Adapter | 2019 | FFN層の後 | 各層にボトルネック構造を挿入 |
| Prefix Tuning | 2021 | Attention入力 | 学習可能なプレフィックストークンを追加 |
| Prompt Tuning | 2021 | 入力埋め込み | ソフトプロンプトを入力に連結 |
| IA3 | 2022 | Attention/FFN | 活性化値にスカラー倍を適用 |
2. 再パラメータ化型(Reparameterization Methods)
既存のパラメータを低ランク表現で効率的に更新する。
| 手法 | 年 | 原理 | 特徴 |
|---|---|---|---|
| LoRA | 2021 | 低ランク行列分解 | 最も広く使われるPEFT手法 |
| QLoRA | 2023 | LoRA + 4bit量子化 | 超省メモリ |
| AdaLoRA | 2023 | ランクの動的割当 | 重要な層にランクを集中 |
| DoRA | 2024 | 方向と大きさの分離 | LoRAの改良版 |
3. 選択型(Selective Methods)
既存パラメータの一部のみを選択して学習する。
| 手法 | 選択基準 | 特徴 |
|---|---|---|
| BitFit | バイアス項のみ | 最もシンプル。全パラメータの0.1%未満 |
| Fish Mask | Fisher情報量 | タスクに重要なパラメータを自動選択 |
Hugging Face PEFTライブラリ
Hugging Faceが提供するPEFT統一ライブラリは、上記の手法を統一APIで扱える:
| 対応手法 | ステータス |
|---|---|
| LoRA / QLoRA | 完全対応 |
| AdaLoRA | 完全対応 |
| Prefix Tuning | 完全対応 |
| Prompt Tuning | 完全対応 |
| IA3 | 完全対応 |
| DoRA | 対応 |
| OFT / BOFT | 対応 |
手法選択ガイド
| 条件 | 推奨手法 |
|---|---|
| 汎用的なタスク適応 | LoRA(r=8〜16) |
| 極度にVRAMが限られている | QLoRA |
| 大量のタスクを1モデルで処理 | LoRA(アダプタ切替) |
| 超少量データ(100件未満) | Prompt Tuning |
| 推論速度への影響をゼロにしたい | LoRA(マージ後) |
| 研究用途で最新を試したい | DoRA / GaLore |
マルチアダプタ運用
PEFTの大きな利点は、1つのベースモデルに複数のアダプタを動的にロード・切替できる点:
- ベースモデル: Llama 3 8B(約16GB VRAM)
- アダプタA: 日本語対話特化(50MB)
- アダプタB: コード生成特化(50MB)
- アダプタC: 医療用語対応(50MB)
リクエストに応じてアダプタを切り替えるだけで、1つのGPUで3つの特化モデルを運用できる。LoRAX、S-LoRA等のサービングフレームワークがこのパターンをサポートしている。
FAQ
Q1: PEFTとファインチューニングの違いは?
ファインチューニングはモデル適応の総称で、PEFTはその中でパラメータ効率を重視する手法群。フルファインチューニング(全パラメータ更新)もファインチューニングの一種だが、PEFTには含まれない。
Q2: どのPEFT手法が最も性能が高い?
タスクとモデルに依存するが、2026年時点ではLoRA/DoRAが最も広く使われ性能も安定している。研究では手法間の差は縮小傾向にあり、実装の容易さとコミュニティサポートの充実度でLoRAが事実上の標準。
Q3: PEFTは画像生成モデルにも使える?
Stable Diffusion/Flux等の画像生成モデルでもLoRAが広く使われている。テキストエンコーダとU-Net/DiTのCross-Attention層にLoRAを適用し、特定の画風・キャラクター・概念を少量の画像(10〜50枚)で学習できる。