Re Reference AI

技術

Zero-shotとは

ゼロショット

タスクの例を1つも示さず、指示文だけでLLMに未知のタスクをこなさせる手法

プロンプトエンジニアリングLLM

ひとことで言うと

お手本を1つも見せずに、説明だけでAIにタスクをやらせること。

概要

Zero-shotは、プロンプト内に解答例を1つも含めず、タスクの指示文だけをLLMへ与えてそのタスクをこなさせる手法。 事前学習指示チューニングを通じて幅広い知識とタスク遂行パターンを獲得したLLMは、具体例を見なくても指示文の意味を理解し、妥当な出力を生成できることが多い。 例をいくつか含めるFew-shotと対比され、プロンプトが短く済むため入力トークン数を抑えられる一方、タスクの形式や期待する出力の書式が複雑な場合は、例を示さないと意図通りの出力が得られにくいこともある。 モデルの汎用的な指示追従能力を測る基準としても使われ、Zero-shotでの性能が高いほど、そのモデルが幅広い未知タスクに柔軟に対応できることを示す。

背景

従来の機械学習モデルは、タスクごとに学習データで訓練し直す必要があった。 LLMは大規模な事前学習指示チューニングにより、例を示さなくても指示文の意図を汲んで新しいタスクをこなす能力を獲得しており、Zero-shotはこの能力を引き出すプロンプトの与え方として整理された。

歴史

2020年: GPT-3の論文がFew-shot・One-shot・Zero-shotという3つの設定での性能比較を提示し、Zero-shot性能が広く注目されるきっかけに。 2021-2022年: 指示チューニングの普及により、Zero-shotでの指示追従性能が大きく向上。

利点

  • プロンプトに例を含める必要がなく、入力トークン数を抑えられる
  • 新しいタスクに対しても、都度サンプルを用意せずすぐに試せる
  • モデルの汎用的な指示理解力を測る基準として活用できる

欠点

  • 出力の形式やニュアンスが複雑なタスクでは、例がないと意図通りの出力を得にくい場合がある
  • モデルの指示チューニングの質によって、Zero-shotでの性能に差が出やすい
  • Few-shotと比べて、期待する出力の細かいスタイルを伝えにくい

比較

  • Few-shotFew-shotが例を示して望む出力形式を伝えるのに対し、Zero-shotは指示文だけでタスクをこなさせる
  • プロンプトエンジニアリングZero-shotで望む結果が得られない場合、プロンプトエンジニアリングにより指示文自体を工夫する対応が取られる
  • 指示チューニング指示チューニングを経たモデルほど、Zero-shotでの指示追従性能は高くなりやすい

関連用語

Few-shotプロンプトエンジニアリング指示チューニング

よくある質問

Zero-shotが向いているのはどんな場面?

定型的でモデルが理解しやすいタスクや、都度サンプルを用意する余裕がない場面に向いている。出力形式が複雑な場合はFew-shotの方が安定しやすい。

Zero-shotの性能を上げるには?

指示文をより具体的かつ明確に書く、出力形式を明示するなどのプロンプトエンジニアリングの工夫に加え、指示チューニング済みのモデルを使うことが有効。

参考文献

関連Zenn記事