コンテキスト内学習(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 |
|---|---|---|
| モデル変更 | 重みを更新 | 重みを変更しない |
| 必要データ | 大量の学習データ | 数件〜数十件の例 |
| コスト | 高い(学習計算) | 低い(プロンプトのみ) |
| 性能 | 一般に高い | 良いが限定的 |
| 汎用性 | 特定タスクに特化 | 柔軟に対応 |
関連用語
- ゼロショット学習 — 例示なしのICL
- フューショット学習 — 少数例示ありのICL
- コンテキスト長 — ICLの例示が消費するコンテキスト領域
- チャットテンプレート — ICLの例示を構造化する形式
- チェーン・オブ・ソート — ICLに推論ステップを追加した発展手法