检索新范式:Hobbit难负样本构造与Disco协同覆盖索引设计

在信息检索与稠密向量检索(Dense Retrieval)的研究前沿,两项来自微软研究院印度实验室(MSRI)及学术界的工作展示了检索模型训练与索引设计的新思路。一项名为 Hobbit 的 ICML Spotlight 论文,重新思考了对比学习中"如何构造好的批次(batch)"这一基础问题;另一项由资深学者 Soumen Chakraborty 教授团队提出的 Disco 系统,则挑战了传统 Top-K 检索的"单文档竞争"范式,转向"多文档协同覆盖"。本文将梳理这两项工作的核心洞察。
Hobbit:让批次自动提供难负样本
稠密双编码器(Dual Encoder)是现代信息检索的基础架构,于2020年前后随DPR(Dense Passage Retrieval)的提出而广泛普及,彻底改变了以BM25为代表的稀疏检索范式。稀疏方法依赖词汇精确匹配,无法处理同义词与语义相关但字面不同的查询;而双编码器通过预训练语言模型将语义压缩进固定维度向量(通常768维),由查询编码器和文档编码器两个独立的神经网络(通常基于BERT或其变体)组成,分别将查询和文档映射到同一向量空间,通过向量内积或余弦相似度衡量相关性。
这类模型通常采用 InfoNCE(Information Noise-Contrastive Estimation)损失进行训练。InfoNCE 的理论根源可追溯至 DeepMind 的 van den Oord 等人于2018年提出的时序预测编码(CPC, Contrastive Predictive Coding),最初用于音频与文本序列的无监督表示学习。该损失将"识别正样本"建模为多分类问题——在N个候选中找出真正配对的那一个,理论上等价于最大化互信息的下界。这一框架随后被视觉对比学习的 SimCLR(Chen等,2020)和 MoCo(He等,2020)大幅推广,并与NLP预训练深度融合,最终在信息检索领域找到了极其自然的应用:查询与相关文档天然构成正样本对,语料库中的其余文档构成负样本池。其核心思想是在一批候选中最大化正样本对的相似度、同时最小化负样本对的相似度,本质上是一种多分类交叉熵。温度超参数τ控制分布的"尖锐程度",τ越小分布越集中,模型对难负样本越敏感。
理想情况下,模型应对整个文档语料库做 softmax 归一化,但由于语料库规模巨大(如 MS MARCO 有约 800 万文档),这在计算上不可行。因此实践中普遍采用批内负样本(in-batch negatives):对某个查询,仅在当前批次的文档中做归一化。
这种做法的关键前提是——批次里必须包含"有信息量"的负样本。如果随机采样,比如查询是"running shoes",而批内其他文档是完全无关的内容,模型可以轻易区分正负样本,训练损失迅速趋近于零,但测试检索精度反而很差。在 MS MARCO 上的实验清晰地印证了这一点:随机批次训练损失快速收敛,但泛化性能显著落后于 Hobbit 构造的"难批次"——后者训练损失更高,检索准确率却大幅领先。
从梯度分析出发的"硬度"定义
Hobbit 的巧妙之处在于,它不像 ANCE 等方法那样在训练中显式地从全库挖掘难负样本。ANCE(Approximate Nearest Neighbor Negative Contrastive Estimation)通过定期刷新ANN索引,从全库中为每个查询动态检索当前模型认为最相关(但实际为负)的文档作为训练负样本。然而其代价高昂:FAISS(Facebook AI Similarity Search)等向量检索库虽然支持十亿级向量的高效近似最近邻搜索,但在百万级语料库上重新编码全量文档并重建索引仍可能耗费数小时,且必须暂停梯度更新,形成"训练-索引-训练"的笨重循环,严重拖慢训练速度。Hobbit 提出一个更轻量的问题:能否直接构造出让样本互为难负样本的批次?
通过对 InfoNCE 损失关于查询嵌入的梯度分析,作者得出结论:要让学习持续有效,负样本文档 dj 需满足两个条件——一是与查询 QI 相似度高("够难"),二是不与标注正样本产生干扰。由此定义硬度分数:
WIJ = QI·dj − α·(di·dj)
其中 QI·dj 鼓励难度,di·dj 惩罚对正样本的干扰。值得强调的是:几乎所有先前的难负样本挖掘工作都忽略了这个"非干扰项",只关注与查询的相似度。这也是它们更容易误选**假负样本(false negative)**的根本原因。
假负样本问题在开放域检索中尤为严峻。以MS MARCO为例,该数据集来自Bing搜索日志,标注者仅对少量段落标记了相关性,大量未被标注但实际与查询相关的段落散布在800万文档中。统计估算表明,MS MARCO中每个查询平均约有1.1个标注正样本,但真实相关文档可能多达数十个。当ANCE等方法从全库高相似度文档中挖掘难负样本时,"中奖"选到未标注真正相关文档的概率相当可观——将这类文档强制压低相似度,等于让模型学习错误的排序信号,在大规模语料库上系统性地损害泛化能力。通过引入 di·dj 惩罚项,Hobbit 在无需任何额外标注或重排序的情况下,从优化目标层面天然规避了假负样本的污染。

批次构造:从 NP 难到可微近似
批次构造从随机种子集出发,为每个种子查询挑选能最大化硬度的其余样本。这一"批次硬度问题"本质上是 NP 难的(可归约为最大覆盖问题)。Hobbit 用温度控制的 log-sum-exp 项替代硬最大值,将其转化为可微的光滑目标,并证明该目标既有下界也有上界,同时具备梯度次模性(gradient submodular)。
次模函数(Submodular Function)是组合优化中的核心概念,形式化了"边际收益递减"的直觉:向已有集合中添加新元素的增益,不超过向更小集合添加同一元素的增益。这一概念在机器学习中有广泛应用——主动学习的样本选择、推荐系统的结果多样化、图像字幕的集合摘要等场景均依赖次模优化。1978年,Nemhauser、Wolsey与Fisher在经典论文中严格证明:对于单调次模函数的最大化问题,简单贪心算法可获得理论上最优的多项式时间近似比——(1−1/e)≈0.632,且这一界是紧的,不存在多项式时间算法能做得更好(除非P=NP)。正是凭借这一理论支撑,Hobbit 的贪心批次构造算法获得了严格的近似比,而非仅凭经验表现。
实现上,作者提出两个变体:Hobbit 在每个 epoch 结束时重新生成嵌入并构造批次;Hobbit-C(Cached) 则复用上一次前向传播的缓存嵌入,完全避免额外的嵌入生成开销。实验显示 Hobbit-C 精度略低于 Hobbit,但效率大幅提升——考虑到完整 Hobbit 会使训练时间翻倍,作者推荐实践中优先采用 Hobbit-C。

Hobbit 引入了三个超参数(softmax 温度 τ、非干扰项权重 α、种子集大小),但作者声称从未进行超参调优——直接使用默认值(τ 与 InfoNCE 损失一致取 0.05、α=1)便在所有数据集上生效。相比四种 SOTA 批次构造方法,Hobbit 均取得最优表现,尤其相较随机批次的性能差距十分显著。
Disco:从"角斗士"到"联盟"的协同检索
Chakraborty 教授团队提出的问题更为根本。考虑一个查询:"电影《Shruti Layal》作曲家的生日"。回答它需要两个文档协同——一个告诉你作曲家是 Mahadevan,另一个提供其生日。传统 Top-K 检索无法胜任:单纯增大 K 只会带来同一影片的冗余评论,无法覆盖查询的所有方面。
作者用一个生动的比喻概括了范式转变:传统 ColBERT 式打分中,每个文档都是独自面对整个查询的"角斗士",相互竞争厮杀;而在表格检索、图节点、碎片化文本等场景下,单个细粒度文档根本无法独立满足查询。因此应当让文档组成"联盟(coalition)",寻找一个能集体覆盖查询各方面的最小子集。
次模效用函数与稠密索引设计
ColBERT(Contextualized Late Interaction over BERT)由Stanford DAWN实验室的Omar Khattab等人于2020年提出,是稠密检索领域的重要里程碑。理解ColBERT需要把握稠密检索的三类效率-效果权衡:单向量双编码器(如DPR)将查询和文档各压缩为一个向量,推理极快但丢失细粒度信息;全交互模型(如MonoBERT重排序器)对查询-文档对拼接后完整计算注意力,精度最高但无法预计算文档表示,延迟为O(Q×D)无法扩展;ColBERT的延迟交互(Late Interaction)是一种巧妙折中——离线预计算并存储每个文档所有token的向量表示,在线检索时通过 MaxSim 打分(对查询中每个token向量,在文档所有token向量中取最大内积再求和,也称 Chamfer 相似度)在保留细粒度语义的同时实现高效检索。代价是存储开销显著增大:MS MARCO完整索引在128维设置下约需200GB,远超DPR的约26GB。Disco 将这一机制推广:不再局限于单个文档的 token,而是在所选子集 S 的所有文档 token 并集中寻找最佳匹配。这个效用函数是单调且次模的,因此贪心选择同样具有 (1−1/e) 的理论近似保证。
真正的难点在于如何为这种贪心选择设计稠密索引。每轮添加文档 c 的边际增益需要减去已选集合 S 的既有覆盖并取 hinge(截断),带来两大技术挑战:一是 S 代表运行时动态状态,无法预置进静态索引;二是需要在点积外层支持 hinge 函数。
对于第一个挑战,作者通过"提升"查询和文档表示解决:为每个词嵌入增加一个额外维度,文档侧固定为 −1,查询侧打包当前已获得的效用值,点积后自然得到"q·x 减去既有效用"的结果。

对于第二个 hinge 挑战,作者设计了基于随机超平面的特征映射 φ_w,将 d 维向量映射到 2d 维空间。这一方案借鉴了局部敏感哈希(LSH)的经典理论。LSH 由 Indyk 和 Motwani 于1998年提出,核心思想是设计哈希函数使相似输入以高概率落入同一哈希桶,将精确最近邻搜索转化为高效近似问题。其中 Charikar 于 2002 年提出的 SimHash 在余弦相似度度量下尤为优雅:用随机单位向量 w 对输入向量 x 做内积并取符号,两向量经同一随机超平面划分后符号一致的概率恰好等于 1 减去其夹角除以 π,与余弦相似度直接关联。这一几何性质将概率计算与向量夹角直接挂钩。SimHash 至今仍是工业界大规模文档去重与近似搜索的核心工具——Google最早将其用于检测数十亿网页中的近似重复内容。Disco 将 hinge 函数的近似计算归约为符号一致性概率问题,复用这一成熟的理论工具。通过巧妙构造,两个特征映射的点积期望正比于目标 hinge 值;无论查询与文档夹角为锐角还是钝角,随机估计器命中真实目标的概率均高于 1/2,再通过 r 个随机向量放大信号即可。
实验结果:效率与覆盖率的双重突破
在 MS MARCO 和 HotpotQA 上,Disco 均取得了显著成果。HotpotQA 是多跳问答(Multi-hop QA)领域的标志性基准数据集,由Yang等人于2018年提出,包含约 11.3 万个需要两段 Wikipedia 段落协同推理的问题,涵盖"桥接(bridge)"和"比较(comparison)"两类题型。多跳问答之所以成为检验协同检索能力的核心平台,根源在于其信息需求的结构性特征:单跳问答中,答案通常直接包含在某一文档片段中;而"桥接"类问题(如"《盗梦空间》导演的母校在哪座城市")要求系统先检索到导演克里斯托弗·诺兰,再以此为中间桥接实体查询其母校的地理位置,两步缺一不可。传统Top-K检索优化的是单个文档与查询的相关性,往往召回多个描述同一实体的冗余文档,完全遗漏推理链所需的关键"桥接"文档,这正是 Disco 协同覆盖范式试图系统性解决的核心问题。
在两个数据集上,Disco 在 100 倍效率下仍能维持接近 ExactGreedy 的高效用,而 Warp、Muvera 等基线在被迫提速时覆盖分数急剧下降。对于多跳问答,Disco 能在 rank-2 内捕获大多数所需段落,为系统需要调优的 K 值给出了明确边界。
这项工作是团队更宏大计划的组成部分——从 2022 年起,他们持续研究子集与子图搜索这类具有非对称打分函数的基础问题,包括为非对称 hinge 距离设计 LSH、将图嵌入离散化为合成文档等。
协同检索 vs. 查询分解:开放的思考空间

在问答环节,一个颇具启发性的问题浮现:与其让查询去寻找协同文档,为何不将查询分解为多个原子子查询,各自匹配文档后再组合?Chakraborty 教授的回答勾勒出问题空间的复杂性:
- 在知识图谱问答中,schema 简单(主-谓-宾),分解几乎总能完美完成;
- 在 text-to-SQL 中,私有 schema 可能让 LLM 难以正确分解,还需了解数据库中的具体取值;
- 在真实文本检索中,情况介于两者之间甚至更复杂——有时一个段落直接列出答案,有时则需要大规模的"连接"操作。
这一讨论直接连接到当下热门的"搜索-推理交织(search-interleaved reasoning)"范式。当前以DeepResearch、Perplexity等产品为代表的系统,正在尝试让大语言模型在推理过程中动态决定何时触发检索、检索什么内容,而不是将检索固定为预处理步骤。Chakraborty 教授的结论是:Disco 并非要成为最终的检索器,而是当规划器(planner)判断需要协同覆盖时的一个有力工具。"一个明智的规划器应当决定每一步检索是否需要协同覆盖"——这也为稠密检索在 LLM 与推理新时代中的角色定位,留下了开放的思考空间。
相关推荐

《无人深空》Cosmos更新深度解析:程序生成技术与长期主义开发
《无人深空》Cosmos更新带来宇宙探索新体验。深度剖析Hello Games如何通过程序生成技术和持续免费更新,实现从口碑崩塌到行业标杆的逆袭,为软件开发提供宝贵启示。

GLM-5.2开源模型登顶榜首,综合评测跻身全球前三
智谱GLM-5.2正式开源,在Artificial Analysis综合智能指数中与Claude Opus比肩,Code Arena全球第二,DesignArena夺冠,FrontierSWE全球第三,成为当前最强开源大模型。

Perplexity隐藏设置:如何关闭Projects中Computer默认模式
详解Perplexity Projects中关闭Default to Computer默认模式的操作步骤,涵盖桌面端与Comet浏览器设置方法,帮助用户优化项目空间的日常查询体验。