[发明专利]搜索方法、可读存储介质和电子设备在审
| 申请号: | 201910525241.0 | 申请日: | 2019-06-18 |
| 公开(公告)号: | CN112100446A | 公开(公告)日: | 2020-12-18 |
| 发明(设计)人: | 谢超;易小萌 | 申请(专利权)人: | 上海赜睿信息科技有限公司 |
| 主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
| 代理公司: | 北京睿派知识产权代理事务所(普通合伙) 11597 | 代理人: | 刘锋 |
| 地址: | 200030 上海市*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 搜索 方法 可读 存储 介质 电子设备 | ||
本发明实施例公开了一种搜索方法、可读存储介质和电子设备,本发明实施例使用图形处理器对基于图的向量搜索方法进行加速,并通过对向量集合进行划分、并行搜索和流水执行等技术解决了图形处理器在主存容量、数据传输效率等多方面对向量搜索的限制,有效的提升了搜索效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种搜索方法、可读存储介质和电子设备。
背景技术
在人工智能和机器学习应用中通常使用向量来表示数据的特征。其中,向量是由固定维度的若干数据构成的特殊数据类型。例如,在内容推荐应用中,用户的兴趣特征是通常是由一个多维向量表示。于此同时被推荐的内容特征通常也是由一个具有相同维度的向量进行表示的。为了准确的向用户推荐其感兴趣的内容,需要在所有内容的特征向量中寻找与用户兴趣最为相似的向量,该向量所对应的内容则被认为是最有可能引起用户兴趣的内容。与上述过程对应的,在一个给定的向量集合中查找与特定向量最为相似的若干个向量的问题,被称为向量搜索问题。随着现代应用数据的飞速增长,向量搜索的集合范围也变得越来越大,传统的向量搜索方案将逐渐难以满足应用的需求。
现有的向量搜索方案主要分为两类,一类是基于数据划分的方法,另一类是基于图的方法。其中基于图的向量搜索方法均为基于中央处理器(CPU)的方法,由于中央处理器计算能力的限制,无法高效的解决大规模的向量搜索问题。
发明内容
有鉴于此,本发明实施例提供一种搜索方法、可读存储介质和电子设备,旨在使用图形处理器对基于图的向量搜索方法进行加速。
第一方面,本发明实施例提供一种搜索方法,包括:
将向量集合划分为至少两个向量子集,并确定每个向量子集对应的搜索图,所述搜索图的节点用于表征对应的向量子集的向量;
确定至少一个搜索请求的搜索向量;
将所述搜索图传输至图形处理器;
对于各搜索请求,并行地在不同搜索图内确定与所述搜索向量匹配的目标节点;
根据确定的目标节点输出查询结果。
进一步地,所述将向量集合划分为至少两个向量子集,并确定每个向量子集对应的搜索图包括:
确定配置信息和向量集合中的元素数,所述配置信息包括所述图形处理器的全局内存容量、向量的维度、数据类型和搜索过程中所产生的临时数据量的大小;
根据所述配置信息确定每个向量子集中能容纳的元素数,并根据所述向量集合中的元素数和每个向量子集中能容纳的元素数确定所述向量子集的数目;
根据所述向量子集的数目创建向量子集,将所述向量集合中的元素分配至每个向量子集;
确定并储存每个向量子集对应的搜索图。
进一步地,所述确定至少一个搜索请求的搜索向量包括:
确定图形处理器的最大搜索数量;
创建缓存区,所述缓存区的容量根据所述最大搜索数量确定;
将搜索请求存储至所述缓存区;
响应于所述缓存区内的内存用尽,获取所述缓存区内的搜索请求的搜索向量。
进一步地,所述对于各搜索请求,并行地在不同搜索图内确定与所述搜索向量匹配的目标节点包括:
为每一个搜索请求分配与所述搜索图数量相同的线程组数量;
控制每个线程组并行地在不同搜索图内确定与所述搜索向量匹配的目标节点。
进一步地,所述控制每个线程组并行地在不同搜索图内确定与所述搜索向量匹配的目标节点包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海赜睿信息科技有限公司,未经上海赜睿信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910525241.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种柔光陶瓷纳米涂料的制备方法
- 下一篇:一种纳米复合陶瓷涂料的制备方法





