【ぴーちゅーにんぐ】

Pチューニング とは?

公開:
💡 隠し合言葉だけ学習する賢い近道
📌 このページのポイント
Pチューニング(P-Tuning) モデルへの入力トークン列 仮想 トークン1 仮想 トークン2 仮想 トークン3 通常 入力文 通常 入力文 学習対象(仮想トークン) 固定(通常テキスト) 大規模言語モデル (パラメータ凍結・更新しない) タスク出力(分類・生成)
仮想トークンのみ学習し、モデル本体は固定するPチューニングのイメージ
ひよこ ひよこ
ペンギン先生、Pチューニングって普通のファインチューニングと何が違うの?
ペンギン先生 ペンギン先生
普通のファインチューニングはモデル全体のパラメータを更新するけど、Pチューニングはモデル本体は一切触らずに「仮想トークン」だけを学習するんだよ
ひよこ ひよこ
仮想トークンって何なの?
ペンギン先生 ペンギン先生
通常の単語トークンの代わりに、モデルの入力に追加する学習可能な数値ベクトルのことだよ。人間には読めないけど、モデルはその「隠し合言葉」を見てタスクを理解するんだ
ひよこ ひよこ
じゃあモデルを変えずにタスクだけ切り替えられるってこと?
ペンギン先生 ペンギン先生
そうだよ!仮想トークンパラメータだけ入れ替えれば、同じモデルを複数タスクに使い回せるんだ。保存コストも格段に小さくなるね
ひよこ ひよこ
GPT系に特に強いって聞いたけど、なんで?
ペンギン先生 ペンギン先生
GPTは生成モデルだから、入力を自然にプロンプトで制御しやすい設計になっているんだよ。Pチューニングはその特性を最大限活かせるから、NLU(自然言語理解)タスクでBERTと同等以上の成果が出ることもあるんだ
ひよこ ひよこ
ペンギン先生 ペンギン先生
プレフィックスチューニングも仮想トークンを使うけど各Transformer層に挿入するのに対して、Pチューニングは入力層だけに追加する点が違うよ。v2ではPチューニングも各層に拡張されてより強力になったんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Pチューニング」って出てきたら「プロンプト部分だけ学習する軽量ファインチューニング」と思えればだいたいOK!
📖 おまけ:英語の意味
「P-Tuning」 = Pチューニング
💬 「P」はPrompt(プロンプト)の略で、プロンプト部分だけを学習するアプローチだよ
← 用語集にもどる