CS-Notes 学习笔记
大模型应用开发 · 检索增强生成

HNSW 的原理是什么?

先自己想一想,再看参考要点

参考要点

  • 把向量组织成多层图,每个向量连接附近的若干向量,层越高向量越少、连线跨度越大,最下层包含全部向量
  • 查询从最上层的入口开始,上面各层只保留一个最近节点,贪心地走向查询,走不动就下降一层,最下层保留 efSearch 个候选扩展邻居,从中取前 K 个,思路类似跳跃表
  • 上层的长连线让查询几步就到目标附近,12.4 万个向量上每次只算约 1300 次距离(暴力检索的 1.1%)
  • 过滤掉大部分向量、大量删除和内存放不下时会变差
  • M、efConstruction、efSearch 在速度、内存和召回率之间权衡
在学习站中自测这道题看这道题所在的一天

学习站:先用面试题自评定级,按水平和面试日期排出每天的计划,自评过的题按间隔复习。免费、无需注册,记录只保存在自己的浏览器中。