在检索增强生成(RAG)系统中,稠密检索器(Dense Retriever)负责从海量文档库中快速找出与查询语义最相关的段落,是整个系统的核心基础组件。
然而,训练一个高质量的稠密检索器并不容易。对比学习(Contrastive Learning)长期以来是这一领域的主流范式,但存在几个根本性局限:
- 严重依赖人工标注数据:需要精心构造查询 - 文档正负样本对,在代码、法律等专业领域标注成本极高;
- 难负样本的困境:随机负样本信号太弱,难负样本挖掘又引入额外复杂性;
- 与语言模型预训练目标割裂:对比损失与主流大模型的预训练范式(下一词预测)天然不兼容,难以充分复用预训练知识。
这些问题在专业领域和推理密集型检索场景下尤为突出。能否找到一条更自然、更统一的检索器训练路径?来自德国达姆施塔特工业大学(TU Darmstadt)的蔡丰宇及其来自华盛顿大学、卡内基梅隆大学、微软和腾讯 AI 实验室的合作者给出了一个优雅的答案 -Revela:Dense Retriever Learning via Language Modeling,并凭借这一回答斩获ICLR 2026 Oral(约 1.1% 录取率) 和FrontierIR @ AAAI 2026 最佳论文奖
- 论文链接:https://openreview.net/forum?id=e7pAjJZJWb
- 代码链接:https://github.com/TRUMANCFY/Revela
- 模型链接:https://huggingface.co/trumancai/Revela-3b
核心思路:让检索「像语言模型一样学习」
Revela 的核心洞察在于:将稠密检索器的训练目标统一到语言建模框架之下。
语言模型(LM)通过 "预测下一个 token" 来建模 token 之间的依赖关系。Revela 将这一思路类比到检索:如果说 LM 建模的是 token 之间的依赖,那么检索器建模的就是文本块(chunk)之间的依赖
具体而言,Revela 引入了一种批内注意力机制(In-batch Attention):在语言建模时,一个序列的下一词预测不仅条件于自身上文,还通过检索器计算的相似度权重,动态地参考批次中其他相关文档。如图 1 中,红色文本块在预测下一词时 "参考" 了语义相近的紫色文本块,这一过程反过来驱动检索器提高两者之间的相似度分数。检索器的相似度分数就此直接嵌入语言建模的优化目标,实现检索器与语言模型的联合端到端训练,无需任何人工标注的查询 - 文档对
图 1:Revela 训练框架。检索器相似度分数作为批内注意力权重,与语言模型联合端到端训练。红、紫序列中高亮片段展示了检索器如何学会关联语义相近的文本块。
这一设计带来了三个关键优势:
- 训练目标与预训练高度一致:语言建模正是大模型预训练所采用的目标,Revela 与之天然对齐,能充分激活预训练模型中已有的语义理解能力。
- 完全自监督,无需标注:原始文本自身的上下文关系即构成训练信号,大幅降低对人工标注的依赖,使方法在数据稀缺的专业领域具备天然优势。
- 可扩展性强:实验表明,随着检索器规模(从 135M 到 3B)、语言模型规模和批大小的增大,性能持续稳定提升,展现出良好的 Scaling 特性。
方法架构
Revela 的整体架构由两部分组成:负责编码文本,计算相似度的检索器,以及提供语言建模训练信号的语言模型,二者在训练过程中联合优化。
图 2:Revela 的 Transformer Block 架构。
核心创新集中在 LM 的 Transformer Block 内部(图 2)。每一层同时运行两条并行的注意力路径:标准自注意力处理单条序列内部的上下文依赖,输出 ei;批内注意力则在此基础上引入跨文档维度:先对序列自身做自注意力得到 si,再以检索器输出的相似度分数为权重,对批次内其他文档的自注意力输出 ej做交叉注意力并加权聚合得到 bi,最终输出 hi= si+ bi。其中,检索器将批次内所有文档编码为向量,通过两两余弦相似度并经 softmax 归一化,得到文档间的相似度权重矩阵,直接作为批内注意力的聚合权重。
值得注意的是,跨文档注意力的 Key 和 Value 均来自其他文档的 ej,而非 hj,这一设计使批内注意力能够使用只含有序列内部信息的自注意力。两路路径对应图 2 注意力图中左上与右下两个区域,最终输出相加后送入前馈层,共同驱动下一词预测目标。这一设计使检索器的相似度分数直接参与 LM 的反向传播,检索器由此得以被端到端优化。
在训练数据构建上,Revela 将文档切分为 chunk 并分批,确保每个 batch 内包含语义相关的片段,使语言建模信号天然对应有意义的跨文本依赖。训练数据方面,通用检索使用约 34 万篇维基百科文档,代码检索使用 StackOverflow 帖子、技术教程和库文档,均无需任何人工标注的查询-文档对。
实验效果:无标注数据,超越商业 API
Revela 在三大权威基准上进行了系统评估,分别覆盖代码检索(CoIR)推理密集型检索(BRIGHT)通用信息检索(BEIR)三个维度。
表 1:CoIR 代码检索基准上各模型的检索性能(nDCG@10,%)。
代码检索(CoIR): Revela-3B 在 10 项任务平均 nDCG@10 达到 60.1,在无需任何查询 - 文档标注对的前提下,超越了使用海量标注数据训练的 7B 参数有监督模型 E5-Mistral-7b-Instruct(57.3)以及 OpenAI Ada-002(45.6)、Voyage-Code-002(56.3)两个商业 API。在 0.5B 参数规模下,Revela 即超越了同样覆盖代码语料、用 2.7 亿标注对训练的 E5-PT,领先约 10 个百分点。
图 3:BRIGHT(左)与 BEIR(右)基准上的检索性能对比(nDCG@10,%)。
推理密集检索(BRIGHT): Revela-3B 平均 nDCG@10 达到 20.1,仅凭维基百科文本训练,便超越了 E5-Mistral-7b-Instruct(17.9)以及 text-embedding-3-large(OpenAI,17.9)、voyage-large-2-instruct(Voyage,17.9)、cohere-embed-english-v3.0(Cohere,16.6)等主流商业 API,充分体现了语言建模目标对深层语义推理能力的激活效果。
通用检索(BEIR): Revela-3B 与弱监督基线 E5-PT 持平(均为 45.6),但所用训练数据约为其 1/1000,使用计算资源仅为其 1/10,极大降低了训练成本。
意义与展望
Revela 将稠密检索器的训练与语言建模范式统一,打开了多个值得探索的方向:
动态索引构建:Revela 目前通过文档分块来保证 batch 内的语义相关性,更理想的做法是用模型的实时表示对 chunk 动态分组,但这意味着需要在训练过程中持续更新索引,计算成本是亟待解决的挑战。模型与数据的进一步扩展:实验已验证 Revela 在模型规模和 batch 大小上具备良好的 Scaling 特性,扩大训练语料覆盖范围、引入更高效的注意力机制,有望带来进一步的性能提升。反哺语言模型训练:Revela 目前将 LM 视为辅助的训练信号来源,但检索器所学到的文本间语义关联,同样可以反过来用于指导 LM 的 batch 构建,探索对语言模型本身的改善潜力。
该成果已以 Oral 形式发表于顶级 AI 会议 ICLR 2026。本届 ICLR 共收到近两万篇投稿,Oral 仅 两百余篇,录取率约 1.1%,是对 Revela 在自监督检索学习领域创新价值的高度认可。
作者介绍
蔡丰宇,德国达姆施塔特工业大学(TU Darmstadt)四年级博士,师从 ACL fellow,前 ACL 主席 Iryna Gurevych 教授及 Heinz Koeppl 教授。他研究方向涵盖稠密检索、RAG 及 AI for science,在 ICLR,ACL, EMNLP,CVPR 等会议上发表论文十余篇。本硕分别毕业于香港科技大学(HKUST)与洛桑联邦理工学院(EPFL)。
热门跟贴