Few-Shotプロンプトとは、大規模言語モデル(LLM)に対して、出力を求める命令文の中に数個の具体例(デモ)を含めて指示を与えるプロンプトエンジニアリングの手法です。事前学習されたモデルのパラメータを更新することなく、例を示すだけでタスクの形式や出力パターンをLLMに理解させ、回答精度を向上させることができます。
Few-Shotプロンプトとは
Few-Shotプロンプトは、AIモデルに対して数個(2〜5個程度)の入力と出力の例をプロンプト内に含めて提示することで、望ましい回答の形式やタスクの内容を理解させるプロンプト手法です。
詳しく解説
LLMは膨大なテキストデータから学習した知識を持っていますが、特定のタスクや独自の出力フォーマットに合わせた回答を得たい場合、指示文だけでは意図が正確に伝わらないことがあります。Few-Shotプロンプトでは、モデルの再学習を行わずに、提示された例から文脈を読み取るコンテキスト内学習の能力を活用します。これにより、出力の揺らぎを抑え、複雑な分類問題や特定のフォーマット変換タスクにおいて生成精度を飛躍的に向上させることができます。プロンプトエンジニアリングの中でも基礎的かつ非常に強力な手法として広く使われています。
具体例・使われ方
例えば、感情分析タスクにおいて「入力: 今日は最高の一日だった -> 出力: ポジティブ」「入力: 電車が遅れて最悪だった -> 出力: ネガティブ」といった例をプロンプト内に2つ提示した上で、「入力: 注文した商品が届いた -> 出力:」と入力を続けることで、モデルに同じ形式で回答させることができます。
似た用語との違い
例を一切与えずに指示のみを与えるZero-Shotプロンプトや、例を1つだけ提示するOne-Shotプロンプトと異なり、Few-Shotプロンプトは複数の例を示すためタスクの意図をより正確に伝えられます。また、モデル自体の重みを再計算して変更するファインチューニングとは異なり、入力テキスト(プロンプト)の工夫だけで出力結果を調整する点に違いがあります。
注意点
提示する例の質や順序によって出力精度が変動する点に注意が必要です。矛盾した例や偏った例を含めると悪影響を及ぼします。また、プロンプトに多くの例を含めるとトークン消費量が増加し、LLMの入力長制限に達したり利用コストが上昇したりするデメリットがあります。