LLM活用・プロンプト

コンテキスト内学習(In-Context Learning) こんてきすとないがくしゅう

In-Context Learningコンテキスト内学習Few-ShotプロンプトLLMGPT-3
コンテキスト内学習について教えて

簡単に言うとこんな感じ!

モデルの重みを変えずに「例題をプロンプトに入れるだけ」でAIに新しいタスクをやらせる仕組みだよ!「これが良い例です・これが悪い例です」と数例見せれば、あとは自動的に同じパターンで判断してくれるんだ。ファインチューニング不要で使えるのがすごいところ!


コンテキスト内学習(In-Context Learning)とは

コンテキスト内学習(In-Context Learning:ICL) とは、LLMのパラメータを更新(学習)せずに、プロンプト(コンテキスト)の中に例題や指示を含めるだけで新しいタスクをこなせる能力です。GPT-3の論文(2020年)で発見され、大きな注目を集めました。

通常の機械学習はデータで重みを更新する「学習」が必要ですが、ICLでは入力の例を見るだけで文脈からパターンを読み取り、新しい入力に対して適切な出力を返します。これによりファインチューニングなしに、プロンプトの工夫だけで多様なタスクに対応できます。ゼロショット・フューショット学習のベースとなる概念です。


ICLの種類と例

【ゼロショット(Zero-Shot)ICL】
  例示なし、指示だけ:
  「以下の文章がポジティブかネガティブか分類して」
  入力: 「この映画は素晴らしかった!」
  → LLMが「ポジティブ」と回答

【フューショット(Few-Shot)ICL】
  いくつか例示してからタスクを与える:
  「映画レビューの感情分類の例:
    「最高だった」→ ポジティブ
    「つまらなかった」→ ネガティブ
    「普通だった」→ ニュートラル
  では: 「期待外れだったが嫌いではない」→ ?」
  → LLMが「ニュートラル」と回答

歴史と背景

  • 2020年:GPT-3論文でICLが発見。175Bモデルで顕著に観察される
  • 2022年:なぜICLが機能するか理論的な解明が進む(Transformerがベイズ推定を行う等の説)
  • 2023年RAGとICLの組み合わせで、最新情報をプロンプトに注入する手法が普及
  • 現在:CoT(チェーン・オブ・ソート)等の発展形が実用化

ファインチューニングとの比較

項目ファインチューニングIn-Context Learning
モデル変更重みを更新重みを変更しない
必要データ大量の学習データ数件〜数十件の例
コスト高い(学習計算)低い(プロンプトのみ)
性能一般に高い良いが限定的
汎用性特定タスクに特化柔軟に対応

関連用語