PEFT (Parameter-Efficient Fine-Tuning) — パラメータ効率の良いファインチューニング

From Systems analysis wiki
Jump to navigation Jump to search

パラメータ効率の良いファインチューニング(英語: Parameter-Efficient Fine-Tuning, PEFT)は、大規模言語モデル(LLM)のような大規模な事前学習済みモデルを、最小限の計算コストとリソースで特定のタスクに適応させるための一連の手法です。すべてのモデルパラメータを更新する必要がある従来の完全なファインチューニングfull fine-tuning)とは異なり、PEFT手法はモデルの大部分を不変(「凍結」)のままにし、ごく一部の重み(総数の1〜5%未満)のみを変更することに焦点を当てています[1]

このアプローチにより、メモリ、ストレージ、学習時間の要件を大幅に削減でき、強力な基盤モデルの適応プロセスがより利用しやすくなり、破滅的忘却の問題にも強くなります[2]

完全なファインチューニングの問題点

モデルの全パラメータを更新する従来の完全なファインチューニングは、PEFT開発のきっかけとなったいくつかの重大な問題に直面しています:

  • 高い計算コスト: 数千億個のパラメータを更新するには、膨大な計算能力(高性能GPU/TPU)と大容量のビデオメモリ(VRAM)が必要であり、多くの研究者にとって高価で利用しにくいものとなっています。
  • 非効率なストレージ: 新しいタスクごとに、数ギガバイトに及ぶモデルの完全なコピーを保存する必要があり、ディスクスペースの要件が指数関数的に増加します。
  • 破滅的忘却(Catastrophic Forgetting): 新しいデータに適応する過程で、モデルが事前学習段階で得た一般的な知識を「忘れて」しまい、他のタスクでの性能が低下します。
  • 過学習(Overfitting)のリスク: パラメータ数が数十億に及ぶモデルを少量のデータセットでファインチューニングすると、一般的なパターンを学習する代わりに、訓練サンプルを「記憶」してしまう傾向があります[2]

PEFT手法の分類

PEFT手法は、モデルのパラメータをどのように変更するかに基づいて分類できます。主なカテゴリは、追加型、選択型、再パラメータ化型の3つです[3]

追加型手法

この手法では、元のモデルの重みをすべて凍結し、新たに小さな学習可能なモジュールを追加します。

  • アダプター(Adapters): 最も初期の追加型手法です。「ボトルネック」構造を持つ小さなニューラルネットワークモジュールをトランスフォーマーの層の間に挿入します。これらのアダプターの重みのみが学習されます[4]
  • ソフトプロンプトベースの手法(Soft Prompts): モデルの重みを変更する代わりに、入力データに学習可能なベクトル(「仮想トークン」)を追加して、モデルの振る舞いを誘導します。主なバリエーションは以下の通りです:
    • Prompt Tuning: 入力埋め込みにのみ学習可能なベクトルを追加します。
    • Prefix-Tuning: アテンション機構の各層の隠れ状態に学習可能なベクトルプレフィックスを追加し、よりきめ細かい制御を可能にします[5]
    • P-Tuning v2: Prefix-Tuningの考えを一般化し、モデルの全層に学習可能なプロンプトを適用することで、完全なファインチューニングに匹敵する性能を達成します[6]

選択型手法

この手法では、新しいパラメータを追加せず、既存のパラメータの小さなサブセットを選択してファインチューニングします。

  • BitFit: 極めて経済的な手法で、バイアス項と正規化層のパラメータのみをファインチューニングし、全パラメータの0.1%未満しか更新しません。
  • 差分プルーニング(Diff Pruning): 学習可能なマスクを使用して、学習プロセス中に更新すべき重みを動的に決定します[3]

再パラメータ化型手法

このカテゴリは、モデル適応のための重みの変化が低い「内在的ランク」を持つという仮説に基づいています。これらの手法は、フルサイズの重み行列を更新する代わりに、その低ランク表現を更新します。

  • LoRA (Low-Rank Adaptation): 現在最も人気のあるPEFT手法です。重み行列の更新 `ΔW` は、2つの低ランク行列の積 `ΔW = BA` で近似できると仮定します。ファインチューニング中、元の行列 `W` は凍結され、`A` と `B` のみが学習されます[7]
  • QLoRA: LoRAと量子化技術を組み合わせることで、メモリ要件をさらに削減し、650億パラメータを持つモデルを単一のコンシューマ向けGPUでファインチューニングすることを可能にします[8]

性能とリソースの比較

PEFT手法は、コストを劇的に削減しつつ、完全なファインチューニングに匹敵する性能を達成することを可能にします。

PEFT手法の性能と効率の比較
モデル 手法 学習可能なパラメータ (%) ベンチマーク結果 (平均精度) 出典
BERT-Large 完全なファインチューニング 100% 80.4 (GLUE) [4]
BERT-Large Adapters 3.6% 80.0 (GLUE) [4]
LLaMA-7B LoRA 0.83% 74.7% [9]
LLaMA-7B DoRA (LoRAの派生) 0.84% 78.1% [9]

リソース節約におけるPEFTの主な利点:

  • GPUメモリ(VRAM): LLaMA 65Bモデルの完全なファインチューニングには理論上780GB以上のVRAMが必要ですが、QLoRAを使用すると48GB未満のVRAMを搭載したGPUでファインチューニングが可能です[8]
  • ストレージ容量: PEFT後に保存されるチェックポイントは、ギガバイト単位ではなくメガバイト単位です。これにより、完全にファインチューニングされたモデル1つ分の容量で、さまざまなタスクに対応する数百の「アダプター」を保存できます。

応用分野

当初はNLP向けに開発されましたが、PEFT手法は幅広いタスクにうまく適応されています:

  • コンピュータビジョン(CV)とマルチモーダルモデル(VLM): Vision Transformer (ViT)やSegment Anything Model (SAM)のようなモデルを、生物医学分野を含む画像セグメンテーションタスクに適応させます。
  • コード生成と分析: 特定のソフトウェアプロジェクト、内部API、またはコードベースの特性に合わせてLLMを調整します。
  • 生成モデル: Stable Diffusionのような画像生成モデルを、LoRAアダプター(Dreambooth技術)を用いて「スタイル化」します。
  • 音声合成: 特定の声、イントネーション、または感情的な色合いを持つ音声を生成するためにモデルを適応させます。

外部リンク

参考文献

  • Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
  • Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
  • Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. ICML 2019.
  • Li, X.L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
  • Liu, X. et al. (2022). P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks. arXiv:2110.07602.
  • Ben Zaken, E.; Ravfogel, S.; Goldberg, Y. (2021). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-Based Masked Language Models. arXiv:2106.10199.
  • Guo, D.; Rush, A.M.; Kim, Y. (2020). Parameter-Efficient Transfer Learning with Diff Pruning. arXiv:2012.07463.
  • Jiang, Z. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
  • Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
  • Chen, S. et al. (2024). Parameter-Efficient Fine Tuning: A Comprehensive Analysis Across Applications. arXiv:2404.13506.
  • Zhang, J. et al. (2025). Parameter-Efficient Fine-Tuning for Foundation Models. arXiv:2501.13787.

注釈

  1. “Parameter-Efficient Fine-Tuning for Foundation Models”. arXiv:2501.13787. [1]
  2. 2.0 2.1 “5 Problems Encountered Fine-Tuning LLMs with Solutions”. Machine Learning Mastery. [2]
  3. 3.0 3.1 “PEFT: Parameter-Efficient Fine-Tuning Methods for LLMs”. Hugging Face Blog. [3]
  4. 4.0 4.1 4.2 Houlsby, N., et al. “Parameter-Efficient Transfer Learning for NLP”. Proceedings of the 36th International Conference on Machine Learning. [4]
  5. Li, X.L., Liang, P. “Prefix-Tuning: Optimizing Continuous Prompts for Generation”. arXiv:2101.00190. [5]
  6. Liu, X., et al. “P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks”. arXiv:2110.07602. [6]
  7. Hu, E.J., et al. “LoRA: Low-Rank Adaptation of Large Language Models”. arXiv:2106.09685. [7]
  8. 8.0 8.1 Dettmers, T., et al. “QLoRA: Efficient Finetuning of Quantized LLMs”. arXiv:2305.14314. [8]
  9. 9.0 9.1 “Parameter Efficient Fine Tuning: A Comprehensive Analysis Across Applications”. arXiv:2404.13506. [9]