大家好,欢迎来到IT知识分享网。
HNSW:Hierarchical Navigating Small World
回忆Qdrant跟HNSW有关的参数:m,ef_construct,hnsw_ef阅读以下内容:
1.HNSW采用近似Redis跳表的思想
在高层跳过大量离目标点较远的点,从而快速定位到离目标较近的点,从而缩小搜索范围。
在构图时采用启发式搜索选择连接邻居节点,从而防止出现不连通图的情况。搜索过程中维护动态list,从而减少遗漏的情况。
2.基于图的向量检索算法在向量检索的评测性能比较优秀
如果注重检索算法性能,并容忍一定的空间成本,多数场景下推荐基于图的检索算法。
HNSW是一种典型的应用广泛的图算法,很多分布式检索引擎都对HNSW算法进行了分布式改造,以应用于高并发大数据量的线上查询。例如Qdrant,Milvus
3.HNSW的缺点
除了保存数据之外,还需要一定的内存维护图的关系,而且每个节点分配固定的内存,其中有些没有使用而造成一定的浪费。
4.HNSW限定了每层图上结点的最大度数m跟性能正相关。
一般m的合理范围在[2,200]。
m越高,对具有高维特征(信息密度较低,数据点之间距离较远,可能存在大量无关信息)的数据集来讲,性能越好;
m越低,对具有低维特征(信息密度较高,数据点之间距离较近,有助于发现数据之间的关系)的数据集来讲,性能越好。
5.建索引时可以指定efConstruction
efConstruction越大,构造时间越长,index 质量越好。
检索时可以用ef来指定搜索范围,ef值越大,搜索范围越大,搜索时间也越长,一般和efConstruction值搭配调节。
注意:efConstruction增加的过快并不能提升index quality。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/172905.html