SPECULATIVE RAG: ENHANCING RETRIEVAL AUGMENTED GENERATION THROUGH DRAFTING

(ICLR 2025)

motivation

典型的检索增强生成(RAG)系统通常会将检索到的所有相关文档直接拼接成很长的上下文输入给大型语言模型(LLM) 。这种做法不仅增加了计算延迟,还使得模型需要进行更复杂的推理,并且容易遇到“迷失在中间(lost-in-the-middle)”的位置偏见问题 。

最近的研究(如 Self-Reflective RAG 或 Corrective RAG)试图通过让 LLM 进行自我反思或多次迭代来提高质量 。然而,这些方法通常需要对大型通用 LLM 进行专门的指令微调,或者由于多轮处理而显著增加延迟,在实际应用中成本很高 。

方法

多视角采样与文档聚类 (Multi-Perspective Sampling)

由于直接将所有 $n$ 篇文档输入给模型会导致冗余和位置偏见,系统首先会对这些文档进行聚类和降采样,以构建多个“文档子集”用于起草 。

特征嵌入:使用一个指令感知的嵌入模型 $\mathcal{E}$,根据用户问题 $Q$ 对所有检索到的文档提取特征向量 。

$$emb(d_{1}),…,emb(d_{n})=\mathcal{E}(d_{1},…,d_{n}|Q)$$

K-Means 聚类:将这 $n$ 篇文档划分为 $k$ 个聚类簇(代表检索结果中的 $k$ 种不同视角/主题) 。

$${c_{1},…,c_{k}}=k-Means(emb(d_{1}),…,emb(d_{n}))$$

构建文档子集:从每个聚类簇 $c_i$ 中随机抽取一篇文档,组合成一个包含 $k$ 篇文档的子集 $\delta$ 。

$$\delta = {random.sample(c) \text{ for } c \in {c_{i}}_{1}^{k}}$$

并行多组:重复上述抽样过程 $m$ 次,最终生成 $m$ 个独一无二的文档子集 $\Delta = {\delta_1, \dots, \delta_m}$ 用于后续的并行推理 。

专家 RAG 起草者 (Specialist RAG Drafter)

获得 $m$ 个文档子集后,系统会启动 $m$ 个小规模的“起草者”模型($\mathcal{M}_{Drafter}$)实例,并行处理这些子集 。

$\mathcal{M}_{Drafter}$ 是一个经过特殊指令微调的模型,其微调的优化目标是最大化在给定问题和文档下生成正确答案和“理由(Rationale,即对答案的解释)”的对数似然:

$$\mathbb{E}{(Q,A,D,E)}\log P{\mathcal{M}_{Drafter}}(A,E|Q,D)$$

在推理时,对于每一个文档子集 $\delta_j = {d_{j_{1}},…,d_{j_{k}}}$,$\mathcal{M}{Drafter}$ 会并行输出对应的“草稿答案” $\alpha_j$ 以及对应的“简短理由” $\beta_j$ 。 在此阶段,模型会计算出一个起草置信度得分 $\rho{Draft,j}$,衡量生成该理由和答案的可靠性 :

$$\rho_{Draft,j}=P(\beta_{j}|Q,d_{j_{1}},…,d_{j_{k}})+ P(\alpha_{j}|Q,d_{j_{1}},…,d_{j_{k}},\beta_{j})$$

通用 RAG 验证者 (Generalist RAG Verifier)

大LLM($\mathcal{M}_{Verifier}$,如 Mixtral)不需要阅读原先冗长的文档子集,而是直接通过评估每一组“草稿 + 理由”对 $(\alpha_j, \beta_j)$ 来选择最佳答案 。

验证者利用自回归语言模型的特性,在一次前向传播中计算出两个关键得分 :

  1. 自洽性得分 (Self-consistency score, $\rho_{SC}$): 评估草稿和理由在给定问题背景下是否自洽 。它通过计算给定问题 $Q$ 时,生成对应草稿和理由的条件概率得出 。

    $$\rho_{SC} = \prod_{t_{i}\in\alpha}P(t_{i}|t_{<i}) \cdot \prod_{t_{i}\in\beta}P(t_{i}|t_{<i})$$

    (注:本质即为 $\rho_{Self-contain}=P(\alpha,\beta|Q)$ )

  2. 自我反思得分 (Self-reflection score, $\rho_{SR}$): 系统会在提示词中加入一句自我反思的陈述 $R$(例如:“你认为这个理由能支撑这个答案吗?”) 。得分即为模型回答“Yes(是)”的概率 。

    $$\rho_{SR} = \prod_{t_{i}\in\text{“Yes”}}P(t_{i}|t_{<i})$$

最终决策

对于并行生成的 $m$ 个草稿,系统会将上述的三个概率得分相乘(起草得分、自洽性得分、自我反思得分),得到每个草稿的最终综合得分 $\rho_j$ :

$$\rho_{j} = \rho_{Draft,j} \cdot \rho_{SC,j} \cdot \rho_{SR,j}$$

最后,系统选取综合得分最高的草稿,作为该问题的最终答案($\hat{A}$)输出 :

$$\hat{A} = \arg\max_{\alpha_{j}}\rho_{j}$$

通过这种严密的数学概率评估,系统无需让大模型处理冗长文档,仅凭浓缩的“理由”和自身的语言建模能力,就能极为精准且高效地筛选出最佳回答。


SPECULATIVE RAG: ENHANCING RETRIEVAL AUGMENTED GENERATION THROUGH DRAFTING
https://lijianxiong.space/2026/20260422/
作者
LJX
发布于
2026年4月22日
许可协议