本技术实施例涉及计算机领域,具体而言,涉及一种输入特征的向量查找方法、装置和模型运算设备。
背景技术:
1、目前,尽管模型具体的设计各不相同,但大多数都是基于输入特征与向量查找构建的,现有技术中,模型基于输入特征从存储了全量特征维度的全量嵌入向量中查找对应的嵌入向量,由于进行查找操作的处理设备的内存空间有限,在每次查找都需要获取全量特征维度的全量嵌入向量就出现了由于嵌入查找导致的内存瓶颈,无法服务于大型模型。
2、针对相关技术中,查找输入特征的向量的效率较低等问题,尚未提出有效的解决方案。
技术实现思路
1、本技术实施例提供了一种输入特征的向量查找方法、装置和模型运算设备,以至少解决相关技术中查找输入特征的向量的效率较低的问题。
2、根据本技术的一个实施例,提供了一种输入特征的向量查找方法,包括:
3、获取目标特征维度,其中,所述目标特征维度是待转换为嵌入向量的目标输入特征所包括的特征维度,所述目标输入特征是输入至模型进行运算的特征;
4、从第一存储空间中查找所述目标特征维度对应的嵌入向量,其中,所述第一存储空间用于存储与参考嵌入向量相关的第一嵌入向量,所述参考嵌入向量是上一次从第二存储空间中查找到的参考特征维度对应的嵌入向量,所述第二存储空间用于存储全量特征维度的全量嵌入向量;
5、在从所述第一存储空间中未查找到所述目标特征维度对应的嵌入向量的情况下,从所述第二存储空间中查找所述目标特征维度对应的嵌入向量得到目标嵌入向量,并从所述第二存储空间中查找与所述目标嵌入向量相关的嵌入向量得到第二嵌入向量;
6、将所述第二嵌入向量存储至所述第一存储空间,其中,所述目标嵌入向量用于将所述目标特征维度转换为嵌入向量。
7、在一个示例性实施例中,所述从所述第二存储空间中查找所述目标特征维度对应的嵌入向量得到目标嵌入向量,并从所述第二存储空间中查找与所述目标嵌入向量相关的嵌入向量得到第二嵌入向量,包括:从所述第二存储空间中记录的具有对应关系的特征维度和存储位置中查找所述目标特征维度所对应的目标存储位置,其中,在所述第二存储空间中按照存储位置存储具有相关性的嵌入向量;根据所述目标存储位置查找所述目标嵌入向量和所述第二嵌入向量。
8、在一个示例性实施例中,所述根据所述目标存储位置查找所述目标嵌入向量和所述第二嵌入向量,包括:从具有对应关系的特征维度和存储位置中获取距离所述目标存储位置在第一范围内的相关存储位置,其中,具有对应关系的特征维度和存储位置是按照特征维度之间的相关性顺序存储的;提取位于所述目标存储位置的嵌入向量作为所述目标嵌入向量,提取位于所述相关存储位置的嵌入向量作为所述第二嵌入向量。
9、在一个示例性实施例中,所述根据所述目标存储位置查找所述目标嵌入向量和所述第二嵌入向量,包括:提取位于所述目标存储位置的嵌入向量作为所述目标嵌入向量;提取距离所述目标嵌入向量在第二范围内的嵌入向量作为所述第二嵌入向量,其中,在所述第二存储空间中是按照特征维度之间的相关性顺序存储嵌入向量的。
10、在一个示例性实施例中,所述从所述第二存储空间中查找所述目标特征维度对应的嵌入向量得到目标嵌入向量,并从所述第二存储空间中查找与所述目标嵌入向量相关的嵌入向量得到第二嵌入向量,包括:从所述第二存储空间所存储的一个或者多个存储页中确定所述目标特征维度对应的嵌入向量所在的目标存储页,其中,在所述第二存储空间中是按照特征维度之间的相关性顺序存储嵌入向量形成所述一个或者多个存储页的;将所述目标存储页中除所述目标嵌入向量之外的嵌入向量确定为所述第二嵌入向量。
11、在一个示例性实施例中,所述将所述第二嵌入向量存储至所述第一存储空间,包括:将所述目标存储页从所述第二存储空间所在的目标外接存储设备拷贝至所述第一存储空间。
12、在一个示例性实施例中,所述从所述第二存储空间中查找所述目标特征维度对应的嵌入向量得到目标嵌入向量,并从所述第二存储空间中查找与所述目标嵌入向量相关的嵌入向量得到第二嵌入向量,包括:从所述第二存储空间所存储的嵌入表中查找所述目标特征维度对应的嵌入向量作为所述目标嵌入向量,其中,在所述第二存储空间中是按照特征维度之间的相关性顺序存储嵌入向量形成所述嵌入表;将所述嵌入表中位于所述目标嵌入向量第三范围内的嵌入向量确定为所述第二嵌入向量。
13、在一个示例性实施例中,所述将所述嵌入表中位于所述目标嵌入向量第三范围内的嵌入向量确定为所述第二嵌入向量,包括:从所述嵌入表所划分出的一个或者多个子嵌入表中查找所述目标嵌入向量所在的目标子嵌入表,其中,一个或者多个子嵌入表是按照特征类别对所述嵌入表进行划分得到的,每个所述子嵌入表是按照属于同一特征类别的特征维度之间的相关性顺序存储嵌入向量形成的;将所述目标子嵌入表中位于所述目标嵌入向量所述第三范围内的嵌入向量确定为所述第二嵌入向量。
14、在一个示例性实施例中,所述将所述第二嵌入向量存储至所述第一存储空间,包括:将所述目标嵌入向量和所述第二嵌入向量从所述第二存储空间所在的目标外接存储设备加载至所述第一存储空间。
15、在一个示例性实施例中,所述从所述第二存储空间中查找所述目标特征维度对应的嵌入向量得到目标嵌入向量,并从所述第二存储空间中查找与所述目标嵌入向量相关的嵌入向量得到第二嵌入向量,包括:向目标外接存储设备发起向量查询请求,其中,所述向量查询请求用于请求查询所述目标特征维度对应的嵌入向量以及与所述目标特征维度对应的嵌入向量相关的嵌入向量,所述第二存储空间是所述目标外接存储设备上的存储空间;接收所述目标外接存储设备响应所述向量查询请求返回的所述目标嵌入向量和所述第二嵌入向量。
16、在一个示例性实施例中,所述向目标外接存储设备发起向量查询请求,包括:向所述目标外接存储设备发起符合计算快速连接协议的所述向量查询请求,其中,所述目标外接存储设备是计算快速连接协议类型三设备,所述第一存储空间是部署了所述模型的设备的内存空间,所述第二存储空间是所述计算快速连接协议类型三设备的存储空间,所述第二存储空间允许作为所述部署了所述模型的设备的扩展内存使用。
17、在一个示例性实施例中,在所述向所述目标外接存储设备发起符合计算快速连接协议的所述向量查询请求之前,所述方法还包括:将所述第一存储空间和所述第二存储空间上报为部署了所述模型的设备的内存;对所述第一存储空间和所述第二存储空间按照统一地址进行地址编码。
18、在一个示例性实施例中,所述将所述第二嵌入向量存储至所述第一存储空间,包括以下之一:在所述第一存储空间中已存储了第三嵌入向量的情况下,将所述第二嵌入向量与所述第三嵌入向量进行合并;在所述第一存储空间中已存储了第三嵌入向量的情况下,将所述第三嵌入向量删除;将所述第二嵌入向量存储至所述第一存储空间;在所述第一存储空间中未存储嵌入向量的情况下,将所述第二嵌入向量存储至所述第一存储空间。
19、在一个示例性实施例中,所述将所述第二嵌入向量与所述第三嵌入向量进行合并,包括以下之一:将所述第二嵌入向量存储至所述第一存储空间,得到第四嵌入向量;对所述第四嵌入向量进行去重;提取所述第二嵌入向量与所述第三嵌入向量的并集,得到第五嵌入向量;将所述第三嵌入向量从所述第一存储空间中删除;将所述第五嵌入向量存储至所述第一存储空间;从所述第二嵌入向量中提取未落入所述第三嵌入向量的第六嵌入向量;将所述第六嵌入向量存储至所述第一存储空间。
20、在一个示例性实施例中,所述从第一存储空间中查找所述目标特征维度对应的嵌入向量,包括:在所述目标特征维度为所述目标输入特征的首个特征维度的情况下,确定所述第一存储空间中未存储嵌入向量;执行所述从所述第二存储空间中查找所述目标特征维度对应的嵌入向量得到目标嵌入向量的步骤;在所述目标特征维度为所述目标输入特征的非首个特征维度的情况下,从第一存储空间中查找所述目标特征维度对应的嵌入向量。
21、在一个示例性实施例中,在所述从所述第二存储空间中查找所述目标特征维度对应的嵌入向量得到目标嵌入向量,并从所述第二存储空间中查找与所述目标嵌入向量相关的嵌入向量得到第二嵌入向量之后,所述方法还包括:在所述目标特征维度为所述目标输入特征的最后一个特征维度的情况下,跳过所述将所述第二嵌入向量存储至所述第一存储空间的步骤;删除所述第一存储空间中存储的嵌入向量。
22、在一个示例性实施例中,所述跳过所述将所述第二嵌入向量存储至所述第一存储空间的步骤,包括:检测所述目标输入特征与下一个待转换为嵌入向量的参考输入特征之间的目标相似度;在所述目标相似度小于相似度阈值的情况下,跳过所述将所述第二嵌入向量存储至所述第一存储空间的步骤;在所述目标相似度大于或者等于所述相似度阈值的情况下,执行所述将所述第二嵌入向量存储至所述第一存储空间的步骤。
23、在一个示例性实施例中,在所述将所述第二嵌入向量存储至所述第一存储空间之后,所述方法还包括:在部署了所述模型的计算快速连接协议类型二设备对所述目标输入特征进行运算的过程中,通过快速连接协议的缓存协议将所述模型的每层更新后的权重参数存储至目标外接存储设备上的第三存储空间,其中,所述目标外接存储设备是计算快速连接协议类型三设备。
24、根据本技术的另一个实施例,提供了一种模型运算设备,包括:处理装置,第一存储空间和第二存储空间,所述模型运算设备用于将目标输入特征转换为嵌入向量并使用得到的嵌入向量进行模型运算,所述第二存储空间用于存储全量特征维度的全量嵌入向量,所述第一存储空间用于存储与参考嵌入向量相关的第一嵌入向量,所述参考嵌入向量是上一次从第二存储空间中查找到的参考特征维度对应的嵌入向量;所述处理装置用于执行上述任一项方法实施例中的步骤。
25、根据本技术的另一个实施例,提供了一种输入特征的向量查找装置,包括:
26、获取模块,用于获取目标特征维度,其中,所述目标特征维度是待转换为嵌入向量的目标输入特征所包括的特征维度,所述目标输入特征是输入至模型进行运算的特征;
27、第一查找模块,用于从第一存储空间中查找所述目标特征维度对应的嵌入向量,其中,所述第一存储空间用于存储与参考嵌入向量相关的第一嵌入向量,所述参考嵌入向量是上一次从第二存储空间中查找到的参考特征维度对应的嵌入向量,所述第二存储空间用于存储全量特征维度的全量嵌入向量;
28、第二查找模块,用于在从所述第一存储空间中未查找到所述目标特征维度对应的嵌入向量的情况下,从所述第二存储空间中查找所述目标特征维度对应的嵌入向量得到目标嵌入向量,并从所述第二存储空间中查找与所述目标嵌入向量相关的嵌入向量得到第二嵌入向量;
29、第一存储模块,用于将所述第二嵌入向量存储至所述第一存储空间,其中,所述目标嵌入向量用于将所述目标特征维度转换为嵌入向量。
30、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
31、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
32、通过本技术,由于在查找参考特征维度对应的嵌入向量的过程中,已经将从第二存储空间中查找到的与参考嵌入向量相关的第一嵌入向量存储至第一存储空间中,因此在查找目标特征维度对应的嵌入向量的过程中,可以优先从第一存储空间中查找目标特征维度对应的嵌入向量,减少从存储全量特征维度的全量嵌入向量的第二存储空间中进行查找的过程,因此通过预先存储于上一参考嵌入向量相关的第一嵌入向量,可以解决查找输入特征的向量的效率较低问题,达到提高查找输入特征的向量的效率效果。