LLM アーキテクチャーの成功を支えたもの 3 -- In-Context learningとRetrieval-Augmented Generation

LLM アーキテクチャーの成功を支えたもの 3 --  In-Context learningとRetrieval-Augmented Generation

 大規模言語モデルの機能拡張

これまで見てきたのは、LLMの基本的な機能についてのものでしたが、LLMの急速な進化は、その機能を大きく拡張して来ました。このセッションでは、そうした機能拡張を見ていこうと思います。

モデルの機能を動的に拡張するための試みとして、現在、二つの対照的なアプローチが注目されています。

一つは、モデルの重みを更新することなく、プロンプト内の例示によってタスクに適応させる「インコンテキスト学習(In-Context Learning: ICL)」です。もう一つは外部データベースから関連情報を検索して生成を補強する「検索拡張生成(Retrieval-Augmented Generation: RAG)」です。


インコンテキスト学習(ICL)のメカニズム

インコンテキスト学習(ICL)は、GPT-3の登場とともにその有効性が広く認識された手法です。

大規模な事前学習によって獲得されたモデルの潜在能力を、入力プロンプト内の「例示(Demonstrations)」によって特定のタスクへと誘導するプロセスです。

このアプローチの最大の特徴は、モデルのパラメータを一切更新しない「非パラメトリックな適応」にあります。   

 ICLの「学習」

ICLにおける「学習」とは、厳密には重みの更新を伴う「学習」ではなく、モデルの隠れ状態(Hidden States)が入力されたコンテキストに基づいて遷移し、特定の推論パターンを選択する現象を指します 。

モデルはプロンプトに含まれる少数の入出力ペア(Few-shot)から、タスクの形式、言語スタイル、論理的なステップを読み取ります。

例えば、コード生成タスクにおいては、変数名の命名規則やコメントの記述スタイルといった微細な特徴が、モデルの出力品質を左右することが判明しています 。   

RAGのアーキテクチャ

RAGは、LLMの生成能力と、情報検索(Information Retrieval)システムを融合させたシステム設計のアプローチです。

LLMを「知識の保管庫」としてではなく「情報の処理エンジン」として位置づけ、必要な事実は外部の信頼できるソースからその都度調和させることで、情報の鮮度と正確性を担保しています。   

RAGの最大の利点は、ハルシネーションの抑制と情報の透明性にあります。生成された回答が外部のどのドキュメントに基づいているかを検証できるため、法的責任や医学的正確性が問われる分野での信頼性が極めて高いです。   

RAGの4段階パイプライン

RAGのシステム構築は、一般的に「インジェクション」「検索」「拡張」「生成」の4つのステージで構成されます。   

  1. インジェクション(データの構造化): PDFやデータベースなどの非構造化データを、モデルが処理しやすい「チャンク(断片)」に分割し、ベクトル埋め込み(Embedding)に変換してベクトルデータベースに登録する 。 
      
  2. 検索(Retrieval): ユーザーのクエリも同様にベクトル化され、データベース内からコサイン類似度などを用いて関連性の高いチャンクが抽出される 。 

  3.  拡張(Augmentation): 抽出された複数のチャンクを、元のユーザープロンプトと連結し、コンテキストとしてモデルに提供する 。   

  4. 生成(Generation): モデルは提供されたコンテキストを「唯一の根拠(Grounding)」として回答を生成し、必要に応じて引用元(Citations)を明示する 

RAGのパラダイム進化:NaiveからAgenticへ

RAGの技術は、単純なベクトル検索を行う「Naive RAG」から、より複雑な推論を伴う「Advanced RAG」や「Modular RAG」へと進化しています。

Advanced RAG: 検索の前にクエリを書き換えて検索精度を高める(Query Rewriting)、検索されたドキュメントを再順位付けする(Reranking)、あるいは複数の検索手法すを組み合わせる「ハイブリッド検索」を導入し、精度を向上させます 。   

Agentic RAG: AIエージェントが自律的にどのデータベースを検索すべきか、あるいは検索結果が不十分な場合に再検索を行うべきかを判断する。これにより、複雑なマルチホップ推論(複数の情報を繋ぎ合わせる推論)が可能となります 。

 ICLとRAGの対比分析 コスト

エンタープライズ環境におけるコスト比較では、RAGの圧倒的な優位性が示されています。例えば、1,000ページのナレッジベース(約60万トークン)を対象に、1日1,000回のリクエストを処理する場合、すべての情報をプロンプトに流し込むロングコンテキストICLのアプローチは、RAGと比較して月間コストが8倍から82倍高額になるという試算があります 。   

ICLでは、モデルに入力する情報の量に比例して課金が発生し、さらに入力が増えるほど推論のレイテンシ(応答時間)も増大しますす。一方、RAGは事前のインデックス作成(Indexing)にコストがかかるものの、推論時にはクエリに関連する数千トークンのみを送信するため、リクエストあたりの単価を極めて低く抑えることができます 。 

 ICLとRAGの対比分析 精度と信頼性

ICLは、モデルの「推論能力」や「スタイル模倣」においてはRAGを凌駕する場合があります。特に少数の例示からパターンを読み取る能力は、定型的なタスクの自動化において極めて効率的です。しかし、事実関係(Factuality)の正確性が求められるタスクでは、ICLはモデルが本来持つ誤った知識を修正できず、出力の信頼性が低下するリスクがあります。   

RAGは、「外部の事実」を直接コンテキストに流し込むため、事実に基づいたQAにおいて高い精度を発揮します。しかし、検索器(Retriever)が適切な情報を取得できなかった場合、あるいはノイズの多い情報を取得してしまった場合に、生成結果が著しく損なわれるという「検索器依存の脆弱性」を抱えています。 

 ロングコンテキスト時代の変化

2024年後半から2025年にかけて、Gemini 1.5 Pro(200万トークン)やGPT-4o(12.8万トークン以上)のように、極めて長いコンテキストウィンドウをサポートするモデルが登場しました。

これにより、「RAGを使って検索するよりも、すべてのドキュメントを直接プロンプトに放り込む方が精度が高いのではないか」という議論が加速しています 。   

コンテキストウィンドウ と 作業メモリ

最新の研究は、物理的な「入力可能サイズ(コンテキストウィンドウ)」と、モデルが情報を統合・処理できる「実効的な能力(作業メモリ)」を明確に区別しています。 

コンテキストウィンドウ: モデルが一度に受け取れるRAWデータの量。Gemini 1.5 Proでは数千ページのドキュメントに相当する 。   

作業メモリ: モデルが複数の情報を相互に関連付け、グローバルな推論を行うために保持できる情報の帯域。

驚くべきことに、最新のフロンティアモデルであっても、変数追跡のようなタスクにおいて、追跡すべき変数の数が5〜10個を超えると、推論精度がランダムな推測と同レベルまで急落することが判明しています。

これは、コンテキストウィンドウがどれほど大きくても、モデルが内部で情報を「覚えている」帯域幅には厳しい物理的制約があることを示唆しています。 

「Lost in the Middle」と位置バイアス

長いコンテキストを直接処理させる(ロングコンテキストICL)アプローチは、情報の位置によって精度が変動する「位置バイアス」の問題を抱えています。モデルはプロンプトの最初と最後に書かれた情報を重視し、中間部分に埋もれた情報を無視する傾向があります 。   

RAGは、情報の位置に関わらず、関連性の高い断片を直接モデルの「視界(コンテキスト)」の最前列に配置するため、この位置バイアスの影響を回避しやすいのです 。

検索拡張としてのロングコンテキスト

結論として、ロングコンテキスト技術はRAGを駆逐するものではなく、RAGを「強化」するツールとして機能しています。

現在の主流は「検索を全く行わない」ことではなく、「検索した結果をより広大なコンテキストウィンドウで贅沢に処理する」というハイブリッドな方向へ向かっています。



コメント

このブログの人気の投稿

初めにことばありき

機械の言語能力の獲得から考える embeddingの共有・蓄積・検索の未来

密度行列とは何か?