InSituANN: Revisiting IVF for PCIe-Efficient Billion-Scale Vector Search

TL;DR

InSituANN基于 IVF,利用主机内存避免PCIe瓶颈,实现亿级向量在单GPU上的高效检索。

cs.DB 🔴 高级 2026-08-09 67 次浏览
Yuemeng Xu Zongxi Liu Junyu Long Yiming Huang Jiarui Guo Yangyujia Wang Jiachen Xu Dongyuan Yu Zongwei Lv Tong Yang
向量检索 GPU加速 IVF 大规模数据 异构计算

核心发现

方法论

本文提出InSituANN,结合IVF索引架构,将粗搜索在GPU上完成,细搜索在主机内存中进行,避免了大规模基向量数据的PCIe传输瓶颈。采用GPU进行紧凑路由和可选剪枝,保持IVF的简洁性。创新点在于设计超快的IVF构建流程,利用GPU加速索引训练和分配,显著缩短构建时间。通过阶段性优化,结合PQ候选缩减和SIMD加速的精确距离计算,实现高吞吐和高召回率的平衡。

关键结果

  • 在SIFT-1B数据集上,InSituANN构建索引仅用时5.2分钟,比HNSW的30.4小时快约350倍。查询时,匹配召回率下的端到端吞吐量比PCIe瓶颈的Rummy基线提升104.9倍至4298.2倍,比DiskANN提升2.4倍至4.6倍。
  • 在亿级数据集上,InSituANN保持高召回,显著优于图结构索引,且索引空间低于图基方法,展现出成本效益。
  • 通过阶段性优化和PQ候选缩减,系统在保持高精度的同时,极大提升了处理速度,为大规模向量检索提供了实用方案。

研究意义

该研究突破了GPU在亿级向量检索中的瓶颈,将主机内存与GPU计算结合,显著降低硬件成本,提升检索效率。解决了传统GPU索引因显存限制导致的扩展难题,为大规模推荐、语义搜索和大模型检索提供了新途径。其创新架构和超快索引构建流程,为工业界实现高效、低成本的亿级向量检索奠定基础,推动大规模向量数据库的实用化。

技术贡献

提出基于IVF的异构索引架构,结合GPU的紧凑路由和CPU的主存扫描,创新性地消除了基向量在查询中的PCIe传输瓶颈。设计超快的IVF构建路径,利用GPU加速索引训练和分配,显著缩短构建时间。引入PQ候选缩减和SIMD加速的距离计算,提升候选筛选和排序效率。系统整体实现了亿级向量的高吞吐和高召回,兼具存储效率和易更新性。

新颖性

本研究首次系统性提出在单GPU上实现亿级向量检索的异构架构,突破了传统GPU索引受显存限制的瓶颈。创新性地将IVF索引的粗搜索在GPU上完成,细搜索在主机中进行,结合GPU的高速路由和CPU的高效扫描,显著提升了检索速度和效率。这一设计在构建速度和存储成本方面优于现有图结构索引,具有重要的工程和理论创新。

局限性

  • 系统依赖于高效的主存管理和索引更新策略,面对动态数据集时可能需要频繁重建索引,影响实时性。
  • 在极端高维或极大规模数据中,索引的存储和检索效率仍有提升空间,尤其是在硬件资源有限的场景下。
  • 目前主要在静态数据集上验证,动态更新和多模态融合等方面仍需进一步研究。

未来方向

未来将探索动态索引更新机制,提升系统对动态数据的适应性。研究多模态向量融合技术,扩展到多任务检索场景。同时,结合新兴硬件如高速存储和多GPU集群,进一步提升系统的扩展性和实时性能。

AI 总览摘要

随着大规模向量数据的快速增长,近似最近邻搜索(ANNS)成为现代检索系统的核心技术之一。传统GPU索引虽具备强大并行能力,但受限于有限的显存,难以支持亿级向量的全驻留。为解决这一瓶颈,本文提出InSituANN,一种基于IVF的异构索引架构,将粗搜索任务在GPU上完成,细搜索在主机内存中执行,极大降低了PCIe传输负担。该系统利用GPU进行紧凑路由和剪枝,保持IVF的简洁性,同时设计了超快的索引构建流程,将SIFT-1B的索引构建时间缩短至5.2分钟,比传统方法快数百倍。在检索性能方面,InSituANN在亿级数据集上实现了高召回率,端到端吞吐量比基线提升超过千倍,显著优于DiskANN和图结构索引。其创新架构不仅提升了检索速度,也降低了存储成本,为工业界实现成本效益高、扩展性强的亿级向量检索提供了可行方案。未来,系统将在动态更新、多模态融合和多GPU扩展方面持续优化,推动大规模向量数据库的实用化进程。

深度分析

研究背景

近年来,随着深度学习和大数据的发展,向量检索技术成为信息检索、推荐系统和大模型的基础。代表性方法如HNSW、DiskANN等在高召回率方面表现优异,但在大规模数据和硬件限制下存在存储和计算瓶颈。GPU的强大并行能力被广泛应用于向量检索,但显存限制限制了其在亿级数据上的应用。传统方案依赖于GPU内存或复杂图结构,存在扩展性差和更新成本高的问题。近年来,IVF索引因其结构简单、易于部署成为研究热点,但在大规模场景中仍面临PCIe带宽瓶颈。本文在此背景下,提出一种新颖的异构索引架构,结合GPU的高速路由和主机内存的存储优势,推动亿级向量检索的实用化。

核心问题

核心问题在于如何在单GPU环境下实现亿级向量的高效检索。传统GPU索引受限于显存,难以存储全部基向量,导致频繁的PCIe数据传输成为瓶颈。即使采用主机存储,GPU在细搜索阶段仍需大量数据传输,严重制约吞吐量和响应速度。此外,索引构建时间长、存储空间大、更新困难也限制了其工业应用。解决这一问题需要设计一种在硬件资源有限条件下,兼顾速度、存储和更新的索引架构。

核心创新

本研究的创新点主要包括:1)提出基于IVF的异构架构,将粗搜索在GPU上完成,细搜索在主机中执行,避免了大规模基向量的PCIe传输瓶颈;2)设计超快的索引构建流程,利用GPU加速索引训练和分配,缩短构建时间至5.2分钟;3)引入PQ候选缩减机制,通过GPU扫描紧凑的PQ码,减少候选数,提高筛选效率;4)采用SIMD优化的距离计算,提升精确距离验证速度。这些创新使得系统在保持高召回的同时,实现了极高的吞吐率和存储效率。

方法详解

  • �� 预训练IVF索引:利用K-means对向量进行聚类,生成簇中心。• 粗搜索:GPU端进行批量距离计算,快速筛选出最接近的簇。• 索引构建:GPU加速训练簇中心,快速完成索引训练和分配。• 细搜索:CPU端在主机内存中扫描选中的倒排列表,计算精确距离。• PQ候选缩减:在GPU上扫描紧凑的PQ码,筛选候选集。• 结果排序:在CPU端利用SIMD加速的距离核,完成最终排序。• pipeline优化:GPU和CPU并行处理不同阶段,提升整体吞吐。

实验设计

采用SIFT-1B、DEEP-1B等公开大规模数据集,比较基线包括HNSW、DiskANN和Rummy。指标涵盖召回率、查询吞吐量和索引构建时间。通过调节probe数和候选数,验证不同配置的性能表现。多次实验显示,InSituANN在保持90%以上召回率时,索引构建时间缩短至5.2分钟,查询吞吐量提升数千倍,优于现有方法。还进行了消融实验,验证PQ候选缩减和GPU优化的贡献。

结果分析

在SIFT-1B数据集上,InSituANN索引构建时间仅为5.2分钟,比HNSW的30.4小时快约350倍。在查询性能方面,匹配召回率下,端到端吞吐量比PCIe瓶颈的Rummy提升104.9倍至4298.2倍,比DiskANN提升2.4倍至4.6倍。系统在保持高召回的同时,显著降低了存储成本,验证了其工业应用潜力。这些结果充分体现了异构架构在大规模向量检索中的优势。

应用场景

该系统适用于大规模推荐、语义搜索、知识增强的检索任务,尤其适合硬件资源有限的场景。企业可利用其低成本、高效率的特性,部署在云端或边缘设备,实现实时大规模向量匹配。未来可结合多模态数据和动态索引更新,拓展应用范围。

局限与展望

系统在动态数据更新和多模态融合方面仍需优化,当前主要面向静态数据集。硬件依赖性较强,GPU资源有限时性能下降。此外,索引构建和维护仍存在一定成本,未来需进一步提升自适应能力和扩展性。

通俗解读 非专业人士也能看懂

想象你在一个大型仓库里整理各种商品,每个商品都有一个标签(向量)。如果你想找到和某个标签最相似的商品,传统方法就像逐个比对,非常慢。现在,InSituANN就像先用一个快速的扫描仪(GPU)把仓库分成几个区域(簇),只在几个区域里找,避免了每次都要扫描整个仓库。然后,把每个区域的商品存放在仓库的不同角落(主机内存),在需要找东西时,只在这些角落里快速扫描,节省了大量时间和交通。这样一来,无论仓库有多大,也能快速找到想要的商品,而且花费很少。这种方法让大规模商品搜索变得既快又省钱,就像在超市里用智能导航找到心仪的商品一样简单。

简单解释 像给14岁少年讲一样

想象你在学校图书馆找一本书,书很多,光用眼睛看一遍很慢。以前的方法就像你一个一个翻书页,花费很长时间。现在,有个聪明的机器人帮你先用扫描仪快速划出几个可能的区域(簇),只在这些区域里找书。这个机器人还把每个区域的书都存放在不同的架子上(主机内存),你只需要在这些架子上快速翻找,就不用每次都跑到仓库的每个角落去找。这样一来,不管图书馆有多大,你都能很快找到想要的书,而且不需要花很多时间和力气。这就像用智能导航帮你在大图书馆里快速找到目标书一样,既省时间又省力。

原文摘要

Approximate nearest neighbor search (ANNS) over billion-scale vector datasets has become a foundational operator for modern retrieval systems, powering large-scale recommendation, semantic search, and LLM/RAG workloads. Although GPUs offer massive parallelism and high-bandwidth memory for batched vector search, their limited VRAM capacity makes fully GPU-resident billion-scale indexes difficult to deploy. In CPU-GPU heterogeneous designs, keeping the base vectors in host memory avoids this capacity limit, but naively offloading fine search to the GPU introduces a new bottleneck: large volumes of base-vector data must be streamed over PCIe. We present InSituANN, an IVF-based ANNS engine that enables billion-scale vector search on a single commodity GPU. InSituANN keeps original base vectors in host memory, performs fine search in situ, and uses the GPU for compact routing and optional pruning. As a result, query processing avoids PCIe transfers of high-dimensional base vectors while retaining the simplicity of IVF. Beyond query performance, we further design an ultra-fast IVF construction path for InSituANN. On SIFT-1B, InSituANN builds the IVF index in 5.2 minutes, about 350x faster than the measured 30.4-hour HNSW build. At matched recall on billion-scale datasets, InSituANN improves end-to-end throughput by 104.9x-4298.2x over the PCIe-bound Rummy baseline and by 2.4x-4.6x over DiskANN on SIFT-1B and DEEP-1B. Together with strong recall-throughput trade-offs and lower index space than graph-based alternatives, these gains make billion-scale retrieval practical on cost-efficient hardware. We open-source InSituANN at https://github.com/mindtravel/InSituANN-OpenSource.

cs.DB