本技术涉及存算一体,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术:
1、存算一体作为一种新的计算架构,核心是将存储与计算完全融合,结合后摩尔时代先进封装、新型存储器件等技术,实现计算能效的数量级提升。存内计算即狭义的存算一体,在芯片设计过程中,不再区分存储单元和计算单元,真正实现存算融合。相关技术中,在通过存算一体芯片对数据处理的过程中,需要将数据所有的向量表示缓存完成后再进行数据的处理,需要大量的准备时间,这样导致对数据的处理效率较低。
技术实现思路
1、本技术实施例提供的一种数据处理方法、装置、电子设备及存储介质,可以提高存算一体芯片对数据的处理效率。
2、本技术的技术方案是这样实现的:
3、本技术实施例提供了一种数据处理方法,包括:
4、基于当前缓存的当前子数据的向量信息,确定针对所述当前子数据的向量的数量检测结果;其中,所述当前子数据属于待处理数据包括的多个子数据;
5、在所述数量检测结果表征所述当前子数据的向量数不小于预设最小数量时,利用多个单头处理阵列对所述当前子数据的向量进行处理,并针对多个所述子数据进行下一批的向量缓存,直至针对多个所述子数据均处理完成得到所述待处理数据的处理结果;其中,每一所述单头处理阵列上部署预设处理模型中的一个注意力层。
6、上述方案中,所述基于当前缓存的当前子数据的向量信息,确定针对所述当前子数据的向量的数量检测结果,包括:
7、获取所述当前子数据的所述向量信息;
8、将所述向量信息表征的向量数与所述预设最小数量进行比较,确定所述数量检测结果。
9、上述方案中,所述基于当前缓存的当前子数据的向量信息,确定针对所述当前子数据的向量的数量检测结果之后,所方法还包括:
10、在所述数量检测结果表征所述当前子数据的向量数小于所述预设最小数量时,从多个所述子数据中获取下一所述子数据对应的所述向量进行缓存,直至缓存至k个向量数时利用多个所述单头处理阵列对k个所述子数据的向量进行处理,并进行下一批的向量缓存,直至针对多个所述子数据均处理完成得到所述待处理数据的处理结果;其中,k为大于0的整数。
11、上述方案中,所述利用多个单头处理阵列对所述当前子数据的向量进行处理,并针对多个所述子数据进行下一批的向量缓存,直至针对多个所述子数据均处理完成得到所述待处理数据的处理结果,包括:
12、将基于所述当前子数据的向量确定的第一输入特征通过每一所述单头处理阵列进行处理,得到所述当前子数据对应每一所述单头处理阵列的至少一个第一中间特征,并缓存至少一个所述第一中间特征中的第一预定特征;至少一个所述第一中间特征包括以下至少之一:第一中间查询特征、第一中间关键字特征和第一中间值特征;
13、基于至少一个所述第一中间特征与缓存的第一特征,确定所述当前子数据对应的第一中间结果;其中,所述第一特征表征当前时刻之前缓存针对前一批向量的预定特征;
14、依次缓存m个所述子数据中的k个所述子数据对应的向量,基于k个所述子数据对应的向量通过每一所述单头处理阵列进行处理,得到k个所述子数据对应每一所述单头处理阵列的至少一个第二中间特征,并缓存至少一个所述第二中间特征中的第二预定特征;其中,多个所述子数据包括:m个所述子数据,m为大于1的整数;
15、基于至少一个所述第二中间特征与缓存的第二特征,确定k个所述子数据对应的第二中间结果,直至针对m个所述子数据均处理完成得到n个中间结果;其中,所述第二特征包括:所述第一特征和所述第一预定特征;n为大于0的整数;
16、基于n个所述中间结果联合得到所述待处理数据的处理结果。
17、上述方案中,所述将基于所述当前子数据的向量确定的第一输入特征通过每一所述单头处理阵列进行处理,得到所述当前子数据对应每一所述单头处理阵列的至少一个第一中间特征,并缓存至少一个所述第一中间特征中的第一预定特征之前,所述方法还包括:
18、基于所述当前子数据的向量和位置编码向量之和确定所述第一输入特征;其中,所述位置编码向量是基于所述当前子数据在多个所述子数据中的位置确定的。
19、上述方案中,所述将基于所述当前子数据的向量确定的第一输入特征通过每一所述单头处理阵列进行处理,得到所述当前子数据对应每一所述单头处理阵列的至少一个第一中间特征,并缓存至少一个所述第一中间特征中的第一预定特征,包括:
20、通过每一所述单头处理阵列将所述第一输入特征与查询权重矩阵相乘得到所述第一中间查询特征,将所述第一输入特征与关键字权重矩阵相乘的得到所述第一中间关键字特征,以及将所述第一输入特征与中间值权重矩阵相乘得到所述第一中间值特征;
21、缓存每一所述单头处理阵列对应的所述第一中间关键字特征和所述第一中间值特征。
22、上述方案中,所述第一特征包括:缓存关键字特征和缓存中间值特征;
23、所述基于至少一个所述第一中间特征与缓存的第一特征,确定所述当前子数据对应的第一中间结果,包括:
24、基于注意力机制处理至少一个所述第一中间特征,确定每一所述单头处理阵列对应的注意力特征;
25、将所述注意力特征与对应的所述缓存关键字特征和所述缓存中间值特征进行拼接,得到拼接矩阵;
26、基于每一所述拼接矩阵确定所述第一中间结果。
27、上述方案中,所述将基于所述当前子数据的向量确定的第一输入特征通过每一所述单头处理阵列进行处理,得到所述当前子数据对应每一所述单头处理阵列的至少一个第一中间特征,并缓存至少一个所述第一中间特征中的第一预定特征之后,所述方法还包括:
28、删除缓存的所述当前子数据的向量。
29、本技术实施例还提供了一种数据处理装置,包括:
30、确定单元,用于基于当前缓存的当前子数据的向量信息,确定针对所述当前子数据的向量的数量检测结果;其中,所述当前子数据属于待处理数据包括的多个子数据;
31、缓存处理单元,用于在所述数量检测结果表征所述当前子数据的向量数不小于预设最小数量时,利用多个单头处理阵列对所述当前子数据的向量进行处理,并针对多个所述子数据进行下一批的向量缓存,直至针对多个所述子数据均处理完成得到所述待处理数据的处理结果;其中,每一所述单头处理阵列上部署预设处理模型中的一个注意力层。
32、本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法中的步骤。
33、本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法中的步骤。
34、本技术实施例中,基于当前缓存的当前子数据的向量信息,确定针对当前子数据的向量的数量检测结果;其中,当前子数据属于待处理数据包括的多个子数据;在数量检测结果表征当前子数据的向量数不小于预设最小数量时,利用多个单头处理阵列对当前子数据的向量进行处理,并针对多个子数据进行下一批的向量缓存,直至针对多个子数据均处理完成得到待处理数据的处理结果;其中,每一单头处理阵列上部署预设处理模型中的一个注意力层。这样,在存算一体芯片处理数据时只需要缓存的向量数不小于预设最小数量时,就可以对缓存的当前子数据进行处理,无需等待将多个子数据的向量均完成缓存,节省了缓存时间,提高了存算一体芯片对待处理数据的处理效率。
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于当前缓存的当前子数据的向量信息,确定针对所述当前子数据的向量的数量检测结果,包括:
3.根据权利要求1所述的数据处理方法,其特征在于,所述基于当前缓存的当前子数据的向量信息,确定针对所述当前子数据的向量的数量检测结果之后,所方法还包括:
4.根据权利要求1至3任一项所述的数据处理方法,其特征在于,所述利用多个单头处理阵列对所述当前子数据的向量进行处理,并针对多个所述子数据进行下一批的向量缓存,直至针对多个所述子数据均处理完成得到所述待处理数据的处理结果,包括:
5.根据权利要求4所述的数据处理方法,其特征在于,所述将基于所述当前子数据的向量确定的第一输入特征通过每一所述单头处理阵列进行处理,得到所述当前子数据对应每一所述单头处理阵列的至少一个第一中间特征,并缓存至少一个所述第一中间特征中的第一预定特征之前,所述方法还包括:
6.根据权利要求4所述的数据处理方法,其特征在于,所述将基于所述当前子数据的向量确定的第一输入特征通过每一所述单头处理阵列进行处理,得到所述当前子数据对应每一所述单头处理阵列的至少一个第一中间特征,并缓存至少一个所述第一中间特征中的第一预定特征,包括:
7.根据权利要求6所述的数据处理方法,其特征在于,所述第一特征包括:缓存关键字特征和缓存中间值特征;
8.根据权利要求4所述的数据处理方法,其特征在于,所述将基于所述当前子数据的向量确定的第一输入特征通过每一所述单头处理阵列进行处理,得到所述当前子数据对应每一所述单头处理阵列的至少一个第一中间特征,并缓存至少一个所述第一中间特征中的第一预定特征之后,所述方法还包括:
9.一种数据处理装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法中的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述方法中的步骤。