🔍

「RAG x Deep検索」でRAGの回答精度を向上させる

に公開

本記事では、RAGの性能を高めるための「DualRAG」という手法について、ざっくり理解します。株式会社ナレッジセンスは、エンタープライズ企業向けに「社内データ検索サービス」を提供しているスタートアップです。

この記事は何

この記事は、RAGの新手法である「DualRAG」の論文[1]について、日本語で簡単にまとめたものです。

https://arxiv.org/abs/2504.18243

今回も「そもそもRAGとは?」については、知っている前提で進みます。確認する場合は、こちらの記事もご参考下さい。

本題

ざっくりサマリー

RAGに特化した「ディープな検索」システムで精度向上
DualRAGは、RAGの精度を上げるための新しい手法です。天津大学の研究者らによって2025年4月に提案されました。

最近、OpenAIの「Deep Research」が話題です。この機能では、Web上の情報をもとに深く考え、高精度な回答をすることができます。ただ残念ながら、本家「Deep Research」の実装は、公開されていません。

しかし、今回紹介する「DualRAG」という手法は、普通のLLM(Qwen2.5)を使いながら、「Deep Research」のようなことを実現できます。RAG開発者としては、かなり参考になります。

この手法では、LLMが、①検索ワードの生成 (RaQ)と ②要約(pKA)の2つのツールを自律的に使いこなしながら、高精度な回答を生成します。

問題意識

RAGに特化した「ディープな検索」システムで精度向上
従来のRAGには 「柔軟性がない」 という問題があります。[2]

例えば、「『スターウォーズ』と『ハリー・ポッター』で映画監督が先に生まれたのはどっち?」という質問があったとします。

もし、RAGのソース文書に、正解が「そのまま」あればそれでOKですが、現実では普通、情報が分散しています。なので通常、この質問に答えるには、①「それぞれの映画監督が誰か?調べる」→②「それぞれの誕生日を調べる」というステップが必要です。

しかし通常のRAGだと、ユーザーの質問に対して1回しか検索しないので、回答精度が悪いです。

(※もちろん、この「柔軟性がない」という課題に対して、「IRCoT」や「HiRAG」のようなRAG手法も登場していますが、やはり、柔軟性には問題があり、十分では有りませんでした。)

手法

RAGに特化した「ディープな検索」システムで精度向上
DualRAGでは、「Qwen2.5」というLLMと、それに与えるプロンプトを工夫することで、深い検索ができる仕組みを実現しています。

【ユーザーが質問を入力して来たとき】

  1. 推論・検索(RaQ)
    • 「現在の知識で十分か?」をメタ認知→「情報不足」と判断すると検索
    • 的確なキーワードで検索できるよう、無駄な単語は省く(=エンティティの抽出)
  2. 情報の要約(pKA)
    • 1で取得した情報を整理・要約
  3. 1・2の繰り返し
    • 回答にたどり着くまで、必要なだけこのサイクルを繰り返す
  4. 最終回答を生成

DualRAGという手法のキモは、「検索⇄要約」のサイクルです。単に検索回数を多くするのではなく、常に「メタ的な視点から要約・整理するステップ」を挟みます。そうすることで、最低限の検索回数で、答えにたどり着くことが可能です。[3]

成果

RAGに特化した「ディープな検索」システムで精度向上

  • HotpotQAなどのマルチホップQAデータセットで、「IRCoT」や「MetaRAG」など既存のRAG(「繰り返し」検索を用いる手法)を上回るスコアを達成
  • 検索を「必要な時だけ」発火する柔軟性。平均イテレーション回数を 2〜3 回程度に削減

また、「DualRAG」のさらにすごい点は、「小さいモデル」(Qwen-2.5-7B-Instruct)でも、ほぼ変わらない回答精度を出せるようにしている点です。まずは「大きいモデル」(72B)で精度向上を実現した後、「小さいモデル」をファインチューニング(蒸留)することで、これを実現しています。

まとめ

弊社では普段から、エンタープライズ向けにRAGサービスを開発しています。サービスをやっていて思うのは、「大企業のユーザーだと、質問が複雑になりがち」という問題です。質問の中に社内用語が含まれていたり、社内プロセスも複雑だったりします。

こうした場合、従来のRAGのように「1回しか検索しない」パターンだと、回答精度が低いです。まさに、DualRAGのような、「深く」「繰り返し」検索できる手法が必要になってきます。

ただ、単に「深く」検索すればいいというものでもありません。時間がかかりすぎます。このように「如何に精度を保ちながら、如何に高速に回答するか」という点で、DualRAGは、ちょうどいい手法だと言えます。

みなさまが業務でRAGシステムを構築する際も、選択肢として参考にしていただければ幸いです。今後も、RAGの回答精度を上げるような工夫や研究について、記事にしていこうと思います。我々が開発しているサービスはこちら

脚注
  1. "DualRAG: A Dual-Process Approach to Integrate Reasoning and Retrieval for Multi-Hop Question Answering", Cheng et al. ↩︎

  2. これまでの記事でもたびたび取り上げてきました。例えば、『RAGでも「深い検索」を実現する手法「DeepRAG」』など ↩︎

  3. Deepな検索を実装すると「あるある」問題である「ずれの蓄積」を防ぐことができます ↩︎

ナレッジセンス - AI知見共有ブログ

Discussion