Speculative RAG(スペキュレイティブラグ)
RAG高速化手法。小型LMが並列で複数の検索・生成案を同時に推測し、大型LMが最善案を検証・統合することで品質を維持しながら推論レイテンシを削減する。
Speculative RAG とは
Speculative RAGは、2024年にGoogleのZirun Zhuらが発表した論文「Speculative RAG: Enhancing Retrieval Augmented Generation through Drafting」で提案されたRAGの推論効率改善手法である。半導体設計で使用される「スペキュレイティブ実行」やLLM推論高速化技術「Speculative Decoding」の概念をRAGパイプラインに適用した手法である。
従来のRAGの課題
RAGパイプラインでは、検索された大量のドキュメントをLLMのコンテキストウィンドウに詰め込んで一度に処理する。この方式には以下の課題がある:
- コンテキスト長の増大: 多数の文書をコンテキストに入れると処理時間が増加
- 大型LMの高コスト: 品質確保のため大型LMを使用→コスト・レイテンシ増大
- 品質・速度のトレードオフ: 小型LMは高速だが精度が劣る
Speculative RAGの2段階アーキテクチャ
Stage 1: 草案生成(Drafting)- 並列実行 検索結果を複数のサブセット(例: 4分割)に分け、各サブセットに対して小型の特化LM(Specialist LM)が独立して回答の草案(Draft)とラショナル(根拠説明)を生成する。この処理は並列実行される。
Stage 2: 検証・統合(Verification)- 大型LM 大型の汎用LM(Generalist LM)が各草案のラショナルのみを評価し(元の全文書ではなく圧縮された根拠のみ)、最善の草案を選択して最終回答を生成する。
[検索結果]
↓ 分割
[サブセット1] → [小型LM] → [草案1 + 根拠1]
[サブセット2] → [小型LM] → [草案2 + 根拠2] ←並列
[サブセット3] → [小型LM] → [草案3 + 根拠3]
[サブセット4] → [小型LM] → [草案4 + 根拠4]
↓
[大型LM] → [根拠評価 → 最善案選択 → 最終回答]
効果と実験結果
論文の実験では、TriviaQA・MuSiQue・PubHealth等のベンチマークで:
- 単一大型LMのRAGと比較して精度同等以上
- 推論レイテンシを約51%削減
- 大型LMへの入力トークン数を削減(コスト削減)
実装上の考慮点
小型特化LMの選択: 小型LMは汎用性より特定ドメインへの特化が重要。RAGに特化したファインチューニングにより、サイズが小さくても高品質な草案を生成できる。
サブセット分割戦略: 検索結果の分割方法(ランダム・意味的クラスタリング・ソース別)が精度に影響する。ドメインと文書特性に応じた分割戦略の選択が必要。
関連技術との関係
Speculative RAGはSpeculative Decoding(小型モデルがトークンを先読み、大型モデルが検証するLLM高速化手法)のRAG版と位置付けられる。RAGパイプライン全体の設計においてAdaptive RAGやModular RAGと組み合わせることで、さらなる効率化が可能である。