Zero-shotとは
ゼロショット
タスクの例を1つも示さず、指示文だけで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での指示追従性能が大きく向上。
利点
欠点
比較
- Few-shot — Few-shotが例を示して望む出力形式を伝えるのに対し、Zero-shotは指示文だけでタスクをこなさせる
- プロンプトエンジニアリング — Zero-shotで望む結果が得られない場合、プロンプトエンジニアリングにより指示文自体を工夫する対応が取られる
- 指示チューニング — 指示チューニングを経たモデルほど、Zero-shotでの指示追従性能は高くなりやすい
関連用語
よくある質問
Zero-shotが向いているのはどんな場面?
定型的でモデルが理解しやすいタスクや、都度サンプルを用意する余裕がない場面に向いている。出力形式が複雑な場合はFew-shotの方が安定しやすい。
Zero-shotの性能を上げるには?
指示文をより具体的かつ明確に書く、出力形式を明示するなどのプロンプトエンジニアリングの工夫に加え、指示チューニング済みのモデルを使うことが有効。
参考文献
- Research PaperLanguage Models are Few-Shot Learners