プロンプト蒸留とは
Prompt Distillation / Context Distillation
詳細な指示・例を含むプロンプトへの応答パターンを、プロンプトなしでも再現できるようモデル自体に学習させる手法
ひとことで言うと
長い指示文を毎回与える代わりに、その指示に従った振る舞いをモデル自体に覚え込ませる手法。
概要
プロンプト蒸留(Prompt Distillation)とは、詳細な指示や例を含む長いプロンプトを与えたときのモデルの応答パターンを、そのプロンプトなしでも再現できるよう、モデル自体のパラメータに学習させる手法。 知識蒸留が、大きな教師モデルの出力(振る舞い)を小さな生徒モデルに学習させる手法であるのに対し、プロンプト蒸留はプロンプトあり・なしの2通りの出力を比較する。 それによって、プロンプトが持つ効果自体を同一モデル(あるいは別モデル)のパラメータの中に埋め込もうとする。 推論のたびに長いプロンプトをコンテキストに含める必要がなくなるため、入力トークン数の削減による推論コストの低減や、システムプロンプトの内容を外部から見えにくくする効果が期待できる。
比較
- 知識蒸留 — 知識蒸留が教師モデルの出力を生徒モデルに学習させる手法であるのに対し、プロンプト蒸留は特定のプロンプトが持つ効果をモデル自体のパラメータに学習させる手法
- ファインチューニング — プロンプト蒸留は、プロンプトによる振る舞いの変化を学習データとして、ファインチューニングの一種として実施されることが多い
- システムプロンプト — プロンプト蒸留は、システムプロンプトなど固定的に使われるプロンプトの効果をモデルに埋め込み、実行時にそのプロンプトを省略できるようにする手法として使われる