【ぺふと】

PEFT(パラメータ効率的ファインチューニング) とは?

最終更新:
💡 学習するパラメーターを絞って、モデルを適応させる

事前学習済みモデルを、少数の既存または追加のパラメーターを学習して用途に適応させる手法の総称。全体を更新する学習より、更新用のメモリーや保存する学習結果を減らせる。LoRAなどがある。

📌 このページのポイント
学習するパラメーターを絞る 全体を更新 PEFTの例 既存の全体を学習 既存の一部を学習 または 追加分 緑:学習 灰:固定 資源の必要量と品質は、モデルや手法で変わる
緑は学習する部分、灰色は固定する部分。PEFTには既存の一部を調整する方法と、学習するパラメーターを追加する方法などがある。面積は実際の割合を表さない。
ひよこ ひよこ
PEFTって一つの学習アルゴリズム?
ペンギン先生 ペンギン先生
少数のパラメーターを学習して、事前学習済みモデルを用途に適応させる手法の総称だよ。全パラメーターを更新するファインチューニングより、更新に必要な資源や学習結果の保存量を減らせるんだ。
ひよこ ひよこ
元のモデルの一部を書き換えるの?
ペンギン先生 ペンギン先生
そうする方法も、学習するパラメーターを追加する方法もあるよ。LoRAでは元の重みを固定し、重みの変化を表す小さな行列を学習する。追加モジュールだけがPEFTというわけではないんだ。
ひよこ ひよこ
ほかにどんな方法がある?
ペンギン先生 ペンギン先生
学習できるプロンプトを使うPrompt TuningやPrefix Tuning、特定の層だけを調整する方法などがあるよ。どの部分を学習し、モデルにどう作用させるかは手法によって違うんだ。
ひよこ ひよこ
学習する数が少なければ、小さなGPU一台で十分?
ペンギン先生 ペンギン先生
必ずではないよ。元のモデルや処理するデータの大きさも資源に関わる。学習するパラメーターを減らしても、元のモデルの計算と保存に必要なメモリーがなくなるわけではないんだ。
ひよこ ひよこ
全体を学習したときと同じ性能になる?
ペンギン先生 ペンギン先生
近い結果を目指せるけれど、保証はないよ。手法や学習データ、設定を選び、目的のタスクで評価する。新しいタスクの精度だけでなく、元からできたことへの影響も確認するとよいんだ。
もっと詳しく知りたい人へ

用途ごとにモデル全体を保存する必要はある?

アダプター方式では、用途ごとの小さな学習済みアダプターを保存し、対応するベースモデルと組み合わせる構成が使えます。ベースモデルや設定の互換性が必要で、すべての手法が同じ切り替え・結合機能を持つわけではありません。Hugging FaceのPEFTライブラリーは、このような手法の学習や利用を助けます。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「PEFT」って出てきたら「少数のパラメーターを学習して、モデルを用途に適応させる手法群」と思えばだいたいOK!
📖 おまけ:英語の意味
「Parameter-Efficient Fine-Tuning」 = パラメーター効率のよい追加学習
💬 事前学習済みモデルの全パラメーターを更新する代わりに、学習する数を絞る考え方だよ。同じPEFTという名前のHugging Faceのライブラリーもあるんだ。

参考資料

← 用語集にもどる