AI LearningHub · 学习平台
回到课程列表
应用开发实战精选

向量检索内核解析:从 HNSW 到生产级检索

4 周 12 章 更新于 2026-09-14
HNSWIVFPQ向量数据库近似最近邻

内容时效核对:2026-09-16 · 模型与价格会频繁变动,具体型号 / 定价请以各家官方文档为准

开篇

开篇导读

本课程已完成 0/12 章(0%)

2026 年,向量检索是 RAG / 推荐系统 / 搜索的核心竞争力。

大多数工程师把向量检索当作"黑盒"——调个 API 就完事了。这门课要打开黑盒,让你真正理解向量检索的算法原理与工程优化。

为什么这门课

向量检索是 2026 年最被高估、也最被低估的技术:

  • 高估的部分:大多数工程师以为"调用 Qdrant / Pinecone 就是懂向量检索"——这只是会用,不是懂
  • 低估的部分:向量检索是 RAG 系统的性能瓶颈——90% 的 RAG 性能问题来自检索

这门课会:

  1. 讲算法原理:HNSW、IVF、PQ、ScaNN 怎么工作、为什么快
  2. 讲工程实现:主流向量数据库的内部架构
  3. 讲性能优化:怎么把百万级向量检索做到毫秒级
  4. 讲生产经验:真实业务中的踩坑与最佳实践

课程前置知识


📚 完整章节大纲(12 章)

模块一:基础(第 1-3 章)

第 1 章:向量空间与相似度

  • 向量、向量空间、余弦相似度、欧氏距离
  • 高维诅咒:维度越高,距离度量越失效
  • 维度归一化:为什么必须归一化
  • 实战:用 NumPy 实现 KNN 检索

心智模型:向量空间是"语义的地图"——相似的东西在地图上离得近。

第 2 章:KNN vs ANN——为什么需要近似

  • KNN(精确最近邻)的时间和空间复杂度
  • 100 万向量精确检索:> 1 秒
  • ANN(近似最近邻):100 万向量 < 10ms
  • 生产经验:什么时候用 KNN,什么时候用 ANN

练习:实现一个百万级向量 KNN,对比时间。

第 3 章:评估指标——怎么判断一个检索系统好坏

  • Recall@K、Precision@K、MRR、NDCG
  • Ground Truth 怎么构建
  • 生产经验:评估数据的偏差与应对

练习:构建第一个向量检索评估集。

模块二:核心算法(第 4-8 章)

第 4 章:KD-Tree——最简单的空间索引

  • KD-Tree 的构建与查询
  • 高维失效:维度 > 20 后性能崩塌
  • 变种:Ball Tree、VP-Tree
  • 生产经验:KD-Tree 在低维场景(< 20 维)才有用

第 5 章:LSH(局部敏感哈希)——哈希的算法

  • LSH 的核心思想:相似向量哈希到相同 bucket
  • SimHash / MinHash:两种经典 LSH
  • 生产经验:LSH 在文本去重、近邻推荐中的应用

练习:用 SimHash 实现一个简单的文档去重系统。

第 6 章:HNSW——主流的图索引

  • HNSW = Hierarchical Navigable Small World
  • 跳表思想:从粗到细的层次导航
  • NSW(小世界图):六度分隔理论的算法化
  • 完整算法:插入、查询、删除
  • 生产经验:HNSW 是 2026 年的事实标准

练习:用 200 行 Python 实现 HNSW。

第 7 章:IVF(倒排文件)——经典的量化索引

  • IVF 的核心:聚类 + 桶内搜索
  • K-Means 聚类作为索引构建
  • IVF-PQ:倒排 + 乘积量化
  • 生产经验:IVF 在大规模场景(> 1000 万)的优势

练习:用 faiss 实现 IVF-PQ 索引。

第 8 章:PQ(乘积量化)——压缩的艺术

  • PQ 的核心:把向量切成子向量,各自量化
  • Codebook 学习:K-Means 聚类
  • 距离计算:对称 / 非对称距离
  • 生产经验:PQ 把内存占用降低 32 倍,准确率损失 < 5%

练习:用 faiss 实现 PQ 压缩。

模块三:工程实现(第 9-11 章)

第 9 章:向量数据库架构

  • 主流向量数据库对比:Pinecone / Weaviate / Qdrant / Milvus / pgvector
  • 底层实现:HNSW vs IVF-PQ vs DiskANN
  • 架构图:存储、索引、查询三层
  • 生产经验:选型决策树

练习:用 Qdrant + 100 万向量做性能基准测试。

第 10 章:分布式向量检索

  • 单机瓶颈:1 亿向量,单机内存 > 100GB
  • 分片策略:按向量 ID / 按聚类中心
  • 副本策略:读写分离 + 多副本
  • 混合检索:向量 + 关键词(BM25)的分布式实现

练习:搭建一个 3 节点的向量检索集群。

第 11 章:性能优化

  • 量化:FP32 → INT8 → Binary(精度换速度)
  • GPU 加速:FAISS GPU 版 vs CPU 版(10 倍提速)
  • 内存优化:HNSW 内存占用分析
  • 查询优化:批量查询、预过滤

练习:把检索延迟从 50ms 优化到 5ms。

模块四:生产化(第 12 章)

第 12 章:总结:向量检索的工程地图

  • 12 章回顾:从 KNN 到分布式 HNSW
  • 算法选型决策树
  • 工程化清单:从 0 到 1 部署向量检索系统的 20 个步骤
  • 接下来学什么:RAG 系统设计与实现、AI Agent 架构师
  • 求职 / 创业:怎么用向量检索项目展示能力

✅ 检查清单

完成后回来勾选:

  • 能解释 HNSW、IVF、PQ 的核心原理
  • 能用 Python 实现一个简化版 HNSW
  • 能选择合适的向量数据库与索引算法
  • 能优化向量检索到毫秒级
  • 能搭建分布式向量检索系统
  • 能用量化把内存占用降低 32 倍

推荐资源

资源 类型 链接
faiss 官方文档 库 https://github.com/facebookresearch/faiss/wiki
HNSW 原论文 论文 https://arxiv.org/abs/1603.09320
Pinecone Learning Center 教程 https://www.pinecone.io/learn
Qdrant 文档 文档 https://qdrant.tech/documentation
Milvus 文档 文档 https://milvus.io/docs
DiskANN 论文 论文 https://arxiv.org/abs/2105.09613

下一步

理解向量检索内核后,你对 RAG 系统的"检索"环节有了深度理解。下一步:

本章笔记

支持纯文本,自动保存在本机浏览器(清除浏览器数据会丢失)。后续接入账号后可云同步。

返回课程列表

提示:使用键盘 ← / → 可快速切换章节

讨论

登录 后参与讨论。

加载中...

继续学习