プロンプトチューニング(ソフトプロンプト)とは
Prompt Tuning / ソフトプロンプト / Soft Prompt Tuning
モデル本体の重みを固定したまま、入力の先頭に付ける学習可能な埋め込みベクトルだけを学習してタスクに適応させる手法
最終更新:
概要
プロンプトチューニングは、パラメータ効率の良いファインチューニング(PEFT)手法の1つ。人間が書く自然言語のプロンプトの代わりに、入力トークンの埋め込みの前に「ソフトプロンプト」と呼ばれる学習可能なベクトル列を付け加え、そのベクトルだけを誤差逆伝播で学習する。モデル本体の重みは更新しない。 学習するパラメータはソフトプロンプトの長さ×埋め込み次元だけなので、タスクごとに保存するデータが非常に小さく、1つのモデルを複数のタスクで共有できる。モデルの規模が大きくなるほど、全パラメータのファインチューニングに近い性能が得られると報告されている。 類似手法に、入力層だけでなく各層のAttentionにも学習可能なベクトルを追加するPrefix Tuningや、P-Tuningがある。なお、日本語の記事では、プロンプトの文面を試行錯誤して改善する作業をプロンプトチューニングと呼ぶこともあるが、これはプロンプトエンジニアリングに近い意味での用法。
歴史
2021年にLester、Al-Rfou、ConstantがGoogleでの研究として論文「The Power of Scale for Parameter-Efficient Prompt Tuning」を発表した。同年にはLiとLiangがPrefix Tuningを発表している。
利点
- 学習するパラメータが非常に少なく、タスクごとの保存容量が小さい
- モデル本体を共有したまま、複数のタスクに切り替えられる
欠点
- 小規模なモデルでは全パラメータのファインチューニングより性能が劣りやすい
- 学習したソフトプロンプトは人間が読める文章ではなく、内容を解釈しにくい