Few-shot / Zero-shot Learning
AIに指示するとき「例を見せるか・見せないか」で結果がガラッと変わります。Zero-shot(例なし)と Few-shot(例あり)の違い・使い分け・Before/After を、公式ソースに沿って小中学生でも分かるレベルに超訳します。
ざっくり言うと
「shot(ショット)」は 「お手本の数」 だと思ってください。0 ショット = 例なし、1 ショット = 例1個、Few ショット = 数個、というネーミングです。
イメージ
正確には
「Few-shot Learning」という言葉をかなり広めたのは、OpenAI の研究チームが 2020 年に出した論文 「Language Models are Few-Shot Learners」(GPT-3 の論文、arXiv:2005.14165)です。この論文では、追加で学習させなくても、プロンプトの中にお手本をいくつか入れるだけで、AI が新しいタスクをこなせることが示されました。これを in-context learning(文脈内学習) と呼びます。
OpenAI の公式ドキュメント「Prompt engineering」でも、効果の高いテクニックとして 「例を示すこと(Provide examples)」 が挙げられています。Anthropic(Claude を作っている会社)の公式ドキュメントには 「Use examples (multishot prompting) to guide Claude's behavior」 というページがあり、例を見せることが Claude の出力を望む形に揃えるうえで最も効果的な方法の1つだと書かれています。Google の Gemini 公式ガイドでも、プロンプト設計の中核戦略として Few-shot examples が紹介されています。
つまり、主要 3 社(OpenAI / Anthropic / Google)が揃って「例を入れろ」と言っているわけです。
用語の整理
| 用語 | 例の数 | ざっくり何? |
|---|---|---|
| Zero-shot | 0 個 | 例を一切示さず、指示だけ渡す |
| One-shot | 1 個 | お手本を1つだけ示してから指示 |
| Few-shot | 数個(2〜数十) | お手本を複数示してから指示 |
Zero-shot で十分なケース / Few-shot が効くケース
- Zero-shot で十分:翻訳・要約・一般常識の質問など、AI がすでに大量に学習している「よくあるタスク」
- Few-shot が効く:出力の フォーマット(JSON 形式、箇条書きの粒度、文体)を細かく揃えたいとき / 独自の判断基準(社内ルール、特殊な分類)を伝えたいとき / Zero-shot だと答えがブレるとき
Before / After で見る違い
ここからは実際のプロンプト例で違いを見てみましょう。
例1:カスタマーレビューの感情分類
例2:メールの文体を揃える
やってみよう
関連する用語として、プロンプトそのものの考え方は プロンプト、思考の手順をAIに見せるテクニックは Chain of Thought、AIに役柄を割り当てる手法は ロールプロンプト の記事でそれぞれ扱います。Few-shot は 「フォーマット・トーンを揃えるための型紙」、Chain of Thought は 「考え方の道筋を見せるための補助線」 だと押さえておくと、組み合わせて使えるようになります。
参考ソース
- OpenAI - Prompt engineering best practices(Tier 1)
- Anthropic - Use examples (multishot prompting) to guide Claude's behavior(Tier 1)
- Google for Developers - Prompt design strategies (Few-shot examples)(Tier 1)
- Brown et al., 2020 - Language Models are Few-Shot Learners (GPT-3 論文, arXiv:2005.14165)(Tier 1)
UPDATES
新着用語をLINEでお届け
新しい用語記事やAIの最新ニュース、仕事に役立つヒントをお届けします!
リンク先は、運営元の Nanoha AI Labo 公式LINEです。
