导读:
向量检索正步入"既要低成本,又要高性能"的新时代。阿里云向量检索服务 Milvus 版通过将 DiskANN 图索引与最前沿的 RaBitQ 量化算法深度融合,并在工程层面完成从量化内核到 I/O 调度链路的全栈优化,在 1 亿 768 维 标准评测数据集上,将磁盘向量索引 QPS 提升至开源 Milvus 的 20倍 以上 ,P99 延迟降低至 1/10 以下 ,QueryNode 内存占用减少 29% ,同时保持 98%+ 的召回率,为 RAG、多模态检索、智能推荐等 AI 场景提供了极致性价比的基础设施。
为什么需要磁盘向量索引?
1.1 百亿级数据下的成本困境
在大规模 AI 应用中,数据集通常包含数十亿甚至数百亿向量。传统内存索引(HNSW、IVF_FLAT)在数据量突破亿级时,内存成本呈线性增长,单节点难以承载。DiskANN 将图索引与向量数据存放在 SSD 上,内存仅需保留轻量压缩向量与热点缓存,从而将内存成本降低一个数量级。
1.2 开源 DiskANN 的性能瓶颈
开源 Milvus 中原生 DiskANN 使用 Product Quantization(PQ)作为内存中的距离估算方案,在系统架构和搜索性能方面存在三重瓶颈:
| 瓶颈维度 | 问题 |
|---|---|
| 计算效率 | PQ 依赖查表累加,CPU计算效率不高 |
| I/O 调度 | 系统调用开销大,并发吞吐受限 |
| 搜索策略 | 大量候选节点被无效计算,CPU压力大 |
阿里云 Milvus 团队基于此,对 DiskANN 进行了从算法到工程的全栈优化。
核心技术:DiskANN + RaBitQ 深度融合
2.1 Vamana 图:图索引内存重排布
DiskANN 的核心是 Vamana 图索引。与 HNSW 的多层结构不同,Vamana 采用单层稀疏图,通过两轮剪枝构图策略,在保持图连通性的同时引入更多"长边",显著减少搜索收敛所需的跳数。开源 DiskANN 将每个节点的邻居列表与其全精度向量数据存放在同一磁盘扇区。搜索时通过一次磁盘读取同时获得邻居关系和原始向量,实现"隐式重排",虽然可以在计算下一轮邻居的同时完成精确距离计算,但是在搜索过程中涉及到大量的串行磁盘 IO。 阿里云 Milvus 通过将 Vamana 图索引在内存中重新组织,实现搜索过程 Zero IO, 只在最后 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 RaBitQ 基础上,采用了 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 | 高 | AVX-512 VNNI,极快 |
性能测评
3.1 测试环境
| 项目 | 配置 |
|---|---|
| Benchmark | Zilliz VectorDBBench |
| 数据集 | Performance768D100M(1 亿 768 维向量) |
| QueryNode | 16 CU × 2 节点 |
| 对比组 | 阿里云 DiskANN + RaBitQ 开源 DiskANN + PQ |
3.2 测试结果



结论
在不同的测试场景在阿里云 Milvus 方案均实现 20 倍以上 QPS 提升,在 P99/P95延迟也大幅降低,召回率略降低不到 1%。索引构建时间从 20h 缩短到 6h 小时左右,阿里云 Milvus 相比于开源 DiskANN 实现完成端到端性能极致提升。
参考文献:
-
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.