论文
用于模型感知紧凑语义检索的 Matryoshka 哈希表示
Matryoshka Hash Representations for Model-Aware Compact Semantic Retrieval
摘要
检索增强生成(RAG)依赖于密集检索:每个文档都存储为学习向量,并且通过在该向量空间中查找其最近邻居来回答查询。每个文档保留一个全精度向量是语料库规模的主要索引成本,因此检索系统用几个字节的短代码替换每个向量,这一步骤称为量化。标准量化器(例如乘积量化 (PQ))会选择最接近地重构原始向量的代码。如果单个代码同时提供多个字节预算,则它会更加有用:当其短前缀都可直接搜索时,部署可以设置其效率-质量操作点,而无需重新编码语料库。但是,在一个目标下训练所有前缀会使早期的部分在预算上做出妥协——短代码得到改善,而全宽代码则退化。量化为低位表示(例如二进制代码)进一步加剧了冲突。我们引入了 Matryoshka 哈希表示(MHR),这是一个将全宽度训练与前缀组织分开的两阶段过程。 MHR 首先学习更长的二进制代码,然后冻结模型并训练额外的零初始化剩余代码适配器以直接搜索前缀。文档以每个坐标一位存储,而查询则像 PQ 一样保持连续的 logits 以获得足够的表达能力。我们使用 FAISS FastScan 实施搜索过程。在 MS MARCO 上进行训练并零样本转移到七个 BEIR 数据集后,MHR 在 32 字节时达到 0.5561 NDCG@10 和 0.6535 Recall@100,超过了相同预算的最佳基线。在预算较低的情况下,优势更为明显。相同的代码还增强了两个常见的管道:将候选者列入全精度重新排名的候选名单,以及修剪低存储图索引(例如 LEANN)。