CleANN: Efficient Full Dynamism in Graph-based Approximate Nearest Neighbor Search
Ziyu Zhang, Yuanhao Wei, Joshua Engels, Julian Shun
近似最近邻居搜索(ANNS)已成为AI工作负载其他各种基础数据任务的典型算法问题。 基于图形的ANNS索引在索引成本,查询效率和查询近似质量方面具有极好的经验权衡。 大多数现有的基于图形的索引是为静态场景设计的,其中索引构建后数据没有更新。 然而,完全动态(插入、删除和搜索)对于使用向量数据库在应用程序中提供最新的响应至关重要。 索引有效地同时支持更新和搜索查询是可取的。 现有的基于动态图形的索引至少存在以下问题之一:(1)查询质量随着更新的发生而退化;(2)用于在更新时保持索引质量的图形结构更新是全球性的,因此价格昂贵。 为了解决这些问题,我们提出了由三个主要组件组成的CleANN系统:(1)工作负载感知链接不同的搜索树后代以对抗分布转移;(2)查询适应性即时社区整合,以有效地处理已删除的节点;(3)半懒惰的内存清理,以清理数据结构中的陈旧信息并减少前两个组件所花费的工作。 我们在完全动态工作负载的7个不同数据集上评估ClANN,并发现ClANN的查询质量至少与使用相应数据静态构建的索引一样好。 在内存设置中使用 56 个超线程,所有类型的查询同时运行,在同一召回级别,CleANN 在百万级真实世界数据集上实现了 7-1200 倍的吞吐量改进。 据我们所知,ClANN是第一个实现这种效率的并发ANNS指数,同时在充分活力下保持质量。
Approximate nearest neighbor search (ANNS) has become a quintessential algorithmic problem for various other foundational data tasks for AI workloads. Graph-based ANNS indexes have superb empirical trade-offs in indexing cost, query efficiency, and query approximation quality. Most existing graph-based indexes are designed for the static scenario, where there are no updates to the data after the index is constructed. However, full dynamism (insertions, deletions, and searches) is crucial to prov...