跳转至

Revela: Dense Retriever Learning via Language Modeling

会议: ICLR2026
arXiv: 2506.16552
代码: 待确认
领域: self_supervised
关键词: dense retrieval, self-supervised learning, language modeling, in-batch attention, retriever

一句话总结

提出 Revela,通过 in-batch attention 机制将检索器学习融入语言建模——NTP 不仅依赖本序列上下文,还依赖批内其他序列(由检索器相似度加权),无需标注 query-document 对即可训练强大的密集检索器。

研究背景与动机

  1. 领域现状:密集检索器通常需要标注的 query-document 对训练,在专业领域和复杂场景中标注成本高昂。
  2. 现有痛点:自监督检索方法(如 Contriever)容易过拟合数据结构偏差;自编码方法缺乏成对监督。
  3. 核心矛盾:LM 通过 NTP 学习 token 间依赖(自监督成功),如何将类似思路扩展到学习 chunk 间依赖?
  4. 切入角度:将检索类比为"序列级 NTP"——NTP 找最相关的上文 token,检索找最相关的文档。
  5. 核心idea一句话:在 Transformer 块中引入 in-batch attention,让 NTP 同时依赖序列内上下文和批内其他序列,检索器提供跨序列权重。

方法详解

整体框架

将文档分成 chunk 放入同一批次,检索器计算 chunk 间相似度 → LM 的 Transformer 块中加入 in-batch attention → NTP 损失同时优化 LM 和检索器。

关键设计

  1. In-batch Attention: 序列 \(i\) 的 embedding 可以 attend 到批内其他序列 \(j\) 的 embedding,权重由检索器计算的 \(\text{Sim}(D_i, D_j)\) 调制
  2. 联合优化: 检索器和 LM 在同一 NTP 目标下端到端联合训练
  3. 同文档负样本: 同一文档的不同 chunk 放入同一批次,类似硬负样本

训练策略

在 Wikipedia(通用)或代码语料(代码检索)上训练,135M-3B 参数规模。

实验关键数据

主实验

方法 CoIR (nDCG@10) BRIGHT BEIR
E5-Mistral-7B (监督) 基线 基线 基线
Revela-3B (无监督) +2.8 超越商业API 无监督SOTA

关键发现

  • 无标注数据超越 7B 参数的监督模型
  • 用约 1000× 少的数据和 10× 少的计算达到 BEIR 无监督 SOTA
  • 跨域泛化能力强于对比学习方法
  • 随 batch size 和模型规模持续提升

亮点与洞察

  • NTP→检索的类比极为自然且有效
  • 联合优化避免了冻结 LM 困惑度校准差的问题
  • 比传统对比学习有更强的跨域泛化

局限性 / 可改进方向

  • batch size 对性能影响大,需要足够大的 batch
  • 仅验证了文本和代码检索

评分

  • 新颖性: ⭐⭐⭐⭐⭐ NTP 学检索的范式非常新颖
  • 实验充分度: ⭐⭐⭐⭐⭐ 三个基准、多规模、缩放分析
  • 写作质量: ⭐⭐⭐⭐ 动机清晰
  • 价值: ⭐⭐⭐⭐⭐ 为自监督检索提供了强大的新范式