【ぺふと】
PEFT(パラメータ効率的ファインチューニング) とは?
最終更新:
💡 学習するパラメーターを絞って、モデルを適応させる
事前学習済みモデルを、少数の既存または追加のパラメーターを学習して用途に適応させる手法の総称。全体を更新する学習より、更新用のメモリーや保存する学習結果を減らせる。LoRAなどがある。
📌 このページのポイント
PEFTって一つの学習アルゴリズム?
少数のパラメーターを学習して、事前学習済みモデルを用途に適応させる手法の総称だよ。全パラメーターを更新するファインチューニングより、更新に必要な資源や学習結果の保存量を減らせるんだ。
元のモデルの一部を書き換えるの?
ほかにどんな方法がある?
学習できるプロンプトを使うPrompt TuningやPrefix Tuning、特定の層だけを調整する方法などがあるよ。どの部分を学習し、モデルにどう作用させるかは手法によって違うんだ。
学習する数が少なければ、小さなGPU一台で十分?
必ずではないよ。元のモデルや処理するデータの大きさも資源に関わる。学習するパラメーターを減らしても、元のモデルの計算と保存に必要なメモリーがなくなるわけではないんだ。
全体を学習したときと同じ性能になる?
近い結果を目指せるけれど、保証はないよ。手法や学習データ、設定を選び、目的のタスクで評価する。新しいタスクの精度だけでなく、元からできたことへの影響も確認するとよいんだ。
もっと詳しく知りたい人へ
用途ごとにモデル全体を保存する必要はある?
アダプター方式では、用途ごとの小さな学習済みアダプターを保存し、対応するベースモデルと組み合わせる構成が使えます。ベースモデルや設定の互換性が必要で、すべての手法が同じ切り替え・結合機能を持つわけではありません。Hugging FaceのPEFTライブラリーは、このような手法の学習や利用を助けます。
まとめ:ざっくりこれだけ覚えればOK!
「PEFT」って出てきたら「少数のパラメーターを学習して、モデルを用途に適応させる手法群」と思えばだいたいOK!
📖 おまけ:英語の意味
「Parameter-Efficient Fine-Tuning」 = パラメーター効率のよい追加学習
💬 事前学習済みモデルの全パラメーターを更新する代わりに、学習する数を絞る考え方だよ。同じPEFTという名前のHugging Faceのライブラリーもあるんだ。