少数ショット学習は、大規模モデルに数件の例を見せるだけで、その形式と基準に沿って新しい課題をこなさせる使い方である。再学習は不要で、質問の前に二、三組の入力と望む出力を示せば、モデルはその規則性を見抜き、新しい内容にも同じ処理を適用する。事前学習で身につけた言語理解と課題理解があるからこそ成立する仕組みであり、例の役割は原理の講義というより、その場での実演に近い。
ゼロショット、ワンショットとの違い
三つの言葉の違いは、例をいくつ見せるかだけである。ゼロショットは要件だけを伝え例を一切見せない方法で、翻訳や要約のようなモデルが得意な課題に向く。ワンショットは完成した見本を一つ示し、出力の姿を先に把握させる。少数ショットは通常二つから五つ程度の例を指し、課題が珍しいほど、形式の要求が特殊なほど効果が大きい。判断の目安は単純で、最初の回答が的外れになるのは能力不足ではなく、望む形が伝わっていないことが多い。その場合は言い回しを直すより例を足す方が効く。
説明より例が効く理由
指示文に規則を長々と書いても回答がぶれるのは、規則が抽象的で例が具体的だからである。同じ分類課題でも、判定基準を十文並べるより、分類済みのサンプルを三件示す方が伝わる。例は入力の形式、出力の長さ、口調、境界ケースを同時に示し、モデルが項目ごとに照らし合わせられるからだ。ただし数より質が重要で、例同士が矛盾していたり簡単な場合しか含んでいなかったりすると、間違った規則まで忠実に学んでしまう。混同しやすい場面を押さえ、出力形式を完全にそろえて選ぶことが大切である。
ファインチューニングとは別物
少数ショット学習は学習の一種と誤解されがちだが、モデルのパラメータは一切変わらない。例はその対話の文脈の中だけに存在し、対話が終わったり文脈が消えたりすれば実演の効果も消える。ファインチューニングはデータで重みそのものを更新するため効果が残る代わりに、データ準備や計算資源、評価の工程が要る。使い分けは明確で、一時的で規則が変わりやすい課題や効果を素早く試したい場合は少数ショット、長期固定で呼び出し量が多く安定性が求められる場合に初めてファインチューニングを検討する価値がある。例は多いほど良いという思い込みにも注意したい。例は文脈を消費し、詰め込みすぎると処理したい本文の場所を奪う。高品質な例が三つから五つあれば通常は十分である。