レポートの要約、問い合わせへの回答、ドキュメントの翻訳などの複雑なタスクに人工知能(AI)モデルを導入すると、たいてい大きな課題が伴います。これらのモデルには通常、大規模な注釈付きデータセットとコストのかかる微調整プロセスによる大規模な再トレーニングが必要です。新しいタスクが1つ増えるごとに複雑さが増し、イノベーションが遅くなり、経費が増え、多様なユースケースにわたるAIの拡張性が制限されます。
別のアプローチを想像してみてください。再トレーニングや追加データを必要とせずに、AIモデルが新しいタスクに即座に適応できるとしたらどうでしょうか。これこそが、プロンプトで例を提示するだけでAIモデルがタスクを動的に学習できるようにする、コンテキスト内学習(ICL)の可能性です。コンテキスト内学習は従来の機械学習(ML)のボトルネックを解消し、より高速で、適応性とコスト効率に優れたソリューションを提供します。
コンテキスト内学習(ICL)は、GPT-3を発表した画期的な研究論文「Language Models are Few-Shot Learners」で紹介された高度なAI機能です1。モデルがバックプロパゲーションによるトレーニングフェーズを経てパラメーターを変更する教師あり学習とは異なり、ICLは事前トレーニング済みの言語モデルに完全に依存しており、パラメーターは変更しません。
AIモデルは、タスクを推測し、期待されるアウトプットを生成するための一時的なガイドとしてプロンプトを使用します。ICLは、プロンプト内の例の間の関係(インプット/アウトプットペアとも呼ばれます)を認識し、同じマッピングを新しいインプットに適用することによって機能します。このプロセスは人間の推論を模倣しており、過去のエクスペリエンスから類似点を導き出すことで新しい問題を解決します。事前トレーニング中に学習したパターンと知識を活用し、新しいタスクに動的に適応させることで、高い柔軟性と効率性を実現します。
本質的に、コンテキスト内学習は、通常はインプットシーケンスの一部として自然言語で記述された一連の例(インプット/アウトプットペアまたはコンテキスト内の例)を含むプロンプトに基づいて大規模言語モデル(LLM)を条件付けすることによって機能します。多くの場合データセットから抽出されるこれらの例は、モデルの再トレーニングには使用されず、コンテキスト・ウィンドウに直接入力されます。このウィンドウは、LLMが一度に処理できるテキストの量を示し、一貫した応答を生成するための一時メモリとして機能し、連続インプットを処理するモデルの一部です。
形式的に、プロンプトはインプット/アウトプットのペアの形式をもつk個の例で構成されるとします。
C={(x1 ,y1 ),(x2 ,y2 ),...,(xk ,yk )}
新しい入力「x」と出力空間の候補「Y={y1,...,ym}」が与えられると、モデルはプロンプトの条件に合う可能なアウトプットの確率を計算します。
P(yj ∣ x,C)
予測は、最も高い確率の選択肢を選択することによって決定されます。
このプロセス中に、モデルは重みを更新しません。代わりに、ディープラーニングのTransformer(トランスフォーマー)アーキテクチャーを活用し、モデルは現在のプロンプト内の例のみを使用してパターンを動的に学習します。
この方法を実際に確認するには、センチメント分類タスクを考えてみましょう。プロンプトは次のようになります。
レビュー:映画は素晴らしかった → センチメント:肯定的
レビュー:ストーリーラインが嫌いだ → センチメント:否定的
レビュー:音楽が心地よかった → センチメント:
このモデルは、以前のインプット・マッピングで観察された構造を継続し、「肯定的」を予測することによって最後の行を完成させます。この例では、モデルがタスクを推測し、少数の例に基づいて適切な応答を生成する、few-shot学習を紹介します。
AIモデルの成功はプロンプトに表示される内容に左右されるため、プロンプト・エンジニアリングはICLにおいて重要な役割を果たします。プロンプト・エンジニアリングとは、モデルを効果的に導くための、高品質で有益な、しっかりと構成されたプロンプトを作成することを指します。プロンプトでは多くの場合、自然言語テンプレートを使用しますが、これらはモデルが事前トレーニングしたデータ・エクスポージャー中に見たものと一致するように慎重に選択されています。言葉遣い、ラベル形式、例の順序、さらには句読点のバリエーションは、特に小規模なモデルやエッジ・ケースでは、モデルの性能に影響を及ぼす可能性があります。
重要なのは、プロンプト・エンジニアリングが個別のメカニズムではなく、コンテキスト内学習というより広い概念の中で動作する一連のテクニックであることです。例:
zero-shotプロンプティング:例を示さずにタスクを説明します。
one-shotプロンプティング:タスクを説明するために1つの例のみが含まれています。
few-shotプロンプティング:複数の例が提供されます。
思考の連鎖プロンプト:各例には、モデルの論理を導くための中間的な推論ステップが含まれています。
これらのプロンプト・ストラテジーは、多くの場合、few-shotプロンプト設計と組み合わせられ、一般化をテストするベンチマークで評価されます。ランダムなラベルを使用したインプットとアウトプットのペアでも性能を向上させることができ、プロンプトのフォーマットと分散がラベル自体と同じくらい重要であることがわかります。
制御されたICLプロンプトを超えて複雑な現実世界のシステムへと動き出すにつれて、課題は静的インプットの作成からコンテキスト・エンジニアリングの実践に移行します。これは、LLMが現実世界のシナリオで確実に機能するために必要なあらゆるインプットの要素を体系的に設計することに焦点を当てた、新たに台頭しつつある分野です。
コンテキスト・エンジニアリングとは、適切な情報、ツール、指示を適切な形式でLLMに配信し、LLMがタスクを確実に完了できるようにする動的システムを設計する手法です。静的プロンプト・エンジニアリングとは異なり、コンテキスト・エンジニアリングは、実行時のユーザーインプット、以前の操作、ツールのアウトプット、外部データなどの複数のソースから、タスクに関連する完全なインプットを構築することに重点を置いています。これにより、LLMが必要なデータを受け取るだけでなく、効果的に解釈できる構造であることも保証されます。このアプローチは、モデルの制限ではなく、コンテキストの欠落や不適切なフォーマットが原因であることが多い複雑なエージェント・システムでは特に重要です。コンテキスト・エンジニアリングは、ツール、検索メカニズム、メモリーをプロンプト構築プロセスに統合することで、モデルの可能性と現実世界の性能の間のギャップを埋めます。
初期の説明では、ICLは表面レベルのパターンの繰り返しまたは次のトークンの予測と見なされていましたが、新しい研究では、より深いプロセスが示唆されています。説得力のある1つの解釈では、ICLはベイズ推論の一形態として位置づけられます。つまり証拠によって新年を更新することで確率を推定する方法です2。この観点では、モデルはfew-shotまたはone-shotの例を学習し、プロンプトから潜在的な概念(「これはセンチメント分類です」といった、目に見えないタスクや構造)を推測します。文脈に沿った例が追加されるにつれて、モデルは実行中のタスクに対する自信を深め、モデル・パラメーターを変更することなく予測精度を向上させます。
別の説明では、ICLを勾配降下法と関連付けています。これは、誤差を最小化するためにほとんどの機械学習システムの基盤となっている最適化手法です。最近の研究により、トランスフォーマー・モデルは、特に線形回帰のような単純なタスクにおいて、学習プロセスを内部的にシミュレートできることが示されています。実際にパラメーターの更新が行われていない場合でも、モデルは内部の推論ループを使用してプロンプトに適応しているかのように動作します。このプロセスは、完全にモデルのコンテキスト・ウィンドウ内で行われます。
これらの調査結果は、zero-shotやfew-shotの設定でも同様に、ICLが推論中に内部学習のような動作を行うことを示唆しています。LLMは静的な予測変数の代わりに、自然言語プロンプトを使用してタスク構造にリアルタイムで適応します。この推論と暗黙学習の組み合わせにより、ICLは再トレーニングなしに新しいタスクに取り組むための強力な手法となっています。
1. モデルのスケールとパラメーターの感度
ICLの有効性は、LLMの規模と設計に大きく影響されます。大規模なモデルは、ICLでより強力な創発能力を示します。一方、小規模モデルは、複雑なタスクを効果的にモデル化するためのパラメーター容量が不足しているため、コンテキスト内学習の機能に匹敵することが難しい場合が多いです。
2. 事前トレーニングを行うデータの品質とバイアス
コンテキスト内学習の有効性は、事前トレーニングを行うデータの多様性と品質に依存します。狭義または偏ったデータセットでトレーニングされたモデルは、推論中にこれらの制限を再現し、汎用化の低下や公平性の問題を引き起こす可能性があります。
3. ドメイン転送と一般化
LLMは優れた適応性を示しますが、高度に専門的なタスクでは性能が低下する可能性があります。法律や医療などの専門分野では、分野特有の実証実験や従来型のファイン・チューニングが引き続き必要になる場合があります。
4. 倫理と公平性
ICLは、トレーニング・データに存在する社会的バイアスを意図せず引き継いで、強化する可能性があります。プロンプトはモデルの動作に影響を与える可能性があるため、動的でリアルタイムのやり取りにおいて倫理的で公正なアウトプットを確保することは依然として大きな課題です。
5. プライバシーとセキュリティーに関する懸念
現実世界のアプリケーションで運用されているICLベースのシステムは、そのようなデータが事前トレーニング・コーパスに存在した場合、機密情報を誤って記憶したり再現したりする可能性があります。この可能性は、特に医療、法務、パーソナライズされたアシスタントの分野において、重大なプライバシー上の問題を引き起こします。
6. プロンプトの感度と安定性
ICLはプロンプト設計に敏感です。コンテキスト内の例の数、順序、または形式のわずかな変更がアウトプットに大きな変化をもたらす可能性があり、一貫した性能を保証することが困難になります。
1. トレーニング・モデル
LLMが本質的にコンテキスト内学習をより適切に行うために、研究者らはモデルのトレーニング中またはトレーニング直後の改善を模索しています3。主な方向性の1つは、インプットとアウトプットのペアまたはタスク・クラスターが明示的に編成された構造化データを使用した事前トレーニングです。このアプローチにより、モデルは広範な言語分布に依存するだけではなく、タスクのパターンや関係性に対してより敏感になります。
もう1つの効果的なアプローチはメタ蒸留です。モデルは蒸留され抽象化された形式の知識、すなわちタスクの本質を伝える簡潔で情報量の多い例のペア(例:「強いプロット→肯定的」、「弱い行動→否定的」)にモデルを晒します。この方法では、モデルは最小限のデモンストレーション・オーバーヘッドで、推論中にモデルを迅速に一般化することができます。
ウォームアップ・トレーニングは、プロンプト形式でタスクに合わせた例を使用することで、事前トレーニングと実際の推論の間でモデルをファイン・チューニングします。例えば、テストの前にいくつかの「見出し→カテゴリー」の例を確認すると、再トレーニングせずに関連するコンテンツへの一般化ができます。
指示チューニングは、自然言語指示として記述された何千ものタスク(例:「文の雰囲気を分類せよ」など)を使用してモデルをトレーニングする重要なストラテジーです。このストラテジーは、モデルの動作を人間のガイダンスとより密接に一致させることで、few-shotおよびzero-shotの汎化能力を改善します。
2. プロンプトの設計
推論中のプロンプト設計は、ICLの活用において極めて重要な役割を果たします。最も影響力のあるテクニックの1つはデモンストレーション選択です。類似性メトリクス、不確実性スコア、または訓練された検索器を使用して、適切な例を選択することができます。
デモンストレーションの再フォーマットにより、例の構造を変更します。一部の方法では、平易なインプットとアウトプットのペアの代わりに、推論チェーン(例:「前提→推論→結論」)を使用して、モデルの内部表現との整合性を高めます。
もう一つの微妙だが重要な要素は、デモンストレーションの順序付けです。単純なものから複雑なものまで例を整理(基本的なプログラミングのprintステートメントから始め、ループに進むなど)すると、モデルがコンテキストを徐々に構築し、理解とアウトプット品質を向上させるのに役立ちます。
最後に、指示のフォーマットと思考の連鎖プロンプトにより、モデルを中間ステップを通して明示的にガイドすることで、推論を重視するタスクを強化します。このアプローチは、数学的推論や論理的推論などの領域で特に役立ちます。例えば、「ステップ1:8から3を引く→ステップ2:答えは5」のような分解では、直接的な質問応答形式と比較して精度が向上します。
異常検知: コンテキスト内学習を使用することで、LLMは正常なネットワーク・アクティビティと異常なネットワーク・アクティビティのラベル付き例をいくつか提供できます。このモデルは、新しいトラフィック・インスタンスを正常または疑わしいもののいずれかに正確に分類できるため、大規模な再トレーニングを行わずに柔軟かつ効率的なモニタリングが可能になります。このアプローチは、さまざまなサイバーセキュリティーやネットワーク管理のタスクに幅広く適用できます。
例えば、ある研究論文では、無線環境での自動ネットワーク侵入検知に、LLM(特にGPT-4)を使用したコンテキスト内学習を適用した例が紹介されています4。大量のラベル付けされたデータとコストのかかるファイン・チューニングを必要とする従来の手法の代わりに、彼らは、説明的、ヒューリスティック、対話的という3つのコンテキスト内学習アプローチを設計しました。これらの手法では、GPT-4が攻撃のタイプを識別できるように、プロンプト内でいくつかのラベル付きの例を提供し、ドメイン固有の質問を組み込むことで精度を向上させます。9種類の分散型サービス拒否(DDoS)攻撃タイプを含む実際のデータセットでテストした結果、性能の向上が示されました。これらの改善により、精度とF1-スコアが約90%向上し、GPT-4はわずか10個のサンプルで95%を超える精度を達成しました。この例では、コンテキスト内学習により、LLMが最小限のトレーニング・データで現実世界のサイバーセキュリティー・シナリオに迅速に適応し、効果的に機能する方法を示しています。
ドメイン固有の自然言語処理(NLP):ICLは、LLMがプロンプト内で関連する例を使用することで、特殊なタスクで適切に実行できるようにします。このアプローチは、ラベル付けされたデータが不足している場合や、ファイン・チューニングが実用的ではないドメイン固有の自然言語処理(NLP)タスクの課題を解決します。この手法により、モデルは推論中に提供された文脈上の手がかりのみに基づいて適応し、正確な結果を生成できるようになります。
ある研究では、LLMがICLを通じて航空安全報告書を効果的に分析できることが実証されました。これにより、セマンティック・スパース性や計算コストの高いファイン・チューニングの必要性などの課題に対処できます5。この研究では、BM25(検索クエリーとの関連性に基づいて文書をランク付けする情報検索アルゴリズム)を使用して、プロンプトに最も関連性の高い例を選択しました。このモデルは、8つの例で最大80.24%の精度と84.15%のF1スコアを達成することで、分類精度を大幅に向上させました。プロンプト内で高品質で関連性の高い例を提供することで、モデルはその理解を一般化して、未見のレポートを正確に分類できます。適切に選択された例の数を増やすと、モデルがより多くのコンテキストを獲得し、データ内に潜むパターンをより適切に把握できるようになるため、通常は性能が向上します。このアプローチは、戦略的な例を選択したICLが、LLMに専門的な航空データを効果的に理解して分類させることを示しており、ドメイン固有のNLPタスクに対する実用的な解決策を提供します。
センチメント分析:ICLは、ラベル付けされたテキスト・サンプル(例:「素晴らしいサービス→肯定的」、「ひどい製品→否定的」)を提供することで、LLMがセンチメントを分析することを可能にします。ラベルのない新しい文が与えられると、モデルは高精度でセンチメントを推測できます。このアプローチにより、顧客体験分析、意見マイニング、ブランド・モニタリングのタスクが効率化されます。
コンテキスト内学習は、大規模言語モデルと対話し、そこから知能を抽出する方法の根本的な変化を表しています。これにより、モデルはタスクの説明といくつかの例を使用して新しいタスクに動的に適応できるようになり、ICLはAIシステムに柔軟性、効率性、アクセシビリティをもたらします。静的な事前トレーニング済みモデルと動的な現実世界のニーズとの間のギャップを埋めることで、いくつかの例を観察するだけで単一のモデルが幅広いタスクを実行できるようにします。学習アルゴリズム、事前トレーニング戦略、プロンプト設計、デモンストレーションの最適化における研究が進むにつれて、ICLは汎用AIの基礎となるべく位置づけられつつあり、業界全体で適応性が高く、解釈可能で、スケーラブルなシステムの実現への道を切り開いています。
1. Brown, T.、Mann, B.、Ryder, N.、Subbiah, M.、Kaplan, J. D.、Dhariwal, P.、 ... 、Amodei, D.(2020年)。Language models are few-shot learners. Advances in neural information processing systems、33、1877-1901。
2. Xie, S. M.、Min, S。(2022年)。How does in-context learning work? A framework for understanding the differences from traditional supervised learning. A framework for understanding the differences from traditional supervised learning.
3. Dong, Q.、Li, L.、Dai, D.、Zheng, C.、Ma, J.、Li, R.、...、Sui, Z.(2022年)。コンテキスト内学習に関する調査。arXiv preprint arXiv:2301.00234。
4. Zhang, H.、Sediq, A. B.、Afana, A.、Eroll-Kantarci, M.(2024年)。Large language models in wireless application design: In-context learning-enhanced automatic network intrusion detection. arXiv preprint arXiv:2405.11002。
5. Yang, Y.、Shi, D.、Zurada, J.、Guan, J.(2024年9月)。Application of Large Language Model and In-Context Learning for Aviation Safety Prediction. In 2024 17th International Conference on Advanced Computer Theory and Engineering (ICACTE) (pp. 361-365)。IEEE。