@_reachsumit: 告别K-means:单阶段稀疏编码实现高效多向量检索 @Veritas2026 等人替代向量聚…
摘要
本文提出单阶段稀疏检索(SSR),用稀疏自编码器和倒排索引替代K-means聚类,实现了15倍的索引加速和一半的检索延迟,同时在BEIR基准上提升了准确性。
查看缓存全文
缓存时间: 2026/05/29 14:10
不再需要 K-means:单阶段稀疏编码实现高效多向量检索 @Veritas2026 等研究者用高效的稀疏自编码器和自然倒排索引替代向量聚类,加速多向量检索。论文链接:https://arxiv.org/abs/2605.30120,代码仓库:https://github.com/Y-Research-SBU/SSR…
单阶段稀疏编码实现高效多向量检索
来源:https://arxiv.org/html/2605.30120
摘要
多向量检索(MVR)模型(以 ColBERT 为代表)通过保留细粒度的词元级交互,在检索精度上树立了新的标杆。然而,这种细粒度带来了存储和检索效率上的巨大瓶颈:为了管理十亿级词元向量的巨大内存占用和计算开销,最先进的系统被迫依赖激进的降维和复杂的聚类(如 K-means)。这种妥协引入了两个关键限制:大规模语料库聚类的索引延迟过长,以及压缩本身固有的语义信息损失。本文提出单阶段稀疏检索(SSR),这是一种范式转变,用高效的稀疏编码取代昂贵的聚类。我们不是将特征压缩为低维稠密向量,而是利用稀疏自编码器(SAE)将词元嵌入投影到高维但高度稀疏的表示空间。这种变换使我们能够完全绕过向量聚类,并利用倒排索引实现精准、高吞吐量的检索。在 BEIR 基准上的大量实验表明,SSR 实现了改进的“三重奏”:与 ColBERTv2 相比,索引时间减少 15 倍,检索延迟减半,同时检索性能优于主流基线。
![[未标注图片]](https://arxiv.org/html/2605.30120v1/x1.png)
图 1:单阶段稀疏检索(SSR)。(a)范式对比。与将嵌入压缩为低维向量并需要穷举词元对计算的稠密 MVR 不同,我们的稀疏 MVR 通过稀疏自编码器(SAE)将特征投影到高维稀疏空间。这使得仅在重叠的激活神经元上进行高效交互计算成为可能。(b)权衡分析。单向量检索效率高,但存在语义压缩损失。稠密 MVR 保留了词元级细节,但由于聚类和多阶段剪枝(低效索引)导致计算开销巨大。SSR 弥补了这一差距,通过自然的倒排索引加速检索,同时保留细粒度语义信息。(c)性能与效率。SSR 在检索性能上达到最先进水平,同时检索延迟相比竞争基线减半。特别值得注意的是,通过消除聚类瓶颈,索引时间减少了 15 倍(通过气泡大小表示)。
1 引言
神经信息检索长期以来一直面临精度与效率之间的根本权衡(Khattab and Zaharia, 2020 (https://arxiv.org/html/2605.30120#bib.bib13); Cao et al., 2023 (https://arxiv.org/html/2605.30120#bib.bib64); Zhou et al., 2023 (https://arxiv.org/html/2605.30120#bib.bib68); Santhanam et al., 2022a (https://arxiv.org/html/2605.30120#bib.bib17))。单向量检索(SVR)通过简单的点积实现高吞吐量搜索,但往往难以捕捉复杂查询中细微的语义差别。相比之下,以 ColBERT(Khattab and Zaharia, 2020 (https://arxiv.org/html/2605.30120#bib.bib13))为首的多向量检索(MVR)范式,为有效检索树立了新标准。通过将文档表示为词元级嵌入的序列,并采用后期交互(如 MaxSim)机制,MVR 实现了单向量检索通常无法做到的细粒度语义对齐。
然而,这种精度带来了巨大的存储和计算开销。将文档表示为向量的集合,导致索引规模比单向量基线呈数量级增长。为了使其在部署中可行,像 PLAID(Santhanam et al., 2022a (https://arxiv.org/html/2605.30120#bib.bib17))这样的最先进系统依赖激进的近似策略,例如向量量化(VQ)和大规模聚类(如 K-means)。虽然这些工程优化缓解了检索延迟,但留下了两个关键问题未解决。首先,将丰富的词元嵌入压缩成短码或质心不可避免地导致信息损失,牺牲了 MVR 本意要保留的语义细节。其次,索引过程仍然过于复杂:在十亿级词元数据集上执行聚类计算成本极高,给索引构建和实时更新造成了严重瓶颈。这引导我们提出一个关键问题:
我们能否保留 MVR 的词元级粒度,同时实现接近词汇搜索的检索速度,而无需承受聚类带来的沉重负担?
在本文中,我们提出从稠密近似到单阶段稀疏检索(SSR)的范式转变。如图 1(左)所示,我们不是将词元嵌入压缩为低维稠密嵌入,而是使用稀疏自编码器(SAE)(Gao et al., 2024 (https://arxiv.org/html/2605.30120#bib.bib24); Lee et al., 2006 (https://arxiv.org/html/2605.30120#bib.bib38))将其投影到显著更高维但高度稀疏的特征空间。这种变换将复杂的词元语义解耦为只有少数激活神经元(例如 32 个)的稀疏向量。关键的是,这种稀疏性解锁了稠密方法所没有的结构优势:它使我们能够完全抛弃 K-means,转而利用倒排索引,让每个活跃维度充当“伪词元”——这正是传统关键词搜索(如 BM25(Robertson et al., 1995 (https://arxiv.org/html/2605.30120#bib.bib54)))背后的高效数据结构。我们提供两种实现:SSR-tok(仅关注词元级交互)和 SSR-CLS(通过整合 [CLS] 嵌入相似度来纳入全局语义)。
我们在 MS MARCO(Nguyen et al., 2016 (https://arxiv.org/html/2605.30120#bib.bib33))(领域内)和 BEIR(Thakur et al., 2021 (https://arxiv.org/html/2605.30120#bib.bib32))(领域外)基准上对 SSR 进行了实证验证。我们的结果表明,SSR 同时优化了准确性、速度和可扩展性:它匹配或超过了最先进检索器的性能(比最强基线平均提升 2.2%),同时将检索延迟几乎减半,并将索引构建时间减少超过 15 倍(通过消除聚类开销)。此外,我们通过将方法应用于现代大语言模型骨干(Llama-Embed-8B(Babakhin et al., 2025 (https://arxiv.org/html/2605.30120#bib.bib6))),证明了我们方法的可扩展性,取得了与最新单向量嵌入模型竞争的性能。我们在附录 B 中详细讨论了单向量检索和多向量检索技术的发展历程,突出了现有方法的相关性和局限性,这些正是 SSR 的动机。我们的代码发布在 https://github.com/Y-Research-SBU/SSR。我们的贡献如下:
- 我们提出了单阶段稀疏检索,一个高效且有效的多向量稀疏编码框架,使得倒排索引能够直接用于单阶段语义检索。
- 我们引入了一个混合训练目标,将重构损失与多向量对比损失相结合,确保学到的稀疏特征对于排序任务具有判别性。
- 广泛的领域内和领域外评估证实,SSR 有效地改善了效率-效果权衡边界,在不损害检索质量的前提下,实现了低于 20 毫秒的检索延迟和最先进的索引速度。
请看图注
图 2:标准检索范式(如 PLAID(Santhanam et al., 2022b (https://arxiv.org/html/2605.30120#bib.bib16)))与我们提出的 SSR 之间的概念对比。
2 背景
2.1 问题形式化
检索任务的目标是,从一个大规模语料库 \mathcal{D}=\{D_1,\dots,D_{|\mathcal{D}|}\} 中得到按与用户查询 Q 语义相关性排序的文档列表。查询 Q=(q_1,\dots,q_{|Q|}) 和文档 D=(d_1,\dots,d_{|D|}) 通常都被表示为词元序列。核心挑战是学习一个参数化的评分函数 s_\theta(Q,D)\in\mathbb{R},用于量化查询-文档对之间的相关性。理想情况下,对于相关文档 D^+ 和不相关文档 D^-,模型应满足 s_\theta(Q,D^+) > s_\theta(Q,D^-)。
2.2 现有多向量检索范式
尽管近期文献中架构存在差异,但现代多向量检索(MVR)模型的推理过程通常归结为一个三阶段的“先过滤后精化”范式,如图 2 所示。形式上,给定一个查询 Q=\{q_1,\dots,q_N\} 和一个文档语料库 \mathcal{D},目标是高效地识别出使后期交互得分 S(Q,D) 最大的前 k 个文档。
阶段 I:索引与候选生成。 处理十亿级词元向量需要高效的预过滤机制。具体来说,在索引阶段,文档词元通过 FAISS(Douze et al., 2024 (https://arxiv.org/html/2605.30120#bib.bib53))等聚类引擎映射到质心码本 \mathcal{C}=\{\mathbf{c}_1,\dots,\mathbf{c}_K\}。在检索时,对于每个查询词元 q_i,系统识别出一组最近的质心 \mathcal{C}_i \subset \mathcal{C},并检索与之关联的文档列表。初始候选集 \mathcal{D}_{\text{cand}} 是这些活跃质心命中文档的并集:
\mathcal{D}_{\text{cand}} = \bigcup_{q_i \in Q} \bigcup_{\mathbf{c} \in \mathcal{C}_i} \phi(\mathbf{c}) (1)
其中 \phi(\mathbf{c}) 表示包含属于质心 \mathbf{c} 的词元的文档集合。这个阶段通常通过过滤掉原始语料库的 >98\% 来缩减搜索空间。
阶段 II:近似评分与剪枝。 由于内存访问和浮点运算的高成本,对于 \mathcal{D}_{\text{cand}} 进行细粒度交互计算仍然计算量过大。因此,该阶段使用压缩表示进行近似评分。例如,PLAID(Santhanam et al., 2022a (https://arxiv.org/html/2605.30120#bib.bib17))和 EMVB(Nardini et al., 2024 (https://arxiv.org/html/2605.30120#bib.bib19))利用质心级交互或位向量来估计相似度,而不是重建完整的嵌入。近似得分 \hat{S}(Q,D) 通常计算为:
\hat{S}(Q,D) = \sum_{i=1}^{|Q|} \max_{j=1}^{|D|} (\mathbf{q}_i \cdot \mathbf{c}_{d_j}) (2)
其中 \mathbf{c}_{d_j} 表示第 j 个文档词元 d_j 的质心。基于 \hat{S},候选集被激进地剪枝到更小的子集 \mathcal{D}_{\text{top}} \subset \mathcal{D}_{\text{cand}}(通常是数千个文档)。
阶段 III:带解压缩的最终重排序。 在最后阶段,重建全精度向量以解决细微的语义差异。像 ColBERTv2(Santhanam et al., 2022b (https://arxiv.org/html/2605.30120#bib.bib16))这样的方法利用残差压缩,其中重建向量 \tilde{\mathbf{d}}_j \approx \mathbf{c}_{d_j} + \mathbf{r}_{d_j}。最终排名由精确的 MaxSim 操作决定:
S(Q,D) = \sum_{i=1}^{N} \max_{j=1}^{M} (\mathbf{q}_i \cdot \tilde{\mathbf{d}}_j) (3)
这确保了最终的顶级文档是基于最高保真度的表示选择的。
分析:效率提升与局限。 上述范式通过将大量计算从整个语料库转移到逐步缩小的候选集上,显著降低了检索成本。通过利用量化和近似评分,现代引擎在百万级语料库上实现了亚秒级延迟。然而,仍然存在重大挑战。第一,索引过程计算成本高且速度慢,主要是因为对十亿级词元进行聚类以及计算残差的开销。第二,多阶段剪枝流水线引入了复杂的控制逻辑和内存访问模式,其中解压缩和重复评分 的开销可能成为瓶颈。最后,即使有 SIMD 优化,最后阶段的 MaxSim 操作仍然是理论上的二次复杂度(即 O(N \times M)),限制了长上下文检索的吞吐量。
3 新范式:从密度到稀疏性
为了解决以往多向量系统中固有的效率限制和索引开销,我们提出了单阶段稀疏检索(SSR)。SSR 不依赖昂贵的聚类和激进的降维,而是通过稀疏自编码器(SAE)将词元嵌入投影到高维、高度稀疏的特征空间,从而实现直接且高效的语义检索。
3.1 稀疏后期交互评分
SSR 范式的核心是在稀疏潜在空间中保持后期交互的词元级粒度。给定一个具有 |Q| 个词元的查询 Q=\{q_1,...,q_{|Q|}\} 和一个具有 |D| 个词元的文档 D=\{d_1,...,d_{|D|}\},每个词元首先由骨干编码器(如 BERT)编码为稠密表示,然后通过学到的 SAE 映射到稀疏向量 \mathbf{z} \in \mathbb{R}^h,之后查询转换为 Q' = \{\mathbf{z}_{q_1}, \mathbf{z}_{q_2}, ..., \mathbf{z}_{q_{|Q|}}\} \in \mathbb{R}^{h \times |Q|},文档转换为 D' = \{\mathbf{z}_{d_1}, \mathbf{z}_{d_2}, ..., \mathbf{z}_{d_{|D|}}\} \in \mathbb{R}^{h \times |D|}。我们采用 MaxSim 算子计算细粒度相似度。然而,与稠密检索不同,交互仅发生在激活的神经元之间:
S(Q,D) = \sum_{i=1}^{N} \max_{j=1}^{M} \left( \sum_{u \in \mathcal{A}_K(\mathbf{z}_{q_i}) \cap \mathcal{A}_K(\mathbf{z}_{d_j})} \mathbf{z}_{q_i}^{(u)} \cdot \mathbf{z}_{d_j}^{(u)} \right) (4)
其中 \mathcal{A}_K(\cdot) 表示前 K 最大神经元的索引集合。
附录 A 提供了公式 (4) 中稀疏评分规则的有界失真分析。在 sm
相似文章
@lateinteraction: Late-interaction稀疏检索?利用神经元级倒排索引,基于无监督稀疏自编码器。效果更佳…
本文提出了一种使用无监督稀疏自编码器和自然倒排索引的单阶段稀疏编码方法,以加速多向量检索,其效果优于传统的基于k-means的方法。
@yifeiwang77: 感谢分享我们的工作 @lateinteraction @sum!这个想法极其简单:- 多向量检索成本高昂……
作者分享了他们通过将k-means用作top-1稀疏编码来降低多向量检索成本的工作。Omar Khattab补充说,在无监督稀疏自编码器上使用神经元级别倒排索引的晚期交互稀疏检索效果很好。
@_reachsumit: Latent Terms: 密集检索器包含可轻松提取的BM25就绪齐普夫词汇表 @bclavie 等人提取中…
该论文提出 Latent Terms 方法,使用稀疏自编码器从冻结的密集检索器中提取BM25就绪的稀疏特征,无需检索特定训练即可实现有竞争力的性能。
@bclavie: 非常兴奋终于能分享这个,已经藏着太久了!现在它非常应景。博客文章很快就会…
研究人员使用经过重构训练的稀疏自编码器,从冻结的密集检索器中提取出可索引且适用于BM25的稀疏特征。
@mixedbreadai:到如今,所有人都知道单向量嵌入模型对现代工作流极为有限。但它们包含更多…
单向量嵌入模型可用于提取稀疏潜在术语,而BM25可将这一词汇转化为强大的检索器。