PEFT

Parameter-Efficient Fine-Tuning

PEFTとは

PEFT(Parameter-Efficient Fine-Tuning:パラメータ効率的ファインチューニング)とは、大規模言語モデル(LLM)のパラメータの一部のみを更新することで、計算コストとメモリ使用量を大幅に削減しながら効果的にモデルをカスタマイズするアプローチの総称です。全パラメータを更新するフルファインチューニングと比較して、同等またはそれに近い性能を実現します。

表:PEFTの要点まとめ
ひとことで言うとモデル全体ではなく、ごく一部のパラメータだけ調整する省エネ手法の総称。
どこで使う限られたGPUでの追加学習、用途別モデルを何種類も作りたいとき。
注意点手法(LoRA・Adapterなど)ごとに得意・不得意がある。大幅な知識追加には不向き。

主なPEFT手法

PEFTには複数の手法が含まれます。LoRA(Low-Rank Adaptation)は重み行列の更新を低ランク近似で行う手法、Prefix Tuningはモデルの各層の先頭に学習可能な仮想トークンを追加する手法、Adapter Layersは既存のTransformer層の間に小さなネットワークを挿入する手法です。また、プロンプトチューニング(Prompt Tuning)は入力埋め込みに学習可能なベクトルを追加する手法で、最もパラメータ数が少ない方式です。

図:PEFTがコストを下げるしくみ
1大きな基盤モデル数十億〜数千億の重み
▶
2大部分を凍結元の重みは触らない
▶
3小さな層を追加ここだけ学習する
▶
4コストが激減GPUメモリも時間も節約
▶
5差分を付け替え用途ごとに切り替え可

PEFTの利点と選択基準

PEFTの主な利点は、計算コストの削減、メモリ効率の向上、元のモデルの知識の保持(壊滅的忘却の軽減)、複数タスク用アダプターの管理容易性です。手法の選択はタスクの複雑さ、利用可能な計算リソース、必要な性能レベルに応じて行います。Hugging FaceのPEFTライブラリにより、これらの手法を統一的なAPIで簡単に利用できるようになっています。