【技术实现步骤摘要】
一种数据管理方法、装置及相关设备
[0001]本申请涉及计算机
,尤其涉及一种数据管理方法、装置及相关设备。
技术介绍
[0002]当前基于深度学习的推荐系统的输入特征具有高维、稀疏性的特点,通常通过嵌入(embedding)层将高维稀疏向量转换为低维稠密向量。嵌入层包括权重矩阵(嵌入表),将输入特征的向量与权重矩阵相乘,实现将高维稀疏向量转换为低维稠密向量。例如,输入特征是1*1000维的矩向量,嵌入层的权重矩阵为1000*n,从而能够将1000维的高维向量转换为n维的低维向量。
[0003]处理器在进行降维计算时,嵌入表的数据量较大,不能直接使用处理器的片上缓存,必须将嵌入表存放在内存,处理器在根据嵌入表实现上述降维计算时,需要从内存中读取嵌入表中的数据并缓存。但是,内存中通常会存放多个嵌入表,每个嵌入表中的数据随机存储在内存中不同的存储模块中,处理器在并行读取多个嵌入表的数据时,不同嵌入表之间的读取操作会互相影响,导致处理器读取到同一个嵌入表中的数据的时间间隔较大,降低了处理器的处理效率。因此,如何提供一种高效的嵌入层数据的处理方法成为亟待解决的技术问题。
技术实现思路
[0004]本申请公开了数据管理方法、装置及相关设备,能够提高处理器读取同一列数据的效率,提高处理器效率。
[0005]第一方面,本申请提供了一种数据管理方法,包括:嵌入表加速器获取第一嵌入表,将第一嵌入表存储至一个或多个存储模块中,在将第一嵌入表存储至存储模块中时,上述一个或多个存储模块中的每个存储模块需 ...
【技术保护点】
【技术特征摘要】
1.一种数据管理方法,其特征在于,包括:获取第一嵌入表,所述第一嵌入表用于在推荐系统的嵌入层中将第一向量转换为第二向量;将所述第一嵌入表存入一个或多个存储模块中,所述一个或多个存储模块中的每个存储模块存储有所述第一嵌入表中同一列的至少两个元素。2.根据权利要求1所述的方法,其特征在于,所述将所述第一嵌入表存入一个或多个存储模块中之前,还包括:根据一个或多个嵌入表对计算设备中的多个存储模块进行分池,得到一个或多个内存池,其中,所述一个或多个内存池中的每个内存池包括至少一个存储模块;所述将所述第一嵌入表存入一个或多个存储模块中,包括:将所述第一嵌入表存入至少一个内存池的存储模块中。3.根据权利要求2所述的方法,其特征在于,所述根据一个或多个嵌入表对计算设备中的多个存储模块进行分池,得到一个或多个内存池,包括:根据存储模块的数据位宽与所述一个或多个嵌入表中每个嵌入表的列数,确定所述每个嵌入表的列宽,其中,第二嵌入表包括m行n列的元素,所述第二嵌入表每一个列宽对应的元素包括所述第二嵌入表中m行j列的元素,j小于n,所述第二嵌入表是所述一个或多个嵌入表中的任意一个;根据所述一个或多个嵌入表中每个嵌入表的列宽,将所述计算设备中的多个存储模块划分成一个或者多个内存池。4.根据权利要求3所述的方法,其特征在于,在所述一个或多个嵌入表的列宽的总和小于或等于所述计算设备中存储模块的数量时,所述一个或多个嵌入表中的每个嵌入表对应一个内存池,其中,所述第二嵌入表对应的内存池包括的存储模块的数量等于所述第二嵌入表的列宽。5.根据权利要求4所述的方法,其特征在于,所述将所述第一嵌入表存入一个内存池的一个或多个存储模块中,包括:将所述第一嵌入表存入所述第一嵌入表对应的内存池中,其中,所述第一嵌入表中每一个列宽对应的元素存储至所述第一嵌入表对应的内存池的一个存储模块中,所述第一嵌入表为所述一个或多个嵌入表中的一个。6.根据权利要求3所述的方法,其特征在于,所述将所述第一嵌入表存入至少一个内存池的存储模块中,包括:确定所述第一嵌入表的列宽;在所述第一嵌入表的列宽大于所述一个或多个内存池中任意一个内存池中存储模块的数量时,根据所述一个或多个内存池中每个内存池包括的存储模块的数量,将所述第一嵌入表划分为多个子表;其中,每个子表对应一个内存池,每个子表对应的内存池中包括的存储模块的数量大于或等于每个子表的列宽;将所述多个子表中的每个子表存入各自对应的内存池中,其中,所述每个子表每一个列宽包括的元素存储至对应的内存池的一个存储模块中。7.根据权利要求1所述的方法,其特征在于,所述将所述第一嵌入表存入一个或多个存储模块中,包括:
根据存储模块的数据位宽与所述第一嵌入表的列数,确定所述第一嵌入表的列宽,其中,所述第一嵌入表包括m行n列的元素,所述第一嵌入表每一个列宽对应的元素包括所述第一嵌入表中m行j列的元素,j小于n;若所述计算设备的多个存储模块中包括没有存储数据的空闲存储模块,且所述空闲存储模块的数量大于所述第一嵌入表的列宽,根据所述第一嵌入表的列宽从所述空闲存储模块中划分出第一内存池,将所述第一嵌入表存入所述第一内存池中,其中,所述第一内存池中包括的存储模块的数量与所述第一嵌入表的列宽相同,所述第一嵌入表每一个列宽对应的元素存储至所述第一内存池的一个存储模块中。8.根据权利要求7所述的方法,其特征在于,若所述空闲存储模块的数量小于或等于所述第一嵌入表的列宽,将所述空闲存储模块划分为一个内存池,并将所述第一嵌入表存储至所述空闲存储模块。9.根据权利要求2至8任一项所述的方法,其特征在于,所述方法还包括:生成映射关系表,所述映射关系表记载有每个嵌入表与内存池之间的对应关系,用于指示每个嵌入表存储的内存池;接收获取指令,所述获取指令包括目标嵌入表的标识与行序号,用于指示读取所述目标嵌入表中的目标数据;根据所述嵌入表标识与所述映射关系表,确定所述目标嵌入表所在的目标内存池,并根据所述行序号从所述目标内存池中获取所述行序号指示的目标数据。10.一种数据管理装置,其特征在于,包括:管理模块,用于获取第一嵌入表,所述第一嵌入表用于在推荐系统的嵌入层中将第一向量转换为第二向量;读写模块,用于将所述...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。