@_reachsumit: 告别K-means:单阶段稀疏编码实现高效多向量检索 @Veritas2026 等人替代向量聚…

X AI KOLs Timeline 论文

摘要

本文提出单阶段稀疏检索(SSR),用稀疏自编码器和倒排索引替代K-means聚类,实现了15倍的索引加速和一半的检索延迟,同时在BEIR基准上提升了准确性。

告别K-means:单阶段稀疏编码实现高效多向量检索 @Veritas2026 等人使用高效的稀疏自编码器和自然倒排索引替代向量聚类,加速多向量检索。https://arxiv.org/abs/2605.30120 https://github.com/Y-Research-SBU/SSR…
查看原文
查看缓存全文

缓存时间: 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 倍,检索延迟减半,同时检索性能优于主流基线。

[未标注图片]

图 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

相似文章