内存-磁盘混合存储支撑亿级向量近似最近邻搜索(SPANN)

简介

论文题目:SPANN : Highly-efficient Billion-scale Approximate Nearest Neighbor Search,2021年发表在NeurIPS上,论文作者:Qi Chen, Bing Zhao, Haidong Wang, Mingqin Li, Chuanjie Liu, Zengzhong Li1, Mao Yang, Jingdong Wang,单位:Microsoft, Peking University, Tencent, Baidu

背景

当前,由于亿级向量检索需求,内存-硬盘混合存储设备下ANNS方案引起研究关注,本文以简单的倒排索引为基础进行优化,实现了一种有效的解决方案——SPANN。

主要内容

Build
SPANN整体上是一个内存-硬盘混合索引方案,其通过分层平衡聚类技术将数据划分为等尺寸的posting list,每一个posting list就是一个聚类,里面离类中心最近的向量代替类中心,它们在内存里通过SPTAG建一个索引常驻内存中。SPANN在硬盘上存放每一个posting list所包含的向量,为了缓解边界问题,即一个向量点在两个不同posting list的边界附近,SPANN优化了分层聚类中的最后一层聚类,一个向量点会分配到多个较近的posting list里面,这个过程也会采用一种RNG规则避免把一个边界向量点分配到两个较近的posting list中。

Search
SPANN并不会把召回的K个代表向量(距类中心最近的向量)对应的posting list都从硬盘load上来,而是把距查询最近代表向量附近的一些代表向量对应的posting list从硬盘load上来。

一些参数设置

  1. 每个向量最多8个副本,即最多分配到8个较近的posting list中;
  2. 分别为byte类型向量和float类型向量限制其posting list最大尺寸为12KB和48KB;
  3. ϵ 1 = 10 \epsilon_1=10 ϵ1=10,分配向量时,仅考虑最近posting list附近放大 ϵ 1 \epsilon_1 ϵ1后符合条件的候选posting list;
  4. ϵ 2 = 0.6 \epsilon_2=0.6 ϵ2=0.6(recall@1), ϵ 2 = 7 \epsilon_2=7 ϵ2=7(recall@10),查询时,通过 ϵ 2 \epsilon_2 ϵ2放大距查询最近posting list附近需要load的posting list数;

实验分析

与DiskANN相比

与当前内存-硬盘方案baseline方法DiskANN相比,SPANN在召回率不太高的情况下更有优势,在较高召回率下,优势缩小甚至不如DiskANN。

在这里插入图片描述

与内存方案相比

相同召回率下(SIFT1M数据集),SPANN的VQ更高,但延迟也更高。

在这里插入图片描述

消融研究

  1. 分析将数据划分为多少类,这里涉及到一个权衡,类数量越多,占据的内存索引就越大,性能就越好。Figure 9表明,类数量达总数据规模16%时,上述权衡最佳。

  2. 对比不同数据划分方式:(1) 随机选质心;(2) 分层KMeans聚类;(3) 分层平衡聚类,类个数是整体数据量的16%。Figure 10结果表明,(3)的方案最好。

在这里插入图片描述

  1. 分析一个向量复制几份(即同时存在几个posting list中),这里也涉及一个权衡,如Figure 11所示,复制的量越多,不仅增大posting list的尺寸而且过多时也给性能带来不利影响,复制的量过少时,一些边界向量就会被忽略从而也破坏性能。

在这里插入图片描述

  1. 查询时按本文方法剪枝的效果见Figure 12,性能会有一点提升。
  2. 本文还简单讨论了如何将SPANN进行分布式部署,且其分布式方案取得了不错的性能。

个人主页

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值