引言:向量搜索的崛起与核心挑战

随着大语言模型和多模态AI的爆发,向量嵌入(Embedding)已成为现代AI应用的基石。从语义搜索、推荐系统到RAG(检索增强生成),几乎所有AI系统的核心环节都依赖于大规模向量搜索引擎的高效运转。本文将从算法原理、工程实现和架构设计三个维度,深入解析当前最主流的向量搜索技术。

1. 近似最近邻搜索(ANN)的算法谱系

向量搜索本质上是在高维空间中寻找与查询向量距离最近的k个点。精确解法(暴力扫描)的复杂度为O(N·d),无法应对十亿级向量规模。近似最近邻(ANN)算法通过牺牲少量精度换取数量级的性能提升,成为工业界的标准方案。

1.1 基于图的索引:HNSW(Hierarchical Navigable Small World)

HNSW是目前综合性能最优的ANN索引之一。其核心思想是构建一个多层跳表式的近邻图:

  • 多层结构:第0层包含所有节点,上层按指数衰减概率采样节点,形成快速公路
  • 贪婪路由:从最高层开始,每层贪婪移动到更接近目标的邻居,逐层下沉
  • 搜索复杂度:O(log N),实际搜索仅需数百次距离计算即可在十亿级数据集中定位目标
  • 构建复杂度:O(N log N),支持增量插入但重建成本较高

关键参数包括M(每节点的最大边数)、ef_construction(构建时的候选集大小)和ef_search(搜索时的候选集大小),需要在recall、速度和内存之间权衡。

1.2 基于量化的方法:PQ(Product Quantization)

乘积量化通过向量分解实现高维向量的有损压缩,将存储和计算成本降低一个数量级:

  • 将d维向量切分为m个子空间,每个子空间用k-means聚类(通常k=256)
  • 每个子向量用聚类中心ID编码,原始d×4字节压缩为m字节
  • li>ADC(非对称距离计算):维护查询向量的距离查找表,查表求和代替浮点运算
  • 典型压缩比:FP32 → 1/16到1/32,配合IVF-PQ可实现十亿级索引

1.3 ScaNN:各向异性量化的新范式

Google提出的ScaNN(Scalable Nearest Neighbors)引入各向异性量化,核心洞察是向量在不同方向上的搜索敏感度不同:

  • 沿方差大的方向使用更多比特编码,方差小的方向用更少比特
  • 通过优化漂移边界(drift boundary)保证各向异性距离的误差上界
  • 在ann-benchmarks测试中,同等内存预算下recall@1比PQ提升5-10%

2. 主流向量搜索引擎架构对比

当前业界三大开源方案各有侧重,代表了三条不同的工程路线:

引擎核心索引适用场景分布式
FaissIVF/PQ/HNSW/SCNN研究/单机高性能有限(CPU集群)
MilvusHNSW/DiskANN/IVF-PQ企业级生产环境原生分布式
QdrantHNSW+自定义优化Rust生态/嵌入式Raft共识

2.1 Milvus的全链路设计

Milvus 2.x采用存算分离架构,核心模块包括:

  • Proxy:接入层,负责请求鉴权、DML/DQL转写和结果合并
  • Coordinator:元数据管理,包括数据分配、时间戳同步和GC策略
  • DataNode:流数据写入,维护WAL并定期flush为sealed segment
  • QueryNode:segment加载与查询执行,支持多副本与BulkLoad
  • Object Storage:S3/MinIO持久化存储segment数据和索引文件

查询路径:Proxy收到请求→路由到所有QueryNode→各Node在本地的segment上执行ANN搜索→Proxy归并top-k结果→返回。

2.2 DiskANN:突破内存限制的工程创新

Microsoft Research提出的DiskANN解决了十亿级向量无法全部驻留内存的难题:

  • 在SSD上构建压缩的Vamana图索引,保持10亿向量仅需~30GB SSD空间
  • 利用SSD的随机读取能力,配合缓存热点的beam search策略
  • 在64GB RAM + NVMe SSD上实现10亿级向量P95延迟<5ms>

3. 查询图引擎(VII)在生产中的关键挑战

部署向量搜索引擎面临的核心工程难题:

  • 混合搜索:向量+标量过滤的组合查询。标量过滤比例高时,先过滤后搜索的ROI远大于先搜索后过滤
  • 增量更新:HNSW不支持高效删除(需lazy deletion标记),定期重建索引是常见做法
  • 冷启动:新数据聚类中心偏移时IVF-PQ退化严重,需要Adaptive Reassignment策略
  • 多租户隔离:通过Partition Key实现逻辑隔离,配合资源配额防止Noisy Neighbor

4. 前沿趋势

  • 稀疏向量 + BM25融合:Splade等稀疏编码器与传统倒排索引互补,解决专有名词和精确术语匹配问题
  • GPU加速索引:RAPIDS cuVS将HNSW和IVF-PQ计算offload到GPU,查询吞吐提升5-10x
  • 学习型索引:基于位置敏感哈希(LSH)数据分布动态调整桶大小,逐步替代静态ANN参数
  • RAG驱动架构演进:向量数据库与LLM编排框架深度集成,检索+重排+生成端到端优化

结语

向量搜索引擎已从学术研究走向大规模工业部署,其技术演进反映了AI基础设施的核心趋势:算法与系统的协同设计。对于掌握向量数据库的原理和调优,是构建高质量AI应用不可或缺的关键能力。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部