{"notes":[{"id":"retrieval-augmented-generation/self-route","category":"retrieval-augmented-generation","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"Self-Route","subtitle":"知らないことは、知らないとする","author":"Z. Yuan","paperDate":"2024-07-23","publishedOn":"2026-08-12","paperTitle":"Retrieval Augmented Generation or Long-Context LLMs? A Comprehensive Study and Hybrid Approach","paperUrl":"https://aclanthology.org/2024.emnlp-industry.66/","bibliography":{"title":"Retrieval Augmented Generation or Long-Context LLMs? A Comprehensive Study and Hybrid Approach","authors":["Zhuowan Li","Cheng Li","Mingyang Zhang","Qiaozhu Mei","Michael Bendersky"],"url":"https://aclanthology.org/2024.emnlp-industry.66/","pdfUrl":"https://aclanthology.org/2024.emnlp-industry.66.pdf","codeUrl":null,"preprint":{"id":"2407.16833","submittedOn":"2024-07-23","url":"https://arxiv.org/abs/2407.16833"},"publication":{"venue":"EMNLP Industry Track","year":2024,"kind":"conference","url":"https://aclanthology.org/2024.emnlp-industry.66/"},"citation":"@misc{retrievalaugmentedgenerationselfroute2024,\n  title = {{Retrieval Augmented Generation or Long-Context LLMs? A Comprehensive Study and Hybrid Approach}},\n  author = {Zhuowan Li and Cheng Li and Mingyang Zhang and Qiaozhu Mei and Michael Bendersky},\n  year = {2024},\n  eprint = {2407.16833},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2407.16833}\n}\n","citationPath":"/content/papers/citations/retrieval-augmented-generation/self-route.9d3f24607371.bib"},"thumbnail":{"src":"/content/papers/assets/977e711ec46055e2207ae7f021de5d8f1140e73a8d3dadcc2c3daf7a8d146a43.png","width":639,"height":420},"locale":"ja","path":"/content/papers/ja/retrieval-augmented-generation/self-route.f9f3d26b76b4.md","headings":[{"id":"問題の定義","text":"問題の定義","depth":2},{"id":"比較設定","text":"比較設定","depth":3},{"id":"問題の解決","text":"問題の解決","depth":2},{"id":"まず比べるlcの勝ち","text":"まず比べる：LCの勝ち","depth":3},{"id":"面白い発見両者はよく同じ答えを出す","text":"面白い発見：両者はよく同じ答えを出す","depth":3},{"id":"self-routeモデルに分からないと言わせる","text":"Self-Route：モデルに「分からない」と言わせる","depth":3},{"id":"どれだけ節約できるか計算してみる","text":"どれだけ節約できるか、計算してみる","depth":3},{"id":"考察","text":"考察","depth":2},{"id":"結果","text":"結果","depth":3},{"id":"何件取るべきか","text":"何件取るべきか","depth":3},{"id":"なぜragは失敗するのか","text":"なぜRAGは失敗するのか","depth":3},{"id":"合成データの落とし穴","text":"合成データの落とし穴","depth":3},{"id":"後の批判","text":"後の批判","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[]}],"text":"2024年半ば、長文コンテキストモデルは急速に進歩していました。\n\nGemini 1.5 Proは100万token、GPT-4oは128Kに対応します。100ページを超える文書も、そのまま丸ごと入れられます。\n\nそれでもRAGは必要でしょうか。\n\n多くのチームがこの問いを抱えていました。全文を渡して検索を省けば、単純で信頼できそうです。ただ、毎回10万tokenを送ると、請求額も相当なものになります。\n\nGoogle DeepMindとミシガン大学によるこの論文は、EMNLP 2024のIndustry Trackで発表されました。まず同じデータでRAGと長文入力を比べ、その結果を踏まえて両者を混ぜる方法を設計しています。\n\n## 問題の定義\n\n先行するXuら（2023）の比較では、長文モデルはRAGに及ばないという結論でした。著者らは、この1年のモデルの進歩を踏まえ、再検証が必要だと考えます。\n\n最初の問いは、次です。\n\n- **新しいモデルで、RAGと長文コンテキスト（long-context、以下LC）のどちらが正確か？**\n\nLCの方が正確なら、次の問いが生まれます。\n\n- **LCは高価だ。必要なときだけ使えないか？**\n\n### 比較設定\n\nLongBenchと∞Benchから、英語の実テキストを使い、明確な質問のある9データセットを選びます。\n\n- **LongBench**：NarrativeQA（小説と脚本）、Qasper（論文）、MultiFieldQA、HotpotQA、2WikiMultihopQA、MuSiQue（後ろ三つはWikipediaのマルチホップ質問応答）、QMSum（会議記録）。\n- **∞Bench**：En.QAとEn.MC。平均約14.7万語で、ほかよりかなり長くなります。\n\n自由回答はF1、選択式は精度、要約はROUGEで評価します。\n\nモデルはGemini-1.5-Pro（100万token）、GPT-4O（128K、`gpt-4o-2024-05-13`）、GPT-3.5-Turbo（16K、`gpt-3.5-turbo-0125`）です。\n\nRAGは標準的です。文書を300語（word）単位へ分け、ContrieverかDragonの稠密検索器でクエリとのcosine類似度を計算し、上位5断片をスコア順にプロンプトへ入れます。\n\n\n> [!TIP]\n> \n> **モデルは答えを覚えているのでは？**\n> \n> Wikipedia由来のデータが多く、商用モデルが学習時に見た可能性があります。実際、提供文書にはない「meticulously」のような語が、参照解答とまったく同じ形で回答に現れることがありました。\n> \n> そこでRAGとLCの両プロンプトに「based only on the provided passage」を入れ、文書だけに基づくよう指示します。付録では、この指示でGemini-1.5-ProのLC平均点が50.57から45.53へ下がり、記憶した知識の使用を抑える効果が確認されました。それでも評価データの漏洩は未解決だと著者らは認めています。\n\n\n## 問題の解決\n\n### まず比べる：LCの勝ち\n\n[![原論文Table 1：三つのモデルの9データセットにおけるLC、RAG、Self-Routeのスコア、回答可能割合、token割合](/content/papers/assets/bdedfb9a9df07b3ecad6c4f8fee397d8b051787576334f930ad25ea74f7be78e.png)](/content/papers/assets/bdedfb9a9df07b3ecad6c4f8fee397d8b051787576334f930ad25ea74f7be78e.png)\n\n*原論文Table 1。[**ACL Anthology PDFの4ページ**](https://aclanthology.org/2024.emnlp-industry.66.pdf#page=4)から抜粋、CC BY 4.0。検索器はContriever。太字は各モデル・各データセットの最高点です。*\n\n情報が多い表ですが、まず各モデルの最初の2行、`*-1 LC`と`*-2 RAG`だけを見ます。左端のAvgは9データセットの平均です。\n\n| モデル | LC | RAG | 差 |\n| --- | ---: | ---: | ---: |\n| Gemini-1.5-Pro | 49.70 | 37.33 | 12.37 |\n| GPT-4O | 48.67 | 32.60 | 16.07 |\n| GPT-3.5-Turbo | 32.07 | 30.33 | 1.74 |\n\n*原論文Table 1の平均点から計算。*\n\n三つともLCが上で、新しいモデルほど差が大きくなります。\n\n例外はGPT-3.5-TurboのEn.QAとEn.MCです。RAGは15.39、43.67、LCは14.73、34.50でした。平均14.7万語の文書を16K tokenへ入れることはできません。著者らも、入力がコンテキスト長を大幅に超える場合を、RAGの明確な用途に挙げています。\n\n\n> [!NOTE]\n> \n> **論文の数値について**\n> \n> 本文とTable 1には一致しない数値があります。例えば本文はLCの平均改善を7.6%、13.1%、3.6%、Geminiの回答可能割合を81.74%、GPT-4OのSelf-RouteとLCを46.83、47.04としています。Table 1では、差は上の表の通りで、対応する値は76.78%、48.89、48.67です。このノートでは一貫してTable 1を使います。\n\n\n### 面白い発見：両者はよく同じ答えを出す\n\n平均点だけなら、「予算があればLC」という結論になりそうです。\n\nしかし、著者らは問題ごとの答えを比べ、次の図を描きました。\n\n[![各問題のRAGとLCのスコア差の分布。大部分が0に集中する](/content/papers/assets/977e711ec46055e2207ae7f021de5d8f1140e73a8d3dadcc2c3daf7a8d146a43.png)](/content/papers/assets/977e711ec46055e2207ae7f021de5d8f1140e73a8d3dadcc2c3daf7a8d146a43.png)\n\n*原論文Figure 2。[**ACL Anthology PDFの3ページ**](https://aclanthology.org/2024.emnlp-industry.66.pdf#page=3)から抜粋、CC BY 4.0。横軸はRAGからLCを引いたスコア差、色は両者の平均点です。*\n\n横軸は0～100へ換算したスコアの差です。0にとても高い棒があります。**63%の問題で、答えが完全に同じ**だったのです。差が10点以内の問題は70%でした。\n\n色も見てください。その棒の下部は青で、両方正解した問題です。上部の赤は、両方が間違えた問題です。\n\n一緒に正解することも、一緒に間違えることも多いのです。\n\n多くの問題でRAGがLCと同じように答えるなら、RAGで処理できない問題だけを見つけてLCへ送ればよさそうです。\n\n### Self-Route：モデルに「分からない」と言わせる\n\nどの問題をRAGで処理できないか、どう判断すればよいのでしょう。\n\n著者らの答えは直接的です。**モデル自身に聞きます。**\n\n二段階で処理します。\n\n1. **RAGとルーティング**。質問と検索断片を渡し、「与えられた文章から答えられなければunanswerableと書け」と追加します。答えられれば、その回答を採用します。\n2. **長文コンテキストによる予測**。unanswerableの問題だけ、文書全体をLCへ渡して答え直します。\n\n模式的には、次のコードです。\n\n```python\ndef self_route(question, document, k=5):\n    chunks = retrieve(question, document, k=k)       # 300語ずつ分割し、上位k件を取る\n    answer = llm(question, context=chunks, allow_unanswerable=True)\n    if answer != \"unanswerable\":\n        return answer                                # 大部分の問題はここで終了\n    return llm(question, context=document)           # 一部だけ全文を渡す\n```\n\n追加の分類器は学習しません。断片を読んだモデルの自己判断だけで振り分けます。これらの断片から答えられるかを、十分正確に判断できるという前提です。\n\n### どれだけ節約できるか、計算してみる\n\ntokenの節約量を、簡単な見積もりで考えます。\n\n全文の長さを$L$、検索断片を$\\ell$、回答可能と判断する割合を$a$とします。全問題でRAGとルーティングの$\\ell$を払い、回答不能とした問題ではさらに全文$L$を払います。平均入力tokenは、およそ次です。\n\n$$\n\\ell + (1-a)\\,L\n$$\n\n純粋なLCの$L$に対する比率は、\n\n$$\n\\frac{\\ell}{L} + (1-a)\n$$\n\n本文の例では、検索断片は約1.5K token、全文は約10K～100Kです。全文100K、回答可能割合$a=0.77$なら、\n\n$$\n\\frac{1.5}{100} + (1-0.77) = 0.015 + 0.23 \\approx 25\\%\n$$\n\n$a=0.57$なら、約44%です。\n\n指示文と出力の長さは省いた式ですが、**節約量は主に、モデルがどれほど頻繁に断片だけで答えるかで決まる**と分かります。\n\n## 考察\n\n### 結果\n\nTable 1へ戻り、各モデルの後ろ3行を見ます。\n\n| モデル | LC | Self-Route | 回答可能割合 | token割合 |\n| --- | ---: | ---: | ---: | ---: |\n| Gemini-1.5-Pro | 49.70 | 46.41 | 76.78% | 38.39% |\n| GPT-4O | 48.67 | 48.89 | 57.36% | 61.40% |\n| GPT-3.5-Turbo | 32.07 | 35.32 | 74.10% | 38.85% |\n\n*原論文Table 1をもとに整理。token割合は、LCに対するSelf-Routeの使用量です。*\n\nGPT-4Oは約6割のtokenでLCとほぼ同点です。Gemini-1.5-Proは4割未満で、3.29点低くなります。GPT-3.5-TurboはLCを3.25点上回り、16Kに入らない二つの長文データで特に差が出ます。En.QAは22.03対14.73、En.MCは44.54対34.50です。\n\n三つとも回答可能割合は半分を超えます。大部分の問題では全文が不要、という出発点を支える結果です。\n\nGPT-4Oは回答可能とする割合が低く、その分token割合が高くなります。著者らはアラインメントの違いを推測しています。OpenAIモデルは断片だけで答えることを避けやすく、答える件数は少ないものの精度は高い。Geminiは直接答えやすい、という解釈です。論文で追加検証はしていません。\n\nDragonへ替えても、Gemini-1.5-Proの傾向は同じです。LC 49.70、RAG 38.09、混合46.81、RAGで処理する割合77.88%、token割合37.87%でした（Table 2）。\n\n### 何件取るべきか\n\n$k$を増やすとRAGが見る断片が増え、LCの成績へ近づきますが、全問題のルーティングコストも上がります。\n\n$k$を1から50超まで変えた曲線では、$k=1$でRAGは20.24、Self-Routeは37.9と、混合の利点が最も大きくなります。50を超えると、三手法は近い成績になります。\n\nコストは単調ではありません。平均では$k=5$が最小です。少なすぎると多くの問題がLCへ回り、多すぎると毎回の費用が増えるからです。ただし最適値はデータセット次第で、NarrativeQAやQMSumのようなマルチホップ推論を必要としないデータでは、$k=1$が最安でした。\n\n### なぜRAGは失敗するのか\n\n回答不能とされた問題を四つの理由へ整理し、少数の人手ラベル例を与えたGemini-1.5-Proで全失敗を分類します。\n\n- **A. 複数段階**：最初の答えを知らないと、次に何を調べるか分からない。「曲XXXの歌手はどこの国の人か？」などです。\n- **B. 漠然としている**：「この人たちはXXXについてどう考えているか？」など、良い検索クエリを組みにくい問題です。\n- **C. 長く複雑**：検索器が質問全体を理解しにくいものです。\n- **D. 暗黙的**：文脈全体の理解が必要です。宇宙旅行の長い会話で「宇宙船の後ろの影は何か」と聞いても、原因を説明する段落に「影」が出ない、といった例です。\n\n[![LongBenchの7データセットで、RAG失敗を複数段階、漠然、複雑、暗黙的、その他へ分類した分布](/content/papers/assets/c571b153dec93eecff057696a2888bf48a13750fe10ac943cc49b0c4e2bc9d92.png)](/content/papers/assets/c571b153dec93eecff057696a2888bf48a13750fe10ac943cc49b0c4e2bc9d92.png)\n\n*原論文Figure 4。[**ACL Anthology PDFの6ページ**](https://aclanthology.org/2024.emnlp-industry.66.pdf#page=6)から抜粋、CC BY 4.0。棒の高さは各データセットのRAG失敗数です。*\n\n失敗理由は、データの性質とよく合います。\n\nWikipediaのマルチホップであるHotpotQA、2WikiMQA、MuSiQueでは、青の「複数段階」が最多です。会話の多い長編物語のNarrativeQAでは、緑の「暗黙的」がほぼ全体を占めます。会議記録へ自由に質問するQMSumは、赤の「漠然」が中心です。\n\n「その他」を人手で確認すると、多くは曖昧さのある複数段階の問題でした。\n\nRAGを作る側には実用的な図です。自分の質問がどの種類かを見て、検索器を変えるか、クエリを変えるか、全文を渡すか決められます。著者らは、複数段階にはRAG内のchain-of-thought、漠然・複雑な質問にはクエリ拡張などの再検討も提案します。\n\n### 合成データの落とし穴\n\n最後に、小さいながら興味深い実験があります。\n\n∞BenchのPassKeyは、無関係な文章の中へ「the passkey is 123456」を隠し、「What is the passkey」と尋ねる干し草の山から針を探す形式のテストです。\n\n| 質問の仕方 | RAG | LC |\n| --- | ---: | ---: |\n| What is the passkey | 80.34 | 65.25 |\n| What is the special token hidden inside the texts | 4.58 | 69.32 |\n| 二つのpasskeyのどちらが大きいか | 47.63 | 64.24 |\n\n*原論文Table 3をもとに整理。モデルはGemini-1.5-Pro。*\n\n元の質問ではRAGが大勝します。しかし「文章に隠れた特別な記号は何か」と言い換えるだけで80.34から4.58へ落ち、LCはほぼ影響を受けません。\n\n理由は想像できます。「passkey」が質問と対象文の両方にあれば、そのまま一致します。言い換えると一致が消え、検索器が見つけられなくなります。\n\n合成データの作り方だけで、RAGとLCの比較が大きく動き得る、というのが著者らの結論です。主実験に実データを使った理由でもあります。\n\n### 後の批判\n\nSelf-Routeは、まずRAGを試し、失敗したらLCへ戻ります。2026年5月の[**Route Before Retrieve**](https://arxiv.org/abs/2605.10235)は、この種の方法を失敗駆動のフォールバックと呼び、受動的で非効率、説明しにくいと批判します。そして回答前に、文書の軽量な情報から経路を決める方法を提案しました。\n\nこの批判は前提を明確にします。モデルは断片を読んだ後、自分が答えられるかを正しく判断する必要があります。楽観的すぎれば不完全な答えを返し、慎重すぎればLCの費用を余分に払います。\n\n## 結論\n\n答えは二つに分かれます。\n\n**精度ならLC**。9個の実データセットで、三つのモデルすべてのLC平均点がRAGを上回り、新しいモデルほど差が大きくなりました。文書がコンテキストを大幅に超える場合には、RAGが役立ちます。\n\n**費用なら混合が有利**。63%の問題で答えが同じです。先に断片で試し、答えられないときだけ全文を送ると、GPT-4Oは約61%のtokenで同等の点数、Gemini-1.5-Proは約38%で約3点低い成績になりました。\n\nRAGの失敗は複数段階、漠然、暗黙的な問題に多いこと、合成テストは質問の言い換えだけで勝敗が逆転し得ることも覚えておきたい点です。\n\nまずカンニングペーパーを見て、足りなければ本を開く。素朴な方法ですが、その費用はモデルがどれだけ正直に「分からない」と言えるかで決まります。\n","imageSizes":{"/content/papers/assets/bdedfb9a9df07b3ecad6c4f8fee397d8b051787576334f930ad25ea74f7be78e.png":{"width":1289,"height":575},"/content/papers/assets/977e711ec46055e2207ae7f021de5d8f1140e73a8d3dadcc2c3daf7a8d146a43.png":{"width":639,"height":420},"/content/papers/assets/c571b153dec93eecff057696a2888bf48a13750fe10ac943cc49b0c4e2bc9d92.png":{"width":650,"height":381}}}
