In-Context Learning — インコンテキスト学習
インコンテキスト学習(英語: In-Context Learning、ICL)は、大規模言語モデル(LLM)が、プロンプトとして与えられた文脈内の例(デモンストレーション)のみを用いて、新しいタスクを「その場で」学習する基本的な能力です。この適応プロセスは、モデルの重み(パラメータ)を更新することなく、つまり従来のファインチューニング(fine-tuning)なしで行われる点が最大の特徴です[1][2]。
このメカニズムにより、モデルは特別に訓練されていないタスクを解決する際に、驚くべき柔軟性を示すことができます。ICLは、大規模言語モデルをこれほど強力かつ汎用的にした主要なブレークスルーの一つとなりました[3]。
動作メカニズム
ICLがどのように機能するかの正確な理解は、依然として活発な研究分野ですが、この現象を説明するいくつかの主要な理論が存在します。
メタオプティマイザとしてのTransformer
有力な説の一つとして、Transformerアーキテクチャは事前学習の段階で、順伝播(forward pass)において学習アルゴリズムを実装する方法を学習するというものがあります。モデルが例を含むプロンプトを受け取ると、重みではなく内部状態(活性化)を調整することで、提示されたタスクを解決するための一種の最適化を暗黙的に実行します[4]。
ベイズ推論
別の説では、ICLをベイズ推論の一形態と見なします。膨大なデータで事前学習されたモデルは、多数の概念に関する事前知識を持っています。コンテキスト内の例は、モデルが隠れた概念に関する事後確率分布を精緻化するための証拠として機能します。言い換えれば、例は、モデルが既知の何千ものタスクの中から、現時点でどのタスクを解決すべきかを「理解する」のに役立ちます[5]。
インコンテキスト学習の種類
提供される例の数に応じて、ICLは主に3つのタイプに分けられます。
- Few-shot Learning(少数ショット学習): これは最も一般的でバランスの取れたアプローチです。モデルには、複数(通常は2から10個)のデモンストレーション例が提供されます。
例(センチメント分類):
テキスト: 「なんて素晴らしい日なんだ!」 センチメント: ポジティブ テキスト: 「渋滞にはまるのは大嫌いだ。」 センチメント: ネガティブ テキスト: 「この映画はかなり平凡だった。」 センチメント:
期待される回答:
ニュートラル
- One-shot Learning(ワンショット学習): モデルには1つの例だけが与えられます。これだけで応答の形式を指定し、ゼロショットアプローチと比較してパフォーマンスを大幅に向上させるのに十分な場合が多くあります。
- Zero-shot Learning(ゼロショット学習): モデルには例が提供されず、タスクの指示または説明のみが与えられます。この場合、モデルは事前学習中に得られた知識に完全に依存します。
実用的な応用
ICLを適切に適用することで、コストのかかる開発やファインチューニングなしに、幅広いタスクを解決できます。
- 創造的および文体的なタスク(特定のスタイルでのコード生成、特定の著者の文体でのテキスト作成):
- Few-shot Learningが推奨されます。
- 例は、モデルが必要なスタイル、フォーマット、および出力構造を捉えるのに役立ちます。
- 明確な指示を持つ単純なタスク(翻訳、要約、簡単な質問への回答):
- 多くの場合、Zero-shot Learningで十分です。
- 現代のモデルは、事前学習の一部であった場合、これらのタスクを十分にうまく処理できます。
- 出力形式が重要なタスク(JSON生成、エンティティ抽出):
- One-shotまたはFew-shot Learningが推奨されます。
- たった1つの例でも、必要な応答構造を明確に定義し、フォーマットエラーを防ぐことができます。
長所と短所
| 長所 | 短所 |
|---|---|
|
|
他のパラダイムとの比較
ICL vs. Fine-tuning - ICLとファインチューニングの比較
ファインチューニング(fine-tuning)は、モデルの重みを変更し、新しい知識を「刻み込み」ます。これにより、モデルは特定の分野の専門家になりますが、全体的な柔軟性は低下します。対照的に、ICLは重みを変更せず、より柔軟ですが、深いドメイン知識が必要な特化されたタスクではパフォーマンスが劣る可能性があります。
ICL vs. RAG (Retrieval-Augmented Generation) - ICLとRAGの比較
どちらの方法もモデルのコンテキストを拡張しますが、目的が異なります:
- ICLは、例を使用してモデルにタスクの実行方法を教えます(スキルのデモンストレーション)。
- RAGは、検索された情報を使用して、回答に必要な事実をモデルに伝えます(知識の提供)。
実際には、ICLとRAGは最良の結果を得るためにしばしば組み合わせて使用されます。
参考文献
- Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Dai, D. et al. (2022). Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers. arXiv:2212.10559.
- Panwar, M.; Ahuja, K.; Goyal, N. (2024). In-Context Learning through the Bayesian Prism. arXiv:2306.04891.
- Müller, S. et al. (2021). Transformers Can Do Bayesian Inference. arXiv:2112.10510.
- Garg, S. et al. (2022). What Can Transformers Learn In-Context? A Case Study of Simple Function Classes. arXiv:2208.01066.
- Min, S. et al. (2022). Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?. arXiv:2202.12837.
- Wang, X. et al. (2023). Explaining and Finding Good Demonstrations for In-Context Learning. arXiv:2302.13971.
- Xie, S. et al. (2024). A Survey on In-Context Learning. arXiv:2301.00234.
- Yu, Z.; Ananiadou, S. (2024). How Do Large Language Models Learn In-Context? Query and Key Matrices of In-Context Heads Are Two Towers for Metric Learning. arXiv:2402.02872.
- Wibisono, K. C.; Wang, Y. (2024). From Unstructured Data to In-Context Learning: Exploring What Tasks Can Be Learned and When. arXiv:2406.00131.
- Chan, J. K. et al. (2022). Data Distributional Properties Drive Emergent In-Context Learning in Transformers. arXiv:2205.05055.
- Hahn, M.; Goyal, N. (2023). A Theory of Emergent In-Context Learning as Implicit Structure Induction. arXiv:2303.07971.
脚注
- ↑ What is In-Context Learning (ICL)? // Lakera.ai
- ↑ In-Context Learning (ICL) // Hopsworks.ai
- ↑ In-Context Learning, In Context // The Gradient
- ↑ Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta-Optimizers // arXiv, 2022.
- ↑ Understanding In-Context Learning // Stanford Human-Centered AI, 2023.