内生检索:基于注意力模型的内在检索能力 Retrieval from Within: An Intrinsic Capability of Attention-Based Models
用编码器-解码器交叉注意力替代外部检索器,统一检索与生成
前置知识
检索增强生成 (RAG)
RAG 是当前知识密集型问答与生成任务的事实标准范式,由一个独立的检索器从大规模语料中选出相关证据,再由生成器(通常是大语言模型)基于检索到的文本产生答案。典型代表如 RAG、DPR、Atlas 等,其核心假设是:'问题所需的证据稀疏且分散',因此显式解耦检索与生成可以兼顾效率与效果。
本文要论证的核心正是 RAG 范式'可以被吸收进模型内部'。如果对 RAG 的模块化动机、检索-生成 mismatch 问题没有清晰认知,就无法理解 INTRA 提出的内在检索为什么重要。
Encoder-Decoder 与 Cross-Attention
Encoder-decoder 架构(如 T5、Flan-T5、T5Gemma2)通过编码器把输入序列压缩为 token 表征 K∈R^{Lc×d},解码器在每一层通过 cross-attention 用 query q 查询 K 得到上下文。形式化地 z=Attention(q, K, K)=softmax(qK^T/√d)K,这是 query-conditioned 的信息选择机制。
INTRA 的关键洞察是 cross-attention 本身就是一种 query-conditioned retrieval——这与外部 retriever 的匹配操作在数学形式上完全一致。理解 cross-attention 才能理解为什么 decoder 自身能够充当 retriever。
Late Interaction / MaxSim (ColBERT 风格)
Late interaction 是一类多向量检索方法(如 ColBERT、ColBERTv2),文档和查询都被编码为多向量序列,匹配时用 MaxSim:s(u,v)=Σ_a max_b (u_a^T v_b / √d),即对每个查询 token 取与文档 token 的最大相似度后求和。MaxSim 的排序等价于 token 级注意力分数的聚合,本文公式 (3) 复用了这一形式。
INTRA 用 MaxSim 把 token 级 cross-attention 分数聚合成 chunk 级检索分数 s_i,从而在公式 (4) 中实现'对完整语料的重新排序'。这是连接 cross-attention 与 chunk-level retrieval 的桥梁。
多跳问答 (Multi-hop QA)
多跳问答要求模型从多段分散证据中整合信息才能作答,例如 HotPotQA 需要桥接两个相关实体、2WikiMultihopQA 强调显式推理链、MuSiQue 通过对抗构建增加组合难度。这类任务对'找全证据'的要求高于单跳问答(如 Natural Questions),是评估'证据组装能力'的天然试金石。
本文的实验结果最显著的优势就体现在多跳基准上(HotPotQA +2.8 EM、2Wiki +2.4 EM、MuSiQue +0.7 EM),单跳 NQ 上反而略输。这说明 INTRA 的'内在检索'优势在需要证据组装的场景中才能充分发挥。
Gap Closure 指标
作者在 Table 2 中提出 GapClosure = 100·(EM(INTRA)−EM(random))/(EM(complete)−EM(random)),衡量检索方法把'随机上下文到 oracle 完整证据'的 EM 差距闭合了多少百分比。这一指标隔离了'检索器选择证据的能力'对最终 EM 的贡献,便于跨生成器比较。
GapClosure 揭示了一个反直觉的发现:尽管更强大的生成器(Qwen3.5-27B 绝对 EM 更高),使用 INTRA 检索+ T5Gemma2 自身生成反而能闭合最大 59.4% 的差距,超过任何外部生成器组合。这说明 retriever-generator 共享表征空间的价值。
研究动机
当前 RAG 范式将检索与生成解耦为两个独立模块,实践暴露出三类系统性问题。第一是 retriever-generator mismatch:retriever 在自己训练得到的 embedding 空间里选证据,generator 却在另一个 LLM 表征空间里消费这些文本,两者之间存在固有的表征鸿沟,BGE、Qwen-Embedding 等检索器在 HotPotQA/NQ 监督数据上训练后仍可能选出 generator 认为'用不上'的段落。第二是 re-encoding 开销:标准 RAG 检索到 top-k 段文本后,generator 需要在 prefilling 阶段重新把这些原始文本编码为 K(S) 喂给 cross-attention,Table 3 显示这是 O((L_q + kL_c)^2) 的二次项,随着 k 增大 TTFT 显著上升(图 4 中灰色线)。第三是 evidence assembly 难题:在多跳问答中,'找全证据'比'找对一个证据'难得多,传统 dense retriever 在 MuSiQue 上 recall@5 不足 20%(图 2),而单向量 embedding 把所有信息压缩到一个 d 维向量,对多段分散证据的编码能力天然受限。
本文的目标是本文的具体目标是把检索能力'收编'到 encoder-decoder 模型内部,提出 INTRA 框架:让一个预训练好的 frozen encoder-decoder 同时充当 retriever 和 generator,用 decoder 自己的 cross-attention queries 充当检索打分函数,用 encoder 预计算的 chunk 表征充当待检索池。具体技术目标包括:(i) 在不重新训练 decoder 主干的前提下,仅更新 ~164K 个 retrieval token embedding 和 272 个 layer aggregation weight 就让 cross-attention 学会做检索;(ii) 在完整 ~759K chunk / 100M token 的语料上实现 corpus-wide scoring 而非只对初始候选重排;(iii) 选出的证据 chunk 表征直接喂给同一次 decoder forward pass 完成生成,闭环。
与已有工作不同的是,现有相关工作都没有真正'消除' retriever-generator 边界。Atlas 联合预训练 retriever 和 encoder-decoder generator,但仍是两个模块;CLaRa 把文档压缩成 latent 向量再做检索与生成联合训练,但依赖额外的压缩模型和压缩专用训练目标;ColBERT/ColPali 等 late interaction 系统有专门的 retriever,生成时仍需把检索到的文本喂给独立 LLM;RETRO/Titans 把记忆注入模型计算但记忆来源是外挂的。本文切入角度的独到之处在于:(a) 论证 attention 本身就是 retrieval,把 cross-attention 这个被默认属于'生成阶段'的算子重新解读为'检索器';(b) 提出 Reverse-QWK 实用技术让 frozen 模型的各层 cross-attention 能共享同一份预编码 chunk 表征,把'检索池'做成真正可重用的 KV cache;(c) 在实验上系统比较了'同一模型做检索+生成'与'强 retriever + 强 generator 组合'的 GapClosure,定量证明表征统一的价值。
核心方法
INTRA 的整体思路可以一句话概括:让 decoder 自己的 cross-attention 既做检索也做生成。具体来说,作者把语料库 M 个 chunk 一次性用 frozen encoder 编码成 K={k_i},再向 query 序列追加 R 个可学习的 retrieval token ρ,构造 x_retrieval;把整个 K 喂给 decoder 跑一次前向,取出每一层 cross-attention 的 query 状态 q^ℓ;用 ColBERT 风格的 MaxSim 把 q^ℓ 与每个 chunk 的 k_i 做相似度聚合,得到 chunk 级检索分数 s_i;按 s_i 选 top-n 块组成 S_INTRA;最后用同一 decoder 对 S_INTRA 的预编码表征直接做 generation。整个流程的关键是只对 retrieval token ρ 和 layer aggregation weight α 做训练,encoder 与 decoder 主体全部冻结。直觉上,cross-attention 本来就是 query-conditioned matching,这与 retriever 的核心操作(query vs candidate 相似度)在数学上是同一件事——INTRA 做的事情就是'把这种 matching 从生成阶段前移到检索阶段'。
INTRA 的核心创新是把 decoder cross-attention 的 query 状态提升为一阶公民的 retriever。这与已有方法的本质区别体现在三个层面:第一是表征统一,传统 RAG 检索器与生成器生活在不同 embedding 空间,而 INTRA 检索与生成共用同一 encoder 的 chunk 表征 K,公式 (3) 的 MaxSim 评分与公式 (5) 的 generation 都直接对 K 操作,没有表征翻译损失;第二是 frozen-backbone 训练范式,区别于 Atlas/CLaRa 的端到端联合预训练或专用压缩头,INTRA 只动 164K 参数(retrieval token 嵌入)+ 272 参数(per-layer 权重),把”挖掘模型内在能力”做到极致轻量化;第三是 Reverse-QWK 这一工程关键,传统 T5Gemma2 的 cross-attention 在每层都有专属的 K^ℓ(S)=(RMSNorm(K(S))⊙γ_{K,ℓ})W_{K,ℓ},意味着第 ℓ 层 MaxSim 必须用第 ℓ 层的 K^ℓ,无法对全语料复用同一份存储;Reverse-QWK 把 per-layer 的 W_{K,ℓ} 和 γ_{K,ℓ} 移到 query 侧(公式 7),让所有层共享同一份 RMSNorm 后的 K̄(S),把 16G 显存级别的 chunk pool 变成可复用的单份表征。
方法步骤详情
INTRA 的执行流程分四步。第一步是 corpus encoding:用 frozen T5Gemma2 encoder 对语料 T={t_i}_{i=1}^{M} 中的每个 chunk 一次性编码得到 k_i=Enc(t_i)∈R^{Lc×d},用 RMSNorm 归一化得到 K̄={k̄_i},这一步离线完成,可缓存复用。Mean-pool 近似把每个 chunk 压缩成长度 Lp∈{3,5,7} 的短序列 bk_i∈R^{Lp×d},将 MaxSim 计算量从 O(Lc·Lp) 降至常数级。第二步是 initial context selection (公式 6):对查询 x 也用同一 encoder 编码为 k_x=Enc(x),计算 s_i^{(0)}=MaxSim(k_x, k̄_i),选出 top-n_0=20 的 chunk 作为初始上下文 S_0;S_0 不限制最终选择,只为 cross-attention 提供一个非空起点(若 S_0=∅,cross-attention 退化为恒等 z^ℓ=q^ℓ)。第三步是 retrieval pass:在 query 序列后追加 R 个可学习 retrieval token ρ∈R^{R×d},构造 x_retrieval=[x_1,...,x_{Lq}, ρ_1,...,ρ_R],把 K̄(S_0) 喂给 decoder 跑一次前向,取出每层的 query 状态 q^ℓ;用 α^ℓ 加权聚合(公式 3)s_i=Σ_ℓ α^ℓ·MaxSim(q^ℓ, bk_i),softmax cross-entropy 损失 -1/|O(x)|·Σ_{j∈O(x)} log(softmax(s))_j 让 s 在 oracle 证据上分配均匀概率,其中 O(x) 是真实证据集,训练过程中 encoder/decoder 主干冻结,仅更新 ρ 和 α。第四步是 selection 与 generation:按公式 (4) 选 top-n 得 S_INTRA,再用同一 decoder 对 (x, K̄(S_INTRA)) 做 generation forward pass(公式 5)。推理时是两次 decoder forward:一次 retrieval pass 暴露 {q^ℓ} 对完整语料打分,一次 generation pass 消耗选中的 chunk 表征。
技术新颖性
本文的技术新颖性可以从概念、算法、工程三个层面分析。概念层面,论文第一次明确提出'cross-attention 即 retrieval'这一理论视角,把 RAG 的模块化假设(检索是独立模块)从根基上动摇,并通过 GapClosure 指标给出可量化的证据——当 retriever 和 generator 共享表征时,'随机到 oracle'的 59.4% 差距被闭合,显著超过强组合(Qwen3.Emb-4B + Reranker + Qwen3.5-27B 的 54.1%)。算法层面,Reverse-QWK 是一个小巧但关键的工程贡献,它通过把 per-layer key projection 反向到 query 侧(公式 7),让 frozen encoder 的输出在所有 decoder 层上等价可用,巧妙地化解了'分层 key 变换'与'单一可复用 KV cache'的矛盾;这一技巧还顺带解决了 GQA、RoPE 等工程细节(附录 A)。方法层面,'frozen backbone + ~164K 可学习参数'的训练范式把'挖掘预训练模型的内在能力'做到极致,相比 LoRA 等 PEFT 也更轻量,且在 MuSiQue 这种需要组合推理的数据上仍能取得 +0.7 EM 提升。论文的潜在新颖性边界在于:实验仅在 T5Gemma2 4B-4B 一个模型族上完成,Reverse-QWK 是否能干净地移植到 mT5、ByT5、UL2 等其他 encoder-decoder 还需验证;并且对 decoder-only 模型(GPT、LLaMA)天然不适用,因为没有 cross-attention 这一桥梁。
实验结果
实验围绕三个核心问题展开。第一个问题:INTRA 能否改善完整证据检索?图 2 的 complete-evidence recall 表明,INTRA 在多跳基准上系统性领先——HotPotQA@5 上 INTRA 比最强 baseline(Qwen3-Emb-4B + Reranker)高约 3 个百分点;2Wiki 上同样领先;MuSiQue 上 INTRA recall@20 接近 35%,是所有方法中唯一超过 30% 的。NQ 单跳基准上 INTRA 反而略弱于 Qwen3 系列,因为 NQ 任务本身更接近'single vector match',留给 decoder-guided assembly 的发挥空间小。第二个问题:检索提升能否传导到端到端 QA?Table 1 给出明确肯定答案,INTRA 在 HotPotQA(46.4 EM / 58.0 F1,比最强 baseline 41.6/53.6 高 +4.8/+4.4)、2Wiki(49.2/53.2 vs 46.8/50.8,+2.4/+2.4)、MuSiQue(14.0/23.0 vs 13.3/22.5,+0.7/+0.5)三个多跳基准 EM/F1 双双第一,平均 EM 40.2 比最强 baseline 的 39.2 高 +1.0。NQ 上 INTRA 51.2/60.3 略低于 Qwen3-Emb-4B + Reranker 的 55.1/64.2(-3.9/-3.9),但与 Hybrid RAG、BGE 等持平。Table 2 进一步揭示了 GapClosure 的关键现象:尽管 Qwen3.5-9B 绝对 EM 更高,INTRA+T5Gemma2 自循环的 GapClosure 达 59.4%,超过所有'强 retriever + 强 generator'组合(最高 54.1%),这正是'共享表征空间'的直接红利。第三个问题:效率优势有多大?Table 3 的复杂度分析显示 INTRA 的 prefilling 项是 O(L_q(L_q+kL_c)),相比 Standard RAG 的 O((L_q+kL_c)^2) 在 k 增大时优势显著;图 4 的 TTFT 实验直观证实了这一点——随着 k 从 4 增至 32,标准 RAG 的 TTFT 接近线性快速增长,而 INTRA 几乎保持水平(因为跨查询复用了预编码 chunk 表征)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| HotPotQA 端到端问答 | EM / F1 | INTRA: 46.4 / 58.0 | 最强 baseline Qwen3-Emb-4B + Reranker: 41.6 / 53.6;BM25: 40.5 / 52.0 | EM 提升 +4.8,F1 提升 +4.4,超过 9 个 baseline 中的所有方法 |
| 2WikiMultihopQA 端到端问答 | EM / F1 | INTRA: 49.2 / 53.2 | 最强 baseline Qwen3-Emb-4B + Reranker: 46.8 / 50.8;BGE: 46.1 / 49.6 | EM 提升 +2.4,F1 提升 +2.4,多跳证据组装任务上的最大优势之一 |
| MuSiQue 端到端问答 | EM / F1 | INTRA: 14.0 / 23.0 | 最强 baseline Qwen3-Emb-4B + Reranker: 13.3 / 22.5;Hybrid RAG: 10.6 / 20.1 | EM 提升 +0.7,F1 提升 +0.5;MuSiQue 整体难度高,绝对分低但相对趋势一致 |
| Natural Questions 端到端问答 | EM / F1 | INTRA: 51.2 / 60.3 | 最强 baseline Qwen3-Emb-4B + Reranker: 55.1 / 64.2;BGE: 52.2 / 61.2 | EM 反而低 -3.9,F1 低 -3.9;NQ 单跳性质使 decoder-guided 优势无法体现 |
| 四基准平均 EM / F1 | EM / F1 | INTRA: 40.2 / 48.6 | 最强 baseline Qwen3-Emb-4B + Reranker: 39.2 / 47.5 | 平均 EM 提升 +1.0,F1 提升 +1.1,整体仍居首位 |
| HotPotQA 完整证据召回 (Recall@5) | Complete-Evidence Recall | INTRA recall@5 约 32% (图 2) | Qwen3-Emb-4B + Reranker 约 29%;BM25 约 23% | 在多跳证据组装指标上 +3-9 个百分点 |
| TTFT (Time to First Token) 随 k 变化 | Prefilling 时间 | INTRA 随 k 增长几乎不变 (图 4 蓝线) | Standard RAG 随 k 增长近似线性上升 (灰线) | k=32 时 INTRA 比 RAG 快约 2-3 倍 (从图 4 估算) |
| GapClosure (T5Gemma2 同源 retriever+generator) | Gap closure % | T5Gemma2-4B (same as retriever): 平均 59.4% | Qwen3.5-9B: 54.1%;Gemma4-E2B: 52.6%;Llama3.1-8B: 48.7% | 同源 retriever+generator 组合的 GapClosure 比最强外部组合高 +5.3 个百分点,验证表征统一价值 |
局限与改进
作者在第 7 节坦诚承认了多项局限,本文也观察到一些隐含问题。范围层面,实验固定在 Wikipedia-derived ~100M token / 759K chunk 的语料池,没有验证 INTRA 在 billion-token 级别或动态更新语料上的可扩展性;尽管附录 A.3 估算 8-bit 量化下 1B token 只需 ~2.5TB 存储,但实际工程开销(IVF 索引、PCIe 带宽、GPU 内存层级)未做端到端测评。模型架构层面,INTRA 完全依赖 cross-attention 机制,因此天然不适用于当前主流的 decoder-only LLM(LLaMA、Qwen3.5、GPT-4 等),这是与 RAG 生态最大兼容性鸿沟。基座选择层面,所有实验都基于 T5Gemma2 4B-4B 一个模型族,没有验证 Reverse-QWK 在 mT5、ByT5、UL2、LongT5 等其他 encoder-decoder 上的可移植性,论文也没有与 LLaMA-3.1-Nemotron、Phi-4 等更新模型对比。评测层面,TTFT 实验只测了 prefilling 阶段而排除了 retrieval 时间,但实际部署中 retrieval 本身的 ANN 搜索在 1B token 量级也会成为瓶颈,论文未给出端到端 latency 对比;表 3 公式中的 √(ML_q L_c) 项在 M≫k 时是否仍被 IVF/cuVS 等系统有效实现也未深入。训练层面,retrieval token 是新加的 ~164K 参数随机初始化,需要在 CLaRa QA 预训练数据 + 各任务训练 split 上做 adaptation,这意味着 INTRA 并非'完全 zero-shot 抽取模型内在能力',而是需要任务相关的轻量训练。
独立分析的弱点
本文的弱点可从技术、实验、写作三个维度独立分析。技术维度,第一是 corpus-wide scoring 的计算量与精度矛盾:公式 (3) 对 M=759K chunk 全部 MaxSim 打分,即使 Lp=7 压缩后每查询仍需 ~5.3G 次向量内积,论文没给出完整 timing;第二是 Reverse-QWK 的等效性证明仅停留在'对已训练好的 cross-attention 等价'层面(公式 7),但训练 retrieval token 时 q^ℓ 与 k̄_i 的统计分布可能与原 K^ℓ(S) 不同,作者未在 ablation 中单独验证'关闭 Reverse-QWK'的退化程度;第三是训练目标用 oracle 证据 O(x) 做监督,这等同于把 HotPotQA、MuSiQue 等任务的 ground-truth supporting paragraphs 喂给 INTRA,而 baseline(BGE、Qwen3.Emb)在更大规模检索语料上训练——监督信号的不对称性可能让 INTRA 看起来更强。实验维度,第一是模型规模单一,仅在 4B-4B 验证 INTRA 是否能 scale 到 7B-7B、13B-13B、27B-27B 还是未知;第二是 NQ 的 -3.9 退化没被充分解释,可能是因为 NQ 的'短答案'生成与 INTRA 的 chunk 编码粒度不匹配;第三是缺少对 retrieval token ρ 数量 R 的 ablation,R 太大会增加 query 长度,太小可能不够表达检索意图。写作维度,公式 (1) 中 z^ℓ=Attention(q^ℓ,K(S),K(S)) 的 v 直接取 K(S) 是常见的工程近似(key=value),但严格说应该 v^ℓ=W_V^ℓ·K(S),论文没区分这一点;图 3 没在正文展开 reranking 与 corpus-wide scoring 的差距数据。改进方向:建议在 (a) 提供 reverse-QWK off 的 ablation 量化等效性损失;(b) 在 NQ 上用不同 chunk 粒度(段落、句子、文档)消融验证假设;(c) 报告 retrieval pass 的 wall-clock time 以与生成 pass 解耦比较。
未来方向
作者在第 7 节明确指出未来方向,本文也识别了若干可延伸方向。作者提出的方向包括:(i) 扩展到 billion-token 级别、动态语料、多模态(图文混合),(ii) 验证 INTRA 是否能泛化为通用 retriever 而非局限于 QA,(iii) 拓展到 decoder-only 模型(需要设计一个能替代 cross-attention 的检索接口,例如把 retrieval head 嫁接到 self-attention 上),(iv) 与 agentic RAG(多轮检索推理)结合作为 single-pass retrieval block。基于本文结果可延伸的方向还包括:(a) 把 Reverse-QWK 思想反向利用——既然可以共享 K 池,是否也可以把 per-layer α^ℓ 训练成稀疏激活模式以加速 retrieval pass;(b) 探索 retrieval token ρ 与 in-context example 的关系,看 INTRA 是否能学会 few-shot 检索;(c) 把 INTRA 检索信号蒸馏到更小的 encoder-decoder(如 T5Gemma2 1B)做 student 模型,避免每次启动都跑 4B 主干;(d) 与 knowledge graph 检索结合,把 chunk 中实体关系作为辅助特征增强 MaxSim 分数;(e) 用 INTRA 的可复用 chunk 表征做 contrastive pre-training,把 chunk pool 视为长期记忆的一种实现。
复现评估
复现性方面本文提供的信息较为充分但仍有缺失。开源情况:T5Gemma2 4B-4B 基座是公开 checkpoint(基于 CLaRa QA 预训练),Appendix B.1 描述了 retrieval token 初始化、AdamW 优化器、learning rate scheduler 等超参,但论文未明确声明代码仓库 URL(文中提到 '附录' 但 arxiv 文本不含附录的代码链接)。数据:~100M token / 759K chunk 的 Wikipedia 语料池由 HotPotQA、2WikiMultihopQA、MuSiQue、NQ 的 dev/train split 组合构建,chunk 切分规则、Wikipedia 索引版本、tokenizer 细节在 Appendix E。算力:4B 模型 + 训练 retrieval token + layer weight 只需更新 164K+272 个参数,单次 forward 在 1-2 张 A100/H100 上即可完成 retrieval 训练;但完整 corpus 编码需要把所有 759K chunk 喂给 frozen encoder 一次,离线 batch 编码几十小时级别。复现难度:中等偏低,因为 (i) frozen backbone 训练极轻量,(ii) 所有超参和训练曲线细节都在附录,(iii) INTRA 本身不引入新的 loss 设计或训练范式。难点在于 (i) Reverse-QWK 的 per-head GQA 处理、RoPE 位置编码融合等工程细节在 Appendix A 仅简述,需要参考 T5Gemma2 原仓库;(ii) 100M token 的 chunk 池需要相当磁盘(int8 量化下 ~1.5GB fp16 ~3GB),加载到 GPU 内存约 16-32GB;(iii) corpus-wide scoring 在 759K chunk 上需要 FAISS/cuFS IVF 索引搭建经验,Appendix D.1 只给出 complexity 不给实现。
论文图表