DEV Community

Tutty
Tutty

Posted on • Edited on

DualRAG: A Dual-Process Approach to Integrate Reasoning and Retrieval for Multi-Hop Question Answering

選定理由と所感

Tianjin Universityの研究、Agentic RAG な手法としてはシンプル。

paper: https://arxiv.org/abs/2504.18243
code: N/A
Blog: https://zenn.dev/knowledgesense/arti./cles/10b2b5f772b810

Dualというのは検索しクエリに回答する部分と、検索して集まった知識を整理する部分が協調的に働くためこう呼んでいる。

概要

【社会課題】
search-o1 と同じ

【技術課題】

  • 知識のニーズ変化:推論の進行状況によって新たな知識が必要になるタイミングが異なる
  • 情報の組織化と活用:取得した知識のノイズや断片化により、推論の一貫性が損なわれる。

【提案】
以下の2つのプロセスを反復し複雑な質問に高精度で回答するDualRAGを提案
Reasoning-augmented Querying (RaQ):現在の推論状況から必要に応じて検索クエリを生成
progressive Knowledge Aggregation (pKA):取得した情報を体系的に統合し、どんな情報が欠落しているかを明確にする

【効果】
HotpotQAでEM 65.0・F1 78.3を達成し、従来手法より最大+2.7 EM、+3.7 F1向上。小型モデルでもF1が+5.4改善し、オラクル知識なしでも高精度を維持

DualRAG

fig2

3.1 Framework of DualRAG

図2にDualRAGの全体像を示す。DualRAGは推論の文脈や進行状況に応じて検索を行うReasoning-augmented Querying (RaQ)、思考過程を記述し新しい知識を構造化しながら統合するprogressive Knowledge Aggregation (pKA)の2プロセスから成る。

Rt,Dt=RaQ(Kt1,x,Rt1) R_t, D_t = \text{RaQ}(K_{t-1}, x, R_{t-1})
Kt=pKA(Kt1,Dt) K_t = \text{pKA}(K_{t-1}, D_t)

ここで KtK_t tt 反復目の知識、 RtR_t は推論過程、 DtD_t は取得した文書集合、 xx はクエリ文を示す。

3.1.1 Reasoning-augmented Querying (RaQ)

重要な情報はエンティティ集合 EtE_t の周辺にあることが事前検証でわかっているため、エンティティごとに関連する文書を検索するためのクエリ集合 QtQ_t をセットで生成する。

Et, Qt(e)eEt=MEI(Kt1,x,rt) E_t,\ { Q_t(e) }{e \in E_t} = M{EI}(K_{t-1}, x, r_t)

クエリ集合でそれぞれ検索を行い、結果をマージ後にリランキングを行う。

3.1.2 Progressive Knowledge Aggregation

KS(Knowledge Summarizer) はドキュメントの関連性に基づきフィルタリングを行ったのちに、エンティティごとに必要十分な知識を残して圧縮した knowledge fragment kek_e を生成する。

ke=MKS(x,Rt,e,Qt(e),De)k_e = M_{KS}(x, R_t, e, Q_t(e), D_e)

PKO(Progressive Knowledge Outline)は「思考の履歴を自然言語で書き残す知識メモ」のようなもので、それをモデルが逐次的に活用していく。知識メモの形式は適用するビジネス領域に依存する面があるが、本研究では最も基本的なテキストのリストとする。

Kt(e)=Kt1(e)keK_t(e) = K_{t-1}(e) \cup { k_e }

3.2 Fine-Tuning for Compact Models

ハイエンドなLLMは利用コストも高いため、ロウエンドモデルを Finetune もしくは知識蒸留して用いる。HotpotQAデータセットをベースとし、GPTで元の質問に対して「中間質問・中間回答文・答え」の形式で複数ステップを生成。

tb1

集めたデータセットのサンプルは数 Table.1 である。

実験

評価指標はEM、F1に加え、検索精度や推論一貫性も個別に評価した。

Table2

従来のRAG手法との比較はTable.2であり、複数のデータセット、評価指標でSOTAであることがわかる。

Table3

各プロセスに対するアブレーションスタディはTable.3である。w/o R は reasoner が検索を使用しない、w/o EI は Entity の検出をしない、w/o KO はKnowledge outlineを使用しない設定である。実験結果ではどれも性能が低下しており、有効なプロセスであることがわかる。

最後にケーススタディを掲載する。

case

Top comments (0)