阿里云Milvus磁盘索引评测:亿级向量检索性能飙升20倍

2026-06-11阅读 0热度 0
性能提升

摘要

向量检索领域正在经历一个很有意思的转型——从过去单纯追求“快”,转向了“既要成本低,又要性能高”的双重目标。阿里云的向量数据库 Milvus 版,正是这个趋势下的一个典型代表。它把 DiskANN 图索引和目前最前沿的 RaBitQ 量化算法做了深度融合,又从底层的量化内核到上层的 I/O 调度链路都进行了全栈式的工程优化。最终的成绩单相当亮眼:在 1 亿条 768 维向量的标准评测集上,磁盘向量索引的 QPS 飙升到了开源 Milvus 的 20 倍以上,P99 延迟降到了原来的十分之一不到,QueryNode 的内存占用还减少了 29%。最关键的是,这些性能飞跃是在保持 98% 召回率的基础上实现的。对于 RAG、多模态检索、智能推荐这类 AI 场景来说,这无疑提供了一种性价比极高的基础设施选择。

一、为什么需要磁盘向量索引?

1.1 百亿级数据下的成本困境

在实际的大规模 AI 应用中,数据集动辄就是数十亿、甚至上百亿的向量。传统的内存索引,比如 HNSW 或者 IVF_FLAT,一旦数据量突破亿级,内存成本就开始线性飙升,单台服务器根本扛不住。DiskANN 的思路就很巧妙了——它把图索引和向量数据都放在 SSD 上,内存里只保留经过轻量压缩的向量和热点缓存。这一下,内存成本就能降低一个数量级。

1.2 开源 DiskANN 的性能瓶颈

不过,开源的 DiskANN 也不是完美的。它在架构和性能上主要卡在三个地方:首先,它用 Product Quantization(PQ)来做内存里的距离估算,这种查表累加的方式CPU计算效率不高;其次,它的I/O调度系统调用开销很大,限制了并发吞吐;最后,它的搜索策略会产生大量无效计算的候选节点,给CPU带来很大压力。这些瓶颈,就是阿里云 Milvus 团队决定对它进行全栈优化、从算法到工程层面彻底改造的出发点。

二、核心技术:DiskANN 与 RaBitQ 的深度融合

2.1 Vamana 图:图索引内存重排布

DiskANN 的核心是 Vamana 图索引。和 HNSW 的多层结构不同,Vamana 用的是单层稀疏图,通过两轮剪枝构图,既能保证图的连通性,又能引入更多“长边”,让搜索收敛所需的跳数大大减少。但开源版本有个问题,它把每个节点的邻居列表和全精度向量数据放在同一个磁盘扇区里。虽然这样做可以实现“隐式重排”,一次磁盘读取能拿到两样东西,但代价是搜索过程会产生大量串行的磁盘 I/O。阿里云 Milvus 的改进在于,它把 Vamana 图索引在内存里重新组织了一遍,这样搜索过程就变成了“Zero I/O”,只在最后的 Rerank 阶段才去磁盘上拿原始全精度向量。这个改动对性能的提升是质变的。

2.2 RaBitQ:极致量化,从 1 bit 到 4 bit 的精准压缩

接下来要聊的是 RaBitQ(Random Bit Quantization),这是目前最前沿的向量量化算法。它的核心思想很有意思:在高维空间里,先把向量归一化,然后映射到超立方体的顶点上,这样一来,每一维只需要 1 个 bit 就能表示。你可能会问,为什么在高维下,RaBitQ 的精度反而更高?这其实源于高维概率的“集中效应”:当维度 d 足够大时,随机向量之间的角度会高度集中,量化到超立方体顶点的误差会以 O(1/√d) 的速率收敛。也就是说,在一个 768 维的空间里,1-bit 量化的误差已经非常小了。阿里云 Milvus 在标准 1-bit 的基础上,扩展出了 4-bit 模式,用 4 个 bit 来编码残差信息,这样就在压缩比和精度之间找到了一个最佳平衡点。

量化方案

压缩倍率

单条 768 维向量内存

精度

计算速度

Float32

1x

3072 Byte

精确

基准

PQ (M=384)

8x

384 Byte

中等

查表累加,较慢

RaBitQ 1-bit

32x

96 Byte

较高

popcount,极快

RaBitQ 4-bit

8x

384 Byte

A VX-512 VNNI,极快

三、性能测评

3.1 测试环境

项目

配置

Benchmark

Zilliz VectorDBBench

数据集

Performance768D100M(1 亿 768 维向量)

QueryNode

16 CU × 2 节点

对比组

阿里云 DiskANN + RaBitQ
开源 DiskANN + PQ

3.2 测试结果

四、结论

从测试结果来看,无论是哪个场景,阿里云 Milvus 方案都实现了 QPS 提升 20 倍以上的效果,P99/P95 延迟也大幅降低,而召回率仅仅下降了不到 1%。另一个值得一提的优化是索引构建时间,从开源的 20 小时缩短到了约 6 小时。可以说,相比开源 DiskANN,阿里云 Milvus 这次在端到端的性能上,实现了真正极致的提升。

参考文献

Subramanya, S.J., et al. "DiskANN: Fast Accurate Billion-point Nearest Neighbor Search on a Single Node." NeurIPS 2019.
Gao, J., Long, C. "RaBitQ: Quantizing High-Dimensional Vectors with a Theoretical Error Bound for Approximate Nearest Neighbor Search." SIGMOD 2024.
Aguerrebere, C., et al. "Locally-adaptive Quantization for Streaming Vector Search." arXiv 2024.
Gao, J. "Quantization in The Counterintuitive High-Dimensional Space." dev.to, 2024.
免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策