【技术实现步骤摘要】
基于NPU的向量数据库检索处理加速方法及系统
[0001]本专利技术涉及信息检索
,具体涉及一种基于NPU的向量数据库检索处理加速方法及向量数据库检索处理系统。
技术介绍
[0002]向量检索算法通过向量数据之间的相似性比对来完成业务场景中对非结构化数据的使用需求,例如以图搜图、视频推荐、文本检索等。目前很多向量检索方案依托于CPU,如Faiss库中的大多数索引算法、图索引算法等。当数据量和性能要求更高的场景下,很多方案依托于GPU的并行计算能力对索引时间进行优化。如Faiss库中部分GPUIndex索引。但随着算法的多样性与复杂性,CPU和GPU的并行计算也已无法满足效率要求。其实常见向量检索技术还可通过神经网络处理器NPU进行加速, NPU中大量的矩阵运算单元、向量运算单元和异构计算架构也在理论上适合高效的向量检索算法。但目前NPU更多定制化地针对固定的涉及人工智能的算法,如何充分发挥NPU的矩阵运算和向量运算处理能力,使其能更广泛应用于不同的算法中,目前缺乏相关方案。
技术实现思路
[0003]本专利技术的目的在于提供一种基于NPU的向量数据库检索处理加速方法及向量数据库检索处理系统,充分发挥NPU的矩阵计算和向量处理的能力,加快计算处理速度。
[0004]为实现上述目的,本专利技术提供一种基于NPU的向量数据库检索处理加速方法,应用于向量数据库检索算法,包括以下步骤:针对所述向量数据库检索算法的每一个步骤,判断该步骤是否包括向量处理和\或矩阵计算;若是,则调用神经网络处理器NPU ...
【技术保护点】
【技术特征摘要】
1.一种基于NPU的向量数据库检索处理加速方法,应用于向量数据库检索算法,其特征在于,包括以下步骤:针对所述向量数据库检索算法的每一个步骤,判断该步骤是否包括向量处理和或矩阵计算;若是,则调用神经网络处理器NPU中的计算核心进行对该步骤的处理和或计算;若该步骤不包括向量处理和矩阵计算中的任一者,则调用神经网络处理器NPU自身的人工智能中央处理器进行对该步骤的处理和或计算。2.如权利要求1所述的基于NPU的向量数据库检索处理加速方法,其特征在于,所述向量数据库检索算法包括以下步骤:步骤S1:将向量数据库中的所有维数相同的原始向量组成原始向量矩阵,将向量数据库中的每一个原始向量平均划分成第一预设数量个数的第一子段向量,将所述向量数据库中所有所述第一子段向量组成第一子段向量集;步骤S2:针对所述第一子段向量集,进行K均值聚类算法聚类,以获得第二预设数量个数的聚类中心向量,并为每个所述聚类中心向量对应标记编码;步骤S3:根据每个所述第一子段向量与每个所述聚类中心向量的聚类对应关系,将对应的编码标记在每一个所述第一子段向量上,将所述编码与对应的所述第一子段向量替换,以使所述编码成为所述原始向量矩阵的新元素,以获得编码矩阵;步骤S4:获取查询向量,将所述查询向量也平均划分为第一预设数量个数的第二子段向量,计算每个所述第二子段向量到每一个所述聚类中心向量的距离,根据所述距离获得距离矩阵,其中,所述距离矩阵的行数等于所述第二预设数量,所述距离矩阵的列数等于所述第一预设数量,或者所述距离矩阵的行数等于所述第一预设数量,所述距离矩阵的列数等于所述第二预设数量;步骤S5:根据所述编码矩阵与所述距离矩阵的映射关系,查找出所述编码矩阵的每一个元素在所述距离矩阵中对应的距离;步骤S6:将每一个所述原始向量在所述步骤S5中查出的对应的距离进行累加,以获得每一个所述原始向量与所述查询向量的总距离;步骤S7:将向量数据库中的各所述原始向量与所述查询向量的总距离按从小到大排名,输出排名前若干位的所述原始向量数据。3.如权利要求2所述的基于NPU的向量数据库检索处理加速方法,其特征在于,针对所述步骤S1、所述步骤S2、所述步骤S4、所述步骤S6以及所述步骤S7中的至少一者,调用神经网络处理器NPU中的计算核心进行该步骤的处理。4.如权利要求2所述的基于NPU的向量数据库检索处理加速方法,其特征在于,针对所述步骤S3和或所述步骤S5,调用神经网络处理器NPU自身的人工智能中央处理器进行该步骤的处理。5.如权利要求2所述的基于NPU的向量数据库检索处理加速方法,其特征在于,通过以下子步骤计算所述第二子段向量到所述聚类中心向量的距离:子步骤S411:计算所述所述聚类中心向量的长度;子步骤S412:计算所述聚类中心向量与所述第二子段向量的内积,并乘以2;子步骤S413:将所述子步骤S411的...
【专利技术属性】
技术研发人员:李剑楠,苏鹏,阎虎青,黄炎,李恒,
申请(专利权)人:上海爱可生信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。