DeepRAGは、質問を小さなサブクエリに分け、サブクエリごとに「外部文書を検索するか、モデル自身の知識で答えるか」を判断させるRAG(検索拡張生成)の手法です。中国科学院ソフトウェア研究所とTencent WeChat AIの研究者9名が2025年2月にarXiv:2502.01142として公開し、ICLR 2026のポスター発表に採択されました。
同じ名前で、UiPathのContext Groundingにも「DeepRAG」という機能があります。こちらは論文とは無関係の製品機能です。この記事では論文のDeepRAGを中心に、仕組み・学習手順・実験結果・公開コードの状態を順に説明し、UiPath版は別の章で整理します。
まとめ:DeepRAGの要点
- DeepRAGは、検索を伴う推論をマルコフ決定過程(MDP)として扱い、サブクエリごとに「検索する/しない」を決める学習手法
- 学習は2段階。二分木探索で「正解に届き、かつ検索回数が最少の経路」を集めて模倣学習し、次にChain of Calibrationで検索要否の判断だけを選好データで較正する
- Llama-3-8Bでは6データセット平均が44.13で、比較手法の最高値(CoT-Retrieveの39.05)を上回った。WebQuestionsでの平均検索回数は0.28回
- 要旨の改善率はv1が21.99%、v2が26.4%、ICLR 2026版が25.41%と版ごとに違う。引用するときは版を明記する
- 公式リポジトリにはLICENSEファイルがなく、Hugging Faceの重みにもライセンスの記載がない。業務で流用する前に著者への確認が必要
- UiPathのDeepRAGは「Deep Research-Augmented Generation」の略で、複数文書を横断して引用付きの回答をまとめる製品機能
DeepRAGが解こうとした問題:分解の失敗と冗長な検索
論文が指摘する課題は2つです。1つは、複数の事実をたどる質問をうまく小分けにできないこと。もう1つは、答えを知っている部分まで検索してしまうことです。不要な検索によって関係の薄い文書が文脈に混ざると、回答の品質が下がることがあります。
従来の反復型RAGは「毎ステップ検索する」か、「トークンの確信度が閾値を下回ったら検索する」ものが中心でした。DeepRAGは検索の要否をモデル自身の知識の境界に合わせて学習させます。検索回数を減らしながら精度を上げるのが狙いです。検索と推論を組み合わせる設計全般はAgentic RAGのアーキテクチャ解説で扱っています。
DeepRAGの仕組み:MDPで定式化した検索判断
状態・行動・報酬の定義
状態は「元の質問と、それまでに出したサブクエリと中間回答の列」です。各ステップでモデルは2つの判断を下します。
- 終了判断:次のサブクエリを作るか、最終回答を出して終えるか
- 原子的判断(atomic decision):いまのサブクエリを、文書を検索して答えるか、パラメータ内の知識だけで答えるか
報酬は最終回答の時点でだけ与えられ、まず正誤を見て、正解の中では検索回数が少ないほど高くなります。精度を最優先にしつつ、同じ正解なら検索の少ない経路を選ばせる設計です。論文はサブクエリを前の中間回答に基づいて順に作っていく流れを「retrieval narrative」と呼んでいます。
推論時の出力形式
モデルは次の形式でサブクエリと中間回答を書き出します(論文3.2節)。検索を選んだステップだけにContext行が入ります。
Question : <Question>
Follow up : <Subquery1>
Let's search the question in Wikipedia.
Context: <Paragraph Text>
Intermediate answer : <Intermediate Answer1>
Follow up : <Subquery2>
Intermediate answer : <Intermediate Answer2>
......
So the final answer is : <Answer>
この例では、1問目は検索して答え、2問目はモデルの知識だけで答えています。論文の分析では、多くの質問が3〜5ステップに分解され、検索は0〜2回に集中していました。
学習の手順:二分木探索・模倣学習・Chain of Calibration
Stage I:二分木探索による最少検索経路の収集と模倣学習
サブクエリごとに「知識で答える」「検索して答える」の2通りに分岐させると、質問ごとに二分木ができます。論文のアルゴリズム1は、検索回数を優先度にしたキューで経路を展開し、正解に届いた時点で最も検索の少ない経路を採用します。どの経路でも正解できない質問は捨てます。
学習データはHotpotQAと2WikiMultihopQAから各4,000件です。サブクエリの分解と検索結果からの回答はQwen-2.5-72Bが生成し、知識だけで答える中間回答は学習対象のモデル自身が生成します。損失の計算では検索文書の部分をマスクし、ノイズの多い文書そのものをモデルが覚え込まないようにしています。
Stage II:Chain of Calibrationによる検索判断の較正
Stage Iのモデルで最少検索の経路を探し直し、サブクエリごとに「こちらが正しい選択」という選好ペアを作ります。たとえば最適経路が「1問目は知識で、2問目は検索で」なら、1問目は知識による回答を、2問目は検索による回答を好ましい側に置きます。経路全体ではなくサブクエリ単位で較正するのが、この段の特徴です。データは両データセットから各1,000件を追加で使います。公式リポジトリではこの段のデータをconstruct/dpoに出力します。
強化学習(GRPO)への拡張
v2では、Stage IIをGRPOによる強化学習に置き換えた実験が追加されました。学習が進むにつれ2WikiMultihopQAのF1が上がり、平均検索回数は下がる推移が示されています。実装はSearch-R1-for-DeepRAGとして別リポジトリで公開されています。
実験結果:6データセットの精度と検索回数
評価には、学習に使ったHotpotQA・2WikiMultihopQA(分布内)と、学習に使っていないCAG・PopQA・WebQuestions・MuSiQue(分布外)の6データセットを使っています。検索器はBM25で、基本の知識源はDPRのWikipedia分割です。ただし、CAGの時事問題にはデータセット付属の最新の文章を使っています。次の表は論文v2の表1から、完全一致率(EM)と回答の語句の重なりを測るF1を平均した「Avg」列を抜き出したものです。ただし、Search-o1にはDeepSeek-R1の蒸留モデルを使用しており、列見出しのモデルと同一条件ではありません。
| 手法 | Llama-3-8B | Qwen-2.5-7B | Qwen-2.5-32B |
|---|---|---|---|
| CoT(検索なし) | 24.54 | 17.85 | 16.99 |
| CoT-Retrieve | 39.05 | 27.49 | 32.34 |
| Auto-RAG | 32.62 | – | – |
| Search-o1 | 15.36 | 11.09 | 28.00 |
| UAR | 37.52 | 27.39 | – |
| TAARE | 37.75 | 28.38 | – |
| DeepRAG-Imi(Stage Iのみ) | 42.32 | 35.59 | – |
| DeepRAG | 44.13 | 39.00 | 42.27 |
DeepRAG-ImiとDeepRAGの差(Llama-3-8Bで1.81ポイント)が、Chain of Calibrationの上乗せ分です。Qwen-2.5-32Bでは比較手法がCoT系・Iter-DRAG・Search-o1の4つに絞られており、7B・8Bの結果とは比較範囲が違います。
検索回数と1問あたりの時間(WebQuestions)
表2では、DeepRAGがEM 32.70、平均検索0.28回、1問あたり0.50秒でした。処理時間はH20を8基搭載した環境での測定値です。反復検索型のAuto-RAGは平均4.52回検索してEMは17.40です。確信度で検索を決めるFLAREとDRAGINは、既定の閾値のままではWebQuestionsで一度も検索しませんでした。閾値を使う方式はデータセットごとに調整が要る、ということです。
検索すべき質問を見分けられたかは、2WikiMultihopQAで別に測られています(表3)。検索なしのCoTで解けたかどうかを基準にした一致度(MCC)は、DeepRAGが0.451で、分類器で検索要否を決めるUARの0.341を上回りました。
CoT-Retrieveに負けたデータセット:時事問題のCAG
時事性を問うCAGでは、毎回検索するCoT-Retrieve(Llama-3-8BでEM 55.45)がDeepRAG(52.96)を上回りました。論文は、時事問題ではほぼ毎回検索することが正解になるためだと説明しています。モデルの学習時点より新しい事実を問う用途では、検索を省く設計そのものが不利になり得ます。
論文の版別改善率:21.99%・26.4%・25.41%
DeepRAGの紹介記事によって改善率が違うのは、引用元の版が違うためです。
| 版 | 公開 | 要旨の改善率 | 主な違い |
|---|---|---|---|
| arXiv v1 | 2025-02-03 | 21.99% | 題名は「Thinking to Retrieval」、5データセット |
| arXiv v2 | 2025-06-08 | 26.4% | 題名を「Retrieve」に変更、MuSiQue・Qwen-2.5-32B・GRPOを追加 |
| ICLR 2026採録版 | 2026年 | 25.41% | ポスター発表として採択 |
v2でも序論には「21.99%」が残っており、要旨の26.4%と食い違っています。また、どの手法を基準にした改善率なのかは要旨に書かれていません。社内資料や提案書で数字を使うなら、単一の「○%向上」より、上の表1のように比較手法と平均値を並べて示すほうが誤解を生みません。
公開コードと重みの状態:試す前に確認すべき点
公式実装はGitHubのgxy-gxy/DeepRAGにあります。構成は次のとおりです。
- 評価基盤は適応型検索の手法DRAGINの実装をベースにしている
- 検索にはElasticsearch 7.17.9を使い、DPRのWikipedia分割(psgs_w100.tsv)を索引化する
- 学習はLLaMA-Factoryを使い、Stage I(SFT)とStage II(選好学習)のスクリプトが分かれている
- 学習済みの重みはHugging Faceの
xinyan233333/DeepRAG-7b(Qwen系)とDeepRAG-8b(Llama系)で、Hugging Face上のリポジトリ作成日はどちらも2026年2月17日
注意すべきはライセンスです。2026年9月26日時点で、リポジトリにはLICENSEファイルがなく、GitHub上のライセンス表示も空です。Hugging Faceの2モデルにもライセンスの記載はありません。研究目的で読むのは問題ありませんが、社内システムへ組み込む、改変して配布するといった用途では、著者に利用条件を確認してから進めてください。
試し方は2通りあり、必要な準備が違います。公開済みの重みで推論だけ試すなら、利用条件の確認と、Elasticsearchを含む推論・検索環境があれば足ります。自社データに合わせて学習し直すなら、7B〜8Bのモデルを追加学習する計算資源と、質問と正解のペアが数千件単位で必要です。時事性の高い質問が中心の用途では、前章のCAGのように毎回検索する単純な構成が勝つこともあります。逆に、固定の社内コーパスに対するマルチホップ質問が多く、検索APIの呼び出し回数やレイテンシを減らしたい場合は、検討する価値があります。導入の前後で精度を比べるなら、検索と生成を分けて測るRAG評価の指標と実装の手順が使えます。
Self-RAG・FLARE・Auto-RAGとの比較:検索判断の仕組みと単位
適応型RAGの手法は、検索するかどうかを何で決めるかで分けると違いが見えます。
| 手法 | 検索の要否を決めるもの | 単位 |
|---|---|---|
| FLARE・DRAGIN | トークンの確信度・重要度と閾値 | 生成中のトークン |
| UAR | 別途学習した分類器 | 質問 |
| Auto-RAG | 反復検索を続けるかの自己判断 | 反復ステップ |
| Search-o1 | 推論モデルが特殊トークンで呼び出す | 推論の途中 |
| DeepRAG | 最少検索の経路で学習したモデル自身 | サブクエリ |
Self-RAGは、論文の関連研究で「データの自動合成で推論を強化する手法」としてAuto-RAGと並べて挙げられていますが、v2の実験の比較対象には入っていません。DeepRAGとの違いは、Self-RAGが生成の途中で反省トークンを出して検索や自己評価を行うのに対し、DeepRAGはサブクエリ単位の二択に判断を絞っている点です。
「RAGに任せるか、長文コンテキストのLLMに任せるか」を質問ごとにモデル自身が判断させる発想は、Self-Routeの解説とも共通します。検索前に推論を生成してからクエリを作る方向の研究には、O1 Embedderがあります。
UiPathのDeepRAG:Context Groundingの複数文書横断機能
「uipath deeprag」で調べている場合は、こちらが目的の情報です。UiPathのDeepRAGは「Deep Research-Augmented Generation」の略で、Automation CloudのContext Groundingに含まれる機能です。公式ドキュメント「Using DeepRAG」は、動作を次の3段階で説明しています。
- Planning:質問を分析し、サブタスクと調査範囲を決める
- Iterative research loop:索引済みのデータを検索し、根拠を抜き出して統合する
- Synthesis:根拠をまとめ、引用付きの回答を作る
1回のクエリで最大1,000ページを横断し、主要な記述ごとに文書名・ページ番号・タイムスタンプを引用として付けます。対象ファイルはネイティブPDFかTXTで、1ファイル512MBまでです。取り込みとクエリ実行にはAI Unitsを消費します。スキャンしたPDFはOCRを済ませておくよう案内されています。
論文のDeepRAGは検索判断をモデルに学習させる手法を提案した研究で、UiPathのDeepRAGはエージェントから呼び出す文書分析・統合の製品機能です。公式ドキュメントが挙げる前提条件は対応形式の文書とAI Unitsで、学習データの準備は含まれていません。両者には、質問を分けて段階的に調べるという共通点があります。
よくある質問
DeepRAGとは何ですか?
質問をサブクエリに分解し、サブクエリごとに検索するかモデル内の知識で答えるかを判断させるRAGの手法です。2025年2月にarXivで公開され、ICLR 2026に採択されました。
DeepRAGは従来のRAGと何が違いますか?
従来手法には、毎回検索する方式や確信度の閾値を使う方式のほか、分類器やLLM自身が検索の要否を決める方式もあります。DeepRAGは「正解に届き、検索が最少の経路」から学習し、サブクエリ単位で検索を省きます。WebQuestionsでは平均検索回数0.28回でした。
UiPathのDeepRAGは論文のDeepRAGと同じものですか?
別物です。UiPathのDeepRAGは「Deep Research-Augmented Generation」の略で、Context Groundingで最大1,000ページの文書を横断し、引用付きの回答を作る製品機能です。公式の利用手順では、利用者による追加学習は要求されていません。
DeepRAGのコードや学習済みモデルは公開されていますか?
GitHubのgxy-gxy/DeepRAGにコードが、Hugging Faceにxinyan233333/DeepRAG-7bとDeepRAG-8bの重みがあります。どちらもライセンスの記載がないため、業務で使う前に著者へ利用条件を確認してください。
DeepRAGはどのLLMで検証されていますか?
論文v2ではLlama-3-8B-Instruct、Qwen-2.5-7B、Qwen-2.5-32Bで検証されています。いずれも二分木探索で作ったデータで追加学習しており、既存のLLMにプロンプトだけで適用する手法ではありません。