1. ICLとは
1.1 定義
In-Context Learning(ICL):プロンプト内に提示された例示から、パラメータ更新なしにタスクを学習し実行する能力。
従来のアプローチとの違い:
- Fine-tuning:パラメータを更新して適応
- ICL:パラメータ固定、入力のみで適応
1.2 GPT-3での発見
Brown et al. (2020)。GPT-3で大規模に実証。
例示を数個与えるだけで、Fine-tuningに匹敵する性能を達成。
1.3 なぜ革新的か
- 即時適応:訓練なしで新タスクに対応
- 柔軟性:同一モデルで多様なタスク
- 効率性:計算コスト大幅削減
- アクセシビリティ:専門知識なしで利用可能
2. ICLの種類
2.1 Zero-shot
例示なしでタスクを実行。
以下の文の感情を判定してください:
「このレストランは最高でした!」
回答:
タスク記述のみで能力を引き出す。
2.2 One-shot
1つの例示を提供。
文の感情を判定します。
文:「素晴らしい映画でした」→ ポジティブ
文:「このレストランは最高でした!」→
2.3 Few-shot
複数の例示(通常2-10個)を提供。
文の感情を判定します。
文:「素晴らしい映画でした」→ ポジティブ
文:「時間の無駄だった」→ ネガティブ
文:「まあまあだった」→ ニュートラル
文:「このレストランは最高でした!」→
2.4 Many-shot
長文脈モデルで数百〜数千の例示。
Few-shotより高性能だが、文脈長の制限あり。
2.5 性能の傾向
一般に:Zero-shot < One-shot < Few-shot < Many-shot
ただしタスクやモデルにより異なる。
3. ICLのメカニズム
3.1 なぜ可能なのか?
理論的に完全には解明されていないが、いくつかの仮説:
3.2 仮説1:暗黙的ベイズ推論
Xie et al. (2022)。
ICLは暗黙的なベイズ推論として理解可能。
- 事前分布:訓練データから学習した分布
- 例示:観測データとして作用
- 出力:事後分布からのサンプリング
3.3 仮説2:タスクベクトル
例示から「タスク」の表現を構築。
この表現が以降の予測を条件付ける。
3.4 仮説3:Induction Heads
Olsson et al. (2022)。
Attentionヘッドの一部がパターンマッチングを実行。
- 「[A][B]...[A]」の後には「[B]」が来やすい
- この機構がICLを可能にする
3.5 仮説4:暗黙的勾配降下
von Oswald et al. (2023)。
Transformerの forward pass が暗黙的に勾配降下を実行。
線形Attentionでは数学的に証明可能。
3.6 内部メカニズムの研究
Mechanistic Interpretabilityの手法で解析:
- 特定の層・ヘッドがICLに重要
- 例示の情報が中間層で統合
- タスク識別とタスク実行が分離
4. 性能に影響する要因
4.1 例示の選択
- 類似性:テスト入力に似た例示が効果的
- 多様性:異なるパターンをカバー
- 難易度:適切な難易度の例示
4.2 例示の順序
Lu et al. (2022)。順序で性能が大きく変動。
- 最適な順序の探索が重要
- 最後の例示が特に影響大
- ランダム順序は安定しない
4.3 例示の数
- 一般に多いほど良い(収穫逓減あり)
- 文脈長の制限
- タスクにより最適数が異なる
4.4 フォーマット
4.5 ラベルの正確性
Min et al. (2022)。意外な発見:
- ランダムラベルでも一定の性能
- フォーマット・分布の情報が重要
- ただし正しいラベルが最も効果的
5. プロンプトエンジニアリング
5.1 基本原則
- 明確性:曖昧さを排除
- 具体性:具体的な例示と指示
- 構造化:整理されたフォーマット
5.2 Chain-of-Thought (CoT)
Wei et al. (2022)。推論過程を明示的に生成。
Q: 農場に鶏が23羽、牛が7頭います。
全部で足は何本ですか?
A: まず、鶏は2本足なので23×2=46本。
牛は4本足なので7×4=28本。
合計で46+28=74本です。
5.3 Zero-shot CoT
Kojima et al. (2022)。「Let's think step by step」を追加するだけ。
例示なしでCoT効果を得られる。
5.4 Self-Consistency
Wang et al. (2023)。複数の推論パスを生成し多数決。
- 同じ問題に複数回回答
- 最も多い回答を採用
- 精度向上、ただし計算コスト増
5.5 その他の技法
- Tree-of-Thought:分岐探索
- ReAct:推論とアクションの交互実行
- 役割設定:「あなたは専門家です」
6. 限界と課題
6.1 文脈長の制限
- 例示数に上限
- 長い入力での性能低下
- 長文脈モデルで改善中
6.2 不安定性
- 例示の選択・順序で大きく変動
- 再現性の問題
- 最適プロンプトの発見が困難
6.3 Fine-tuningとの比較
- 特定タスクではFine-tuningが優位
- 大量の訓練データがあればFine-tuning
- ICLは少数データ・多タスクで有効
6.4 理解の限界
- なぜ機能するか完全に理解されていない
- 失敗モードの予測困難
- 理論的基盤が発展途上
7. 参考文献
主要論文
- Brown et al. (2020) "Language Models are Few-Shot Learners" (GPT-3), NeurIPS
- Wei et al. (2022) "Chain-of-Thought Prompting Elicits Reasoning", NeurIPS
- Kojima et al. (2022) "Large Language Models are Zero-Shot Reasoners", NeurIPS
理論的研究
- Xie et al. (2022) "An Explanation of In-context Learning as Implicit Bayesian Inference"
- Olsson et al. (2022) "In-context Learning and Induction Heads"
- von Oswald et al. (2023) "Transformers Learn In-Context by Gradient Descent"
実践的研究
- Lu et al. (2022) "Fantastically Ordered Prompts and Where to Find Them"
- Min et al. (2022) "Rethinking the Role of Demonstrations"
- Wang et al. (2023) "Self-Consistency Improves Chain of Thought Reasoning"
関連ページ