这篇文档属于类型a,即报告了一项原创性研究的科学论文。以下是针对该研究的学术报告:
FusionANNS:基于CPU/GPU协同过滤与重排序的十亿级向量高通量低延迟搜索系统
一、作者与发表信息
本研究由Bing Tian(华中科技大学)、Haikun Liu(华中科技大学,通讯作者)、Yuhang Tang(华中科技大学)、Shihai Xiao(华为技术有限公司)、Zhuohui Duan(华中科技大学)、Xiaofei Liao(华中科技大学)、Hai Jin(华中科技大学)、Xuecang Zhang(华为)、Junhua Zhu(华为)、Yu Zhang(华中科技大学)合作完成,发表于第23届USENIX文件与存储技术会议(FAST’25)(2025年2月)。
二、学术背景
研究领域:高维近似最近邻搜索(Approximate Nearest Neighbor Search, ANNS)是数据库与人工智能基础设施的核心组件,广泛应用于图像检索、推荐系统和大语言模型(LLM)的知识增强(Retrieval Augmented Generation, RAG)。
研究动机:当前ANNS系统面临性能、成本与精度的三重挑战:
1. 内存瓶颈:十亿级向量索引需TB级内存(如Rummy需全内存加载);
2. 计算瓶颈:距离计算复杂度随数据规模激增;
3. I/O瓶颈:SSD-based方案(如SPANN)吞吐量受限于I/O争用(仅支持4线程峰值)。
研究目标:提出FusionANNS系统,通过CPU/GPU协同架构,在单块入门级GPU和SSD上实现高通量(QPS)、低延迟、高精度、低成本的十亿级向量搜索。
三、研究流程与方法
1. 多层级索引设计(Multi-tiered Indexing)
- 数据分阶段存储:
- CPU内存:仅存储导航图(centroids)和向量ID元数据(占原始数据1/8体积);
- GPU显存:存放经乘积量化(Product Quantization, PQ)压缩的向量(128维→1字节/子空间);
- SSD:存储原始向量(无冗余索引)。
- 创新点:通过分离向量ID与内容,避免CPU-GPU间大量数据传输,突破PCIe带宽限制。
2. CPU/GPU协同过滤(Collaborative Filtering)
- 工作流程:
- CPU:遍历导航图定位Top-M最近邻列表,仅提取向量ID(无内容传输);
- GPU:通过并行哈希去重,计算PQ距离(每个子空间分配独立线程);
- CPU:根据GPU返回的Top-N候选ID,从SSD读取原始向量进行重排序(Re-ranking)。
- 关键技术:
- 轻量传输:仅传递ID(单向量ID占4字节,而原始向量占128~384字节);
- 显存优化:PQ压缩后十亿向量可全部驻留GPU显存(如32GB显存支持1B向量)。
3. 启发式重排序(Heuristic Re-ranking)
- 动态终止机制:将重排序分为多个微批次(Mini-batch),每批次完成后评估结果稳定性(通过变化率Δ= |Sₙ−Sₙ∩Sₙ₋₁|/k)。若连续β次Δ<阈值ε(实验设定ε=0.1, β=1),则提前终止。
- 效果:减少30%不必要的I/O和计算,同时保证召回率(Recall@10≥90%)。
4. 冗余感知I/O去重(Redundancy-aware I/O Deduplication)
- 数据布局优化:将相似向量紧凑存储于同一SSD页(4KB),提升空间局部性;
- 去重策略:
- 批内合并:同页请求合并为单次I/O;
- 批间缓存:利用DRAM缓存避免重复读取。
- 效果:I/O次数减少23%,吞吐量提升17%。
四、主要实验结果
1. 性能对比
- 数据集:SIFT1B(128维)、SpaceV1B(100维)、Deep1B(96维);
- 基线系统:SPANN(SSD-based)、Rummy(GPU内存方案)、DiskANN(图索引)。
- 结果:
- 吞吐量:FusionANNS的QPS达SPANN的9.4–13.1倍、Rummy的2–4.9倍;
- 延迟:与SPANN相当(<10ms),低于DiskANN(50ms+);
- 成本效率:QPS/$为SPANN的5.7–8.8倍,显存利用率提升32.4倍(Deep1B)。
2. 关键技术贡献验证
- 多层级索引:减少CPU-GPU数据传输量达70%(图4d);
- 启发式重排序:在Recall@10=90%时,重排序向量数减少7.2倍(图5b);
- I/O去重:单查询I/O次数从12–48次降至1–2次(图12c)。
五、结论与价值
科学价值:
1. 首次实现CPU/GPU/SSD三级存储的高效协同,解决ANNS的I/O、计算、内存瓶颈;
2. 提出动态重排序终止理论,为近似搜索的精度-效率权衡提供新方法。
应用价值:
- 大模型推理:可集成至RAG框架,降低50%的LLM查询延迟(据文献[18]);
- 低成本部署:仅需单块入门级GPU(如V100)即可支持十亿级向量库。
六、研究亮点
- 创新架构:通过多层级索引实现异构计算资源解耦,突破传统ANNS设计范式;
- 算法-硬件协同:结合PQ压缩、GPU并行计算与SSD优化存储布局,全栈优化;
- 可扩展性:实验显示64线程下QPS仍线性增长(SPANN仅支持4线程)。
七、其他价值
- 开源实现:22K行C++/CUDA代码,支持通用服务器部署;
- 工业合作:华为团队参与,技术已应用于其向量数据库产品。
此研究为十亿级向量搜索提供了高性能、低成本的实用解决方案,尤其适合需要实时响应的AI应用场景。