AI・機械学習

文脈内学習(Few-Shot Learning)

Few-Shot In-Context Learning

数個の例を与えるだけでAIが新タスクを学習。再学習なしで柔軟に対応。

文脈学習 プロンプトエンジニアリング ゼロショット 例示学習 適応性
作成日: 2025年3月1日 更新日: 2026年4月2日

文脈内学習(Few-Shot In-Context Learning)とは?

文脈内学習は、大規模言語モデルのパラメータを変更せずに、プロンプトに数個の例を含めるだけで、新しいタスクやパターンを学習させる手法です。 モデルを再学習(ファインチューニング)する必要がなく、単に「このような例を見て、同じパターンで新しい入力に対応してください」という指示だけで、モデルが新しいタスクに適応します。Zero-Shot(例を示さない)、Few-Shot(数個の例を示す)、One-Shot(1つだけ例を示す)などのバリエーションがあり、大規模言語モデルの柔軟性を最大限に引き出す重要な手法です。

ひとことで言うと: 人間が「こういう風にやってね」と例を2〜3個見せれば、新しいやり方をすぐに対応できるのと同じです。学校に通い直さず、その場で対応できる能力です。

ポイントまとめ:

  • 何をするものか: プロンプト内に数個の例(入力と期待される出力)を示すことで、モデルに新しいタスク形式を認識させる
  • なぜ必要か: 新しいタスクのたびにモデルを再学習するのは時間がかかるため、文脈内学習により迅速かつ柔軟に対応できる
  • 誰が使うか: 大規模言語モデルを活用するアプリケーション開発者、データ分析者、チャットボット運用チーム

なぜ重要か

文脈内学習の重要性は、大規模言語モデルの実用化を大幅に加速させたという点にあります。従来の機械学習では、新しいタスクに対応するたびに、大量のラベル付きデータを集めて、モデルを数週間かけて再学習する必要がありました。この過程は時間がかかり、コストも高く、多くの組織にとって機械学習の導入は現実的ではありませんでした。

文脈内学習により、この課題は劇的に解決しました。たとえば、ある企業が「社内メールを3つのカテゴリ(緊急・通常・確認済み)に分類するシステム」を作りたいと考えたとき、従来は数千件の分類済みメールを用意する必要がありました。しかし文脈内学習では、5〜10件の例をプロンプトに入れるだけで、大規模言語モデルはそのパターンを理解し、新しいメール分類を実行できます。

さらに重要なのは、このアプローチがビジネス環境での変化に対応できるという点です。顧客の要求が変わった場合、プロンプトの例を変更するだけで対応できます。ビジネス要件の変化が急速な現代では、この柔軟性は競争力の源になります。

仕組みをわかりやすく解説

文脈内学習の仕組みは、トランスフォーマーアーキテクチャの「文脈理解能力」に基づいています。トランスフォーマーは、入力テキスト全体を同時に処理し、各部分が他の部分とどう関連しているかを理解します。この能力により、プロンプト内の「例」と「新しい問い」の関係を自動的に認識できるようになります。

文脈内学習の実行過程は以下の通りです。まず、プロンプトに「デモンストレーション部分」を含めます。ここには、タスク説明と数個の「入力と出力の例」が示されます。たとえば、感情分析タスクであれば以下のようになります。

「以下のテキストの感情を『ポジティブ』『ニュートラル』『ネガティブ』に分類してください。

例1:『このサービスは素晴らしい!』→ ポジティブ 例2:『このサービスについて』→ ニュートラル 例3:『最悪のサービスだ』→ ネガティブ

では、以下のテキストを分類してください:『新しいアップデートに満足しています』」

大規模言語モデルがこのプロンプトを処理する際、モデルは例から「ポジティブなテキストには肯定的な表現が含まれている」というパターンを推測し、新しい入力に同じロジックを適用します。モデルのパラメータは変わらず、与えられた文脈情報だけから、新しいタスクへの対応方法を推論するわけです。

Few-Shotの「Shot」の数は、3〜5個が一般的です。1個でも動く場合(One-Shot)もありますし、10個以上の例を示す場合(Many-Shot)もあります。例の品質と多様性がモデルの理解精度に影響します。良い例は、タスクの本質的なパターンを明確に示し、エッジケースも含んだバラエティ豊かなものです。逆に悪い例は、似たような例ばかり、あるいはノイズが多い例です。

実際の活用シーン

カスタマーサポートの意図分類

サポートチームが顧客からの問い合わせを自動分類する場合、従来は数千件の過去問い合わせをラベル付けして学習させていました。しかし文脈内学習を使えば、新しい問い合わせカテゴリが追加されたとき、わずか数件の例をプロンプトに追加するだけで、システムが新カテゴリを認識し、分類できるようになります。たとえば「返金請求」という新しいカテゴリが追加された場合、5件の実例を示せば、モデルはその特徴を理解し、新しい返金請求を自動分類できます。

多言語への適応

企業が複数言語でのカスタマーサポートに対応する場合、言語ごとにモデルを学習するのは非効率です。文脈内学習では、各言語の数個の翻訳例を示すだけで、モデルが言語間の対応関係を理解し、新しい言語への翻訳に対応できます。

ドメイン特有の用語解釈

医療分野では、業界特有の用語が多くあります。通用医療用語モデルでは対応しきれないニッチな専門用語が出現したとき、文脈内学習により「この用語は○○という意味で使われている」という例を数個示すだけで、モデルがそのドメイン知識を習得できます。

メリットと注意点

文脈内学習の最大のメリットは、迅速性と柔軟性です。新しいタスクに対応する際、モデルの再学習という時間がかかるステップが不要になり、プロンプト設計だけで対応できます。また、継続的なモデル更新がないため、運用が簡潔です。さらに、小規模なデータセット(数個の例)だけで対応できるため、ラベル付けコストも低く、プライバシーリスク(大量の学習データ管理)も少なくなります。

一方で注意点もあります。文脈内学習は、プロンプトの質に大きく依存します。例の選択が悪いと、モデルは誤ったパターンを推測し、精度が大きく低下します。また、タスクが複雑すぎたり、パターンが曖昧だったりする場合、Few-Shotでは不十分で、ファインチューニングが必要になることもあります。さらに、トークン制限があるため、非常に長いプロンプトには対応できません。

関連用語

よくある質問

Q: Few-Shotとゼロショットの使い分けはどうするか? A: タスクが単純で明確なら、ゼロショット(例なし)でも動く場合があります。しかし複雑なタスクやニッチなパターンなら、Few-Shotで数個の例を示す方が精度が向上します。

Q: 最適な例の数はいくつか? A: 一般的には3〜5個で十分ですが、タスク複雑性によります。簡単なタスクなら1〜2個、複雑なタスクなら8〜10個が目安です。試験的に調整することをお勧めします。

Q: 文脈内学習は常にファインチューニングより劣るか? A: そうではありません。小規模タスク、プライバシーが重要なケース、迅速な対応が必要なケースでは、文脈内学習の方が優れています。ファインチューニングは大規模で安定的な対応が必要な場合に向いています。

関連用語

ゼロショット思考連鎖

ゼロショット思考連鎖(CoT)は、LLMのためのプロンプトエンジニアリング技術。例を示さずにモデルに段階的な推論を指示することで、複雑な問題解決能力を向上させます。...

プロンプト

プロンプトはAIシステムへの指示文です。プロンプト品質がAIの出力品質を決定します。効果的なプロンプトの書き方、エンジニアリング、ベストプラクティスを学びます。...

×
お問い合わせ Contact