基于交叉编码器的 k-NN 检索与可扩展索引
信息检索
2024-05-07 v1 机器学习
摘要
交叉编码器(CE)模型通过联合编码查询-项目对来计算相似度,优于基于嵌入的模型(双编码器)在估计查询-项目相关性方面。现有方法使用 CE 通过用向量嵌入空间近似 CE 相似度来进行 k-NN 检索,这种向量嵌入空间要么是由双编码器拟合,要么是由 CUR 矩阵分解拟合。基于 DE 的检索-重排序方法在新领域上 suffers from poor recall,而且检索与 CE 脱钩。虽然 CUR 基于的方法在准确性上可能优于 DE 基于的方法,但它们需要大量调用 CE 来计算项目嵌入,这使得在大规模部署时难以实际使用。在本文中,我们提出了一种基于稀疏矩阵分解的方法,以高效计算潜在查询和项目嵌入来近似 CE 分数,并进行 k-NN 检索。我们通过对包含训练查询的查询-项目 CE 分数的稀疏矩阵进行分解来离线计算项目嵌入。我们的方法在质量上具有高水平的近似,同时只需比 CUR 方法中更少的 CE 调用,允许利用 DE 来初始化嵌入空间,同时避免通过蒸馏进行计算和资源密集型的 DE 微调。在测试时,项目嵌入保持固定,检索通过交替进行:a) 通过最小化对已检索项目的 CE 分数误差来估计测试查询嵌入,b) 使用更新后的测试查询嵌入检索更多项目。我们的 k-NN 检索方法在 k=1 时提高了最高可达 5% 的召回率,在 k=100 时提高了最高可达 54%。此外,我们的索引方法在 CUR 基于方法上实现了最高 100 倍的加速,在 DE 蒸馏方法上实现了最高 5 倍的加速,同时在基准方法上实现了相同或更好的 k-NN 检索召回率。
引用
@article{arxiv.2405.03651,
title = {Adaptive Retrieval and Scalable Indexing for k-NN Search with Cross-Encoders},
author = {Nishant Yadav and Nicholas Monath and Manzil Zaheer and Rob Fergus and Andrew McCallum},
journal= {arXiv preprint arXiv:2405.03651},
year = {2024}
}
备注
ICLR 2024