RAGでも「深い検索」を実現する手法「DeepRAG」
本記事では、RAGの性能を高めるための「DeepRAG」という手法について、ざっくり理解します。株式会社ナレッジセンスは、エンタープライズ企業向けにRAGを提供しているスタートアップです。
この記事は何
OpenAIがリリースした「Deep Research」[1]という機能が話題です。
この記事は、RAGでも「Deepな検索」ができるようにする手法「DeepRAG」の論文[2]について、日本語で簡単にまとめたものです。
今回も「そもそもRAGとは?」については、知っている前提で進みます。確認する場合はこちらの記事もご参考下さい。
本題
ざっくりサマリー
DeepRAGは、RAGの新しい手法です。DeepRAGを使うことで、データベースを深く・網羅的に検索した上で回答するRAGを、構築することができます。中国科学院ソフトウェア研究所とWeChat AIの研究者らによって2025年2月に提案されました。
OpenAIによる「Deep Research」が話題です。この機能では、ユーザーから質問が来ると、AIが何度もWeb検索をして、リサーチを重ねた上で、最終的な回答を生成してくれます。まるで人間みたいな仕事ぶりです。これにより、網羅的に情報を整理してくれるので、回答精度が高いです。
DeepRAGは、これと似たようなことを、一般的なRAGでも実現するための手法です。
問題意識
従来のRAGの課題として、「一度に複数のことを聞かれると、上手く答えられない」という課題がありました。これは、従来のRAGが「ユーザーの質問1回につき、1回までしかデータを検索できない」という、柔軟性を欠いた仕組みのせいで、発生する問題です[3]。
とはいえ最近では、これを克服して「複数回検索してから回答できる」ようなRAGの手法[4]も、出てきています。
しかし、そうした最近の手法にも課題があります。具体的には、「検索が要らない時まで検索してしまう」という課題です。これにより「回答が遅くなる」「ノイズが増えて回答精度が下がる」という問題に繋がります。
そこで、DeepRAGでは、マルコフ決定過程(MDP)[5]をRAGに導入することで、必要な分だけ、でも、十分な量、検索してから回答してくれるRAGを実現します。
手法
DeepRAGの全体像としては、まずユーザーから質問が来たら、「その質問に回答するにはどんな知識が必要か?」を考えます。その後に、「Web検索すべきか?それとも自分がもともと知っている知識でいけるか?」を考えるという仕組みです。このそれぞれの部分で、精度が高くなるよう、モデルを事前にファインチューニングしています。
【事前にやっておくこと】
以下のような手法を用いてLLMをファインチューニング。「こういう質問だったらWeb検索すべき/しないべき」という境界判定の精度を上げます。
-
二分探索木形式での、データセットを下準備(上記画像の左側)
- 大量の質問データセットを用意。1つ1つについて、下処理をしていく
- まず、1つの質問を細かい質問(サブクエリ)に分解
- さらに、サブクエリそれぞれについて、Web検索すべき/しないべきを二分探索木で表現
- こうすることで、質問データに対して最適な回答をするためには、Web検索すべき/しないべき、という正解データを用意できる
-
模倣学習 & 知識境界の調整(Chain of Calibration)
- 上記を学習データとして学習
- 検索回数を最小限にしつつ正確な回答を出す方法を学習
【ユーザーが質問を入力して来たとき】
-
質問をサブクエリに分解
- 例: 「フランス革命の原因は?」→ 「フランス革命とは?」「フランス革命の経済的背景は?」など
-
サブクエリごとに、検索が必要かを判断
- 検索して回答生成 or 検索せずそのまま回答
- 2の情報を統合。最終回答生成
DeepRAGという手法のキモは、知識境界の調整です(Chain of Calibration)。どういうことかというと、まず前提として、LLMは「メタ認知」が苦手です。例えば「自分はXXについての知識を持っていないな」と、LLM自身が考える能力は、かなり弱いです。なので、DeepRAGでは、「こういう質問だったら検索すべき」という境界の判定を矯正しています(モデルのファインチューニングを活用)。
成果
- 従来手法と比較して回答精度が平均21.99%向上
- 検索回数を削減しながら精度を向上させることに成功
まとめ
OpenAIの「Deep Reserch」機能の影響で、日本でも「調査エージェント」的なサービスが流行することが予想されます。ただ、素朴に実装してしまうと、「回答が遅すぎる」「ノイズが増えて回答精度が低い」という問題が起きます。
DeepRAGという手法は、LLMのメタ認知能力を高め、上記の問題を解決します。
みなさまが業務でRAGシステムを構築する際も、選択肢として参考にしていただければ幸いです。今後も、RAGの回答精度を上げるような工夫や研究について、記事にしていこうと思います。我々が開発しているサービスはこちら。
Discussion