查询思维链只写一次,滑动窗口重排少跑7.9倍推理

QReason: Query-Focused Decoupled Chain-of-Thought for Efficient Passage Reranking

Yang Zhang, Wenhan Liu, Qiannan Zhu, Mingming Li, Yuanfei Huang

cs.IR

2026-09-25

QReason把查询级思维链写成一次可复用的推理查询再交给非推理重排器,在BRIGHT上把Qwen3.5-35B-A3B的NDCG@10从35.49提到36.93,端到端比ReasonRank快约7.9倍。

这篇在解决什么

复杂检索的 listwise LLM 重排器会边想边排,但上下文装不下全部候选,只能滑动窗口。每个窗口都把查询意图重新推理一遍。论文用 BGE-m3 去量 ReasonRank 在 BRIGHT 上同查询不同窗口的思维链,语义相似度超过 90%。重的是查询级推理,窗口局部那段才真正在看当前段落。

检索阶段的查询改写也不能直接搬过来。重排器对细粒度查询-文档交互更敏感,多出来的内容会变成假相关信号。GPT-4 和 TongSearch 的改写在检索上有用,接到重排上就不稳,Qwen3-30B-A3B 上 GPT-4 改写平均掉 2.61 分。

方法

QReason 把全局查询推理从窗口打分离出来。一个 rewriter 只看原始查询,生成一条面向排序的推理查询,后面所有窗口的非推理重排器都复用它,拼在原查询后面。

训练两段。第一段 Relevance-Grounded Supervised Tuning:用 DeepSeek-R1 当老师,在(查询,金标相关段落)上合成推理查询,再 SFT 到 Qwen2.5-7B-Instruct。金标段落只在训练时可见,用来把改写钉在真正相关的证据面上。第二段 Rank-Aligned Dual-Reward Refinement:推理时不再给金标段落,用 GRPO 采样一组改写。listwise 奖励是固定重排器给出的 NDCG@10;pointwise 奖励是改写与每条金标段落的二值相关比例,防止只讨好某一个重排器。两项相加,pointwise 权重 λ 扫出来最好是 0.6。

结果

BRIGHT 上,QReason 配 Qwen3.5-35B-A3B 平均 NDCG@10 为 36.93,超过 ReasonRank-32B 的 36.45,也超过原查询的 35.49(+1.44)。同一套改写接到 Qwen2.5-32B-Instruct 上从 32.75 提到 35.18(+2.43),接到 Qwen3-30B-A3B 上从 34.48 提到 35.53(+1.05)。GPT-4、DeepRetrieval、TongSearch 在三个重排器上有升有降。

消融(Qwen2.5-32B-Instruct):完整 35.18;只做 RGST 33.50;只做 RADR 33.91;SFT 时拿掉金标段落 32.98;去掉 pointwise 或 listwise 分别掉到 33.85 和 33.90。两段训练和两种奖励都不是摆设。

六个 BRIGHT 子集上,相对 ReasonRank-32B 的端到端延迟(含一次改写):MoE 重排器 Qwen3.5-35B-A3B 约 7.86 倍,Qwen2.5-32B-Instruct 约 2.58 倍。省下的是后 K−1 个窗口里那次自回归思维链,不是预填充多出来的那点输入。

为什么重要

对要在推理密集型检索里上 CoT 重排、又受不了滑动窗口延迟的人,这条拆法很具体:查询意图想一次,窗口里只排序。7B 级 rewriter 就能喂 30B 级非推理重排器,平均点还略过专门训过的 32B 推理重排器。

增益是一个多点的 NDCG,不是换代。改写仍可能引入金标里没有的内容,case study 里 QReason 也会带上国民经济核算、支出调查这类宽口径噪声。

局限与存疑

奖励只有 listwise NDCG 和 pointwise 相关,覆盖、忠实、冗余这些面没有直接优化,作者自己也说以后可以加 rubric。评测主场是 BRIGHT 的 top-100 ReasonIR 重排,FreshStack 和 NeuCLIRBench 只在附录。Rewriter 的老师是 DeepSeek-R1,金标段落泄漏进 SFT 目标,和推理时「只看查询」仍有分布差。没有把改写接到 RankT5、ReasonRank 这类专门重排器上,因为那些模型是按原查询分布训的。

术语

原文与代码

社区讨论

相关论文

全部论文解读