@_reachsumit:ColBERTSaR:通过乘积量化实现稀疏化ColBERT索引 @EYangTW等人提出了一种嵌入量化方法……

X AI KOLs Following 论文

摘要

ColBERTSaR提出了一种使用乘积量化的嵌入量化方法,将ColBERT索引转换为真正的倒排索引,与单比特PLAID相比,索引大小减少50-70%,同时保持检索效果。

ColBERTSaR:通过乘积量化实现稀疏化ColBERT索引 @EYangTW等人提出了一种嵌入量化方法,将ColBERT索引转换为真正的倒排索引,生成比1-bit PLAID小50-70%的索引。 https://arxiv.org/abs/2606.05568 https://github.com/hltcoe/ColBERTSaR…
查看原文
查看缓存全文

缓存时间: 2026/06/05 05:11

ColBERTSaR:通过乘积量化实现的稀疏化ColBERT索引。@EYangTW等人提出了一种嵌入量化方法,将ColBERT索引转变为真正的倒排索引,生成的索引比1位PLAID索引小50-70%。https://arxiv.org/abs/2606.05568 https://github.com/hltcoe/ColBERTSaR…


ColBERTSaR:通过乘积量化实现的稀疏化ColBERT索引

来源:https://arxiv.org/html/2606.05568 ,Andrew Yates约翰·霍普金斯大学马里兰州巴尔的摩市美国[email protected] (https://arxiv.org/html/2606.05568v1/mailto:[email protected]),Dawn Lawrie约翰·霍普金斯大学马里兰州巴尔的摩市美国[email protected] (https://arxiv.org/html/2606.05568v1/mailto:[email protected]),James Mayfield约翰·霍普金斯大学马里兰州巴尔的摩市美国[email protected] (https://arxiv.org/html/2606.05568v1/mailto:[email protected]),Saron Samuel约翰·霍普金斯大学马里兰州巴尔的摩市美国[email protected] (https://arxiv.org/html/2606.05568v1/mailto:[email protected])和Rohan Jha约翰·霍普金斯大学马里兰州巴尔的摩市美国[email protected] (https://arxiv.org/html/2606.05568v1/mailto:[email protected])

(2026)

摘要.

尽管ColBERT是一种有效的神经检索架构,但它需要庞大的索引结构来支持基于近似令牌嵌入的候选集检索、收集和解压缩文档令牌嵌入,以及应用MaxSim操作。PLAID及类似ColBERT实现中的索引所需磁盘存储空间是原始原始文本的五到十倍,这限制了其可扩展性。此外,先前的研究已指出,收集和解压缩阶段是查询时的主要低效环节。通过阈值和分数近似来限制必须收集的文档令牌数量,并不能消除整个索引用于支持即席查询的需求。在这项工作中,我们提出了一种嵌入量化方法,将ColBERT索引转变为真正的倒排索引。我们从理论上证明,加上嵌入量化的ColBERT在评分机制之外等效于学习型稀疏检索。实验结果表明,我们的索引比一位PLAID索引小50-70%,同时保持了检索效果。

稀疏压缩, 分数近似, K均值聚类

††journalyear:2026††copyright:cc††conference:第49届ACM SIGIR信息检索研究与发展国际会议论文集; 2026年7月20–24日; 澳大利亚维多利亚州墨尔本††booktitle:第49届ACM SIGIR信息检索研究与发展国际会议论文集 (SIGIR ’26), 2026年7月20–24日, 澳大利亚维多利亚州墨尔本††doi:10.1145/3805712.3809920††isbn:979-8-4007-2599-9/2026/07††ccs:信息系统 检索效率††ccs:信息系统 搜索索引压缩††ccs:信息系统 搜索引擎索引## 1.引言

多向量稠密检索模型,如ColBERT(Khattab和Zaharia, 2020 (https://arxiv.org/html/2606.05568#bib.bib13))和XTR(Lee等人, 2024 (https://arxiv.org/html/2606.05568#bib.bib17)),因其建模的表达力而有效。虽然类似于使用单个上下文嵌入表示信息的单向量稠密模型,如DPR(Karpukhin等人, 2020 (https://arxiv.org/html/2606.05568#bib.bib12))和Qwen3-Embedding(Zhang等人, 2025 (https://arxiv.org/html/2606.05568#bib.bib32)),但多向量模型为每个文档使用多个向量以捕获更细粒度的信息(Formal等人, 2021c (https://arxiv.org/html/2606.05568#bib.bib8))。然而,产生的向量数量取决于文档长度;这带来了效率挑战,因为该数量通常比单向量表示大几个数量级。后续工作 (PLAID(Santhanam等人, 2022a (https://arxiv.org/html/2606.05568#bib.bib25))) 通过将向量存储在倒排文件索引 (IVF) 中,并使用通过高度压缩残差进行的乘积量化来解决这个问题(Johnson等人, 2019 (https://arxiv.org/html/2606.05568#bib.bib11); Ge等人, 2013 (https://arxiv.org/html/2606.05568#bib.bib9); Santhanam等人, 2022a (https://arxiv.org/html/2606.05568#bib.bib25))。抽象地说,在搜索时,PLAID首先从IVF中收集与查询令牌向量相似的文档向量,使用启发式方法过滤它们,最后解压缩候选文档的所有文档令牌向量以执行实际评分。先前的工作已经探索了诸如令牌路由(Li等人, 2023 (https://arxiv.org/html/2606.05568#bib.bib18))、分数插补(Lee等人, 2024 (https://arxiv.org/html/2606.05568#bib.bib17); Scheerer等人, 2025 (https://arxiv.org/html/2606.05568#bib.bib27))、快速解压缩(Scheerer等人, 2025 (https://arxiv.org/html/2606.05568#bib.bib27))、指令集优化(Nardini等人, 2024 (https://arxiv.org/html/2606.05568#bib.bib22)),以及用更高效的模型替换初始候选搜索(MacAvaney和Tonellotto, 2024 (https://arxiv.org/html/2606.05568#bib.bib19); Formal等人, 2024 (https://arxiv.org/html/2606.05568#bib.bib5))甚至用更小的模型替换整个主干(Wang等人, 2023 (https://arxiv.org/html/2606.05568#bib.bib29))等方法来减少查询延迟。然而,这些工作没有解决索引大小问题。对于一百万个文档,每个文档包含512个令牌(对于未压缩时占用1到3 GB存储空间的集合来说,这是一个中等大小),在默认的128维ColBERT嵌入下,PLAID仍然需要超过7.8 GB来存储激进的1位压缩残差。如果使用2位或4位压缩,这个大小会翻倍或翻四倍(Santhanam等人, 2022a (https://arxiv.org/html/2606.05568#bib.bib25)),变得比原始文本大一个数量级。

另一方面,稀疏检索的存储占用要小得多。由于每个文档由其独特的令牌和影响分数表示(Mackenzie等人, 2022 (https://arxiv.org/html/2606.05568#bib.bib20)),因此索引大小远小于ColBERT(其中每个令牌映射到一个稠密向量,参见表3 (https://arxiv.org/html/2606.05568#S3.T3) 进行比较)。近年来,像SPLADE(Formal等人, 2021b (https://arxiv.org/html/2606.05568#bib.bib7); Formal等人, 2021a (https://arxiv.org/html/2606.05568#bib.bib6); Lassance等人, 2024 (https://arxiv.org/html/2606.05568#bib.bib14))和MILCO(Nguyen等人, 2025 (https://arxiv.org/html/2606.05568#bib.bib23))等学习型稀疏检索 (LSR) 工作通过将每个文档映射到一组推断出的令牌,显著提高了模型有效性;这仍然保持了索引大小的可管理性(Nguyen等人, 2023 (https://arxiv.org/html/2606.05568#bib.bib24); Mallia等人, 2021 (https://arxiv.org/html/2606.05568#bib.bib21))。

有趣的是,在没有残差的情况下,PLAID本质上是一种具有二元文档权重的稀疏检索(下一节将详细说明)。然而,残差虽然构成了索引存储的大部分,但对于在PLAID中计算近似的ColBERT分数至关重要(参见表2 (https://arxiv.org/html/2606.05568#S3.T2) 的实验结果)。为了消除对残差向量的依赖,我们引入了ColBERTSaR,这是一种对任何ColBERT风格模型的MaxSim分数进行稀疏近似的方法,无需重新训练检索模型并存储残差。ColBERTSaR是PLAID的直接替代方案,可将ColBERT转变为稀疏检索模型。ColBERTSaR大幅减少了PLAID的索引大小,同时提供了具有竞争力的效果。在这项工作中,我们:1) 提供了ColBERTSaR稀疏近似的理论推导;2) 建立了ColBERT与LSR模型之间的强关联;3) 通过概念验证实现,在单语、跨语言和多语言检索上展示了实验结果。111https://github.com/hltcoe/ColBERTSaR

2.ColBERTSaR

2.1.MaxSim的稀疏近似

MaxSim由Khattab和Zaharia (2020 (https://arxiv.org/html/2606.05568#bib.bib13))提出,它聚合了查询与文档令牌嵌入之间的成对相似度,这些相似度通过L2归一化嵌入的点积实现。令qi∈qq_{i}\in q和dj∈dd_{j}\in d分别表示查询qq和文档dd的令牌嵌入。MaxSim可以写为

(1)Score(q,d)=∑i=1|q|maxj=1|d|⁡(qi⋅dj)Score(q,d)=\sum_{i=1}^{|q|}\max_{j=1}^{|d|}\left(q_{i}\cdot d_{j}\right)其中|q||q|和|d||d|表示查询和文档的长度。

虽然该方法具有表达力和有效性,但这个过程在两个层面上代价高昂。首先,虽然需要所有内积对来找到最大值,但只有少数对内积对最终分数有贡献(具体来说|q|/|d||q|/|d|,当查询和文档长度分别为32和512时,占比为6.25%,这是一个常见设置)。其次,存储|d||d|个嵌入是昂贵的。ColBERT(Khattab和Zaharia, 2020 (https://arxiv.org/html/2606.05568#bib.bib13))为128维中的每个维度存储了所有16位浮点嵌入。PLAID(Santhanam等人, 2022a (https://arxiv.org/html/2606.05568#bib.bib25))进一步将嵌入压缩为聚类质心和每个坐标几位数的残差。MaxSim评分函数可以重写为:

(2)Score(q,d)=∑i=1|q|maxj=1|d|⁡(qi⋅(cdj+rj))Score(q,d)=\sum_{i=1}^{|q|}\max_{j=1}^{|d|}\left(q_{i}\cdot\left(c_{d_{j}}+r_{j}\right)\right)其中cdjc_{d_{j}}是最接近djd_{j}的锚点,rj=dj−cdjr_{j}=d_{j}-c_{d_{j}}是残差嵌入(可以在索引时分配)。222为了避免定义过多变量,我们滥用符号,用下标djd_{j}表示最近锚点的ID,正式定义为cdj=argmaxck⁡ck⋅djc_{d_{j}}=\operatorname*{arg\,max}_{c_{k}}c_{k}\cdot d_{j}\。锚点矩阵CC,包含KK个质心,每个质心作为列向量ckc_{k},通过对文档令牌嵌入的样本进行K均值聚类拟合。MaxSim计算可以通过仅取在qiq_{i}的nn个最接近分区内的文档嵌入的最大值,而不是在所有锚点ckc_{k}上取最大值来进一步优化,这对应于ANN算法中的probeprobe参数(Jayaram Subramanya等人, 2019 (https://arxiv.org/html/2606.05568#bib.bib10))。

如果残差范数很小(通常在使用小nprobe时如此假设),则可以省略残差向量。这个近似使得函数仅依赖于查询/质心内积,由于我们在使用nprobenprobe时已经计算了这些内积以确定最接近qiq_{i}的聚类,因此它们是免费的。然后评分函数可以进一步简化为:

ScoreS(q,d)\displaystyle Score^{S}(q,d)=∑i=1|q|maxj=1|d|⁡(qi⋅cdj)=∑i=1maxk∈vd⁡qi⋅ck\displaystyle=\sum_{i=1}^{|q|}\max_{j=1}^{|d|}\left(q_{i}\cdot c_{d_{j}}\right)=\sum_{i=1}\max_{k\in v_{d}}q_{i}\cdot c_{k}(3)=∑i=1|q|maxk=1K⁡qi⋅ck⋅1(k∈vd)\displaystyle=\sum_{i=1}^{|q|}\max_{k=1}^{K}q_{i}\cdot c_{k}\cdot\mathbb{1}(k\in v_{d})其中vd={cdj|∀dj∈d}v_{d}=\{c_{d_{j}}|\forall d_{j}\in d\}是文档dd中所有令牌最接近的锚点集合,1(⋅)\mathbb{1}(\cdot)是指示函数。这也是PLAID中第一阶段候选收集过程的核心。

公式3 (https://arxiv.org/html/2606.05568#S2.E3) 的核心是一个动态的TF-IDF函数。将锚点ckc_{k}解释为稀疏索引词汇表,每个qiq_{i}与ckc_{k}之间的内积可以看作是一个查询令牌加权,或者是一个特定于查询的逆文档频率。这使我们能够使用稀疏检索的倒排索引基础设施。利用这种无残差乘积量化,ColBERT是一种具有复杂分数聚合的学习型稀疏检索模型。

2.2.查询感知和无监督锚点优化

使用K均值聚类拟合锚点会最小化每个训练样本嵌入到质心的距离;这可以写成一个最小化问题(Armacki等人, 2022 (https://arxiv.org/html/2606.05568#bib.bib2))。假设有MM个训练样本和KK个质心,目标可以写成:

(4)minC∑j=1Mmink=1K(ck−xj)2\min_{C}\sum_{j=1}^{M}\min_{k=1}^{K}\left(c_{k}-x_{j}\right)^{2}其中xjx_{j}是训练嵌入。换句话说,K均值最小化残差向量rr的L2范数,即其最近质心与自身之间的差异。优化通常使用迭代算法如E-M,但也可以使用梯度下降(Armacki等人, 2022 (https://arxiv.org/html/2606.05568#bib.bib2));这为扩展提供了更多灵活性。

然而,真实MaxSim与无残差量化之间的近似误差不仅取决于残差向量的大小,还取决于其方向,这与K均值聚类的优化目标不同。如果所有残差向量都为零,则没有近似误差。否则,令m(i)=argmaxj⁡qi⋅djm(i)=\operatorname*{arg\,max}_{j}q_{i}\cdot d_{j}),近似误差可以写成:

Score(q,d)−ScoreS(q,d)\displaystyle Score(q,d)-Score^{S}(q,d)=∑iqi⋅(dm(i)−cm(i))=∑iqi⋅rm(i)\displaystyle=\sum_{i}q_{i}\cdot\left(d_{m(i)}-c_{m(i)}\right)=\sum_{i}q_{i}\cdot r_{m(i)})这是每个查询令牌嵌入与其匹配的文档令牌的残差向量之间的点积之和。虽然最小化残差向量rr的范数可以间接减少近似误差,但我们可以通过修改公式4 (https://arxiv.org/html/2606.05568#S2.E4) 使其对查询感知,从而直接优化近似误差:

(5)minC∑i=1N∑j=1Mqi⋅argminck,∀k∈[K](ck−xj)2\min_{C}\sum_{i=1}^{N}\sum_{j=1}^{M}q_{i}\cdot\operatorname*{arg\,min}_{c_{k},\forall k\in[K]}\left(c_{k}-x_{j}\right)^{2}其中NN是训练查询的数量。我们称之为查询感知锚点优化。

然而,公式5 (https://arxiv.org/html/2606.05568#S2.E5) 需要训练查询,而这些通常在索引过程中不存在。虽然可以从现有的或公开的查询日志中挖掘(在生产环境中可行),但假设的查询分布可能与实际查询不同。我们可以改用批次内训练样本作为伪查询,以消除对训练查询的依赖。设BB为训练小批量大小。小批量最小化可以写成:

(6)minC∑i=1B∑j=1Bxi⋅argminck,∀k∈[K](ck−xj)2\min_{C}\sum_{i=1}^{B}\sum_{j=1}^{B}x_{i}\cdot\operatorname*{arg\,min}_{c_{k},\forall k\in[K]}\left(c_{k}-x_{j}\right)^{2}这构成了无监督锚点优化问题。

公式6 (https://arxiv.org/html/2606.05568#S2.E6) 假设查询嵌入和文档令牌嵌入是相似的,但有时这并不成立。然而,它仅使用文档令牌向量来增强训练优化,无需额外资源。为了模拟存在查询日志或外部查询的场景,我们探索使用公式5 (https://arxiv.org/html/2606.05568#S2.E5),训练查询来自评估集合和MS MARCO(参见第4.1节 (https://arxiv.org/html/2606.05568#S4.SS1))。

2.3.稀疏索引和检索

索引从采样文档令牌嵌入以形成锚点矩阵CC的训练集开始。锚点数量KK是一个依赖于被索引文档数量的超参数。训练过程中创建的锚点用于稀疏化文档令牌嵌入。每个文档令牌被分配到其

相似文章

@mixedbreadai: https://x.com/mixedbreadai/status/2071678747439505816

X AI KOLs Following

Mixedbread AI 引入了用于后期交互检索的非对称量化技术,通过将文档向量存储为二进制符号同时保持查询向量高精度,实现了32倍的存储缩减且质量损失极小,使得后期交互在十亿级生产系统中变得实用。

InfoQuant:为低比特大语言模型量化塑造激活分布

arXiv cs.LG

InfoQuant 提出了一种无需训练的方法——峰值抑制正交变换(PSOT),用于重塑低比特大语言模型量化中的激活分布,在 W4A4KV4 设置下保留了 97% 的浮点精度,并优于之前的 PTQ 方法。

CubicQuant:面向1-8位权重高吞吐量LLM推理的参数化非均匀码本

arXiv cs.LG

CubicQuant提出了一种用于LLM权重的参数化非均匀标量量化格式,利用单调三次曲线在1-8位宽度下自适应重建水平,同时保留密集整数码流以提升GPU执行效率。实验表明,与均匀基线和浮点基线相比,RMSE有所降低,并给出了初步的H200内核测量结果。