MRVQ:一种支持维度和码率弹性调整的单一常驻索引,用于向量搜索
MRVQ: One Resident Index for Dimension- and Rate-Elastic Vector Search
精选理由
以单一索引灵活适配不同维度与码率,大幅降低向量检索内存占用。
AI 摘要
稠密检索服务必须根据延迟、质量和内存预算的变化,在嵌入前缀维度和索引比特率之间切换。针对每种码率分别调优量化器可以获得最佳质量,但这样一来,检索层就必须同时保存多个代码流和量化器状态。我们提出 Matryoshka Residual Vector Quantization(MRVQ),一种面向冻结嵌入的事后残差量化器。其最高码率代码可通过两种方式截断:去除残差阶段可以降低码率,去除嵌入坐标可以降低维度。因此,一个常驻工件即可服务于我们评估的所有(维度、码率)组合。在 FiQA 和 NFCorpus、四种嵌入系列以及 {4, 8, 16} 字节代码的评估中,MRVQ 是我们测试的内存占用最低的设计。与分别训练的三个 QINCo2 索引相比,它的内存占用减少了 17.8–22.0 倍;与一种精简的共享模型强基线相比,则减少了 1.89–2.02 倍。这种节省并非没有代价:在 FiQA 上,按码率分别训练的 QINCo2 的 nDCG@10 高出 0.026–0.107。不过,在代码大小相同的情况下,MRVQ 击败了 PQ、OPQ 和 AdANNS-OPQ。我们还评估了一种构建成本较低的 PCA-scalar 设计;其质量与 RaBitQ 及其扩展版本相当,而在中位数意义下的拟合速度快 420 倍。最后,我们报告了两个负面结果:在高码率下训练时,QINCo2 会崩溃;而一个排序上界假设未达到预先设定的验收标准。因此,MRVQ 是弹性检索的一种低内存工作点,而不是在质量上普遍占优的方案。