暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

基于缓存优化HNSW算法的向量数据查询方法的专利解读

原创 爱可生 2024-07-25
385

背景信息

现有技术的近似最近邻搜索算法大多是基于内存的算法,基于内存的算法意味着是在进行查询操作前需要将存储区中所有的向量数据载入进内存。随着向量数据的爆炸性增长,需要向量数据库处理的向量数据量从百万级别上升到了亿级别,在这种情况下,将存储区中所有的向量数据载入进内存变得不现实,将现有技术的基于内存的搜索算法应用于硬盘上的向量数据会带来巨大的性能损耗,对硬盘I/O带来了巨大压力。

本发明的目的在于提供一种基于缓存优化HNSW算法的向量数据查询方法,可以减少在硬盘中进行查询向量的查询计算的步骤,从而,可以减少硬盘I/O压力和性能损耗。


技术方案

将所有待查询向量形成HNSW索引图;

输入第一查询向量,从索引图的最高层开始查询与所述第一查询向量距离最近的待查询向量,以作为下一层的入口,直到查找出所述索引图的最底层入口;

将所述第一查询向量和对应的最底层入口存储在缓存区中;

输入第二查询向量,在所述缓存区中查询是否存在与所述第二查询向量相同的查询向量;

如果所述缓存区中存在与所述第二查询向量相同的查询向量,则直接查找该查询向量对应的最底层入口,作为所述第二查询向量对应的最底层入口;

如果所述缓存区中不存在与所述第二查询向量相同的查询向量,则在存储区中,从索引图的最高层开始向下查询与所述第二查询向量距离最近的待查询向量,以作为每层的入口,直到查找出所述索引图的最底层入口,同时,将所述第二查询向量和对应的最底层入口存储在所述缓存区中或者使用所述第二查询向量和对应的最底层入口替换所述缓存区中的某一查询向量和对应的最底层入口;

在存储区中,进行以所述最底层入口作为起点,查询与所述第二查询向量距离最小的k个待查询向量的操作,k为大于1的整数。

可选的,在所述的基于缓存优化HNSW算法的向量数据查询方法中,所述缓存区中存储的查询向量的数量小于设定值时,将所述第二查询向量和对应的最底层入口存储在所述缓存区中。

可选的,在所述的基于缓存优化HNSW算法的向量数据查询方法中,所述缓存区中存储的查询向量的数量大于或等于设定值时,使用所述第二查询向量和对应的最底层入口替换所述缓存区中的未被访问时间最长的查询向量和对应的最底层入口。


#TensorDB

最后修改时间:2024-07-25 14:49:26
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论