本发明的实施例总体涉及数据处理领域,并且更具体地涉及一种数据处理方法、计算设备及存储介质。
背景技术:
1、注意力机制(attention mechanism)被广泛应用于诸如自然语言处理(nlp)、计算机视觉(cv)等机器学习领域,以帮助模型在处理复杂任务时能够更加关注重要信息,从而提高性能。具体而言,注意力机制使得模型在处理输入序列时,可以动态地为输入序列中的每个元素分配不同的权重,从而使模型能够更加关注输入序列中与当前任务相关的信息。
2、然而,在注意力机制中,模型所能够处理的输入序列的长度会受到处理器内存的限制,换言之,在不增加内存的情况下,现有的数据处理方法难以实现超长输入序列的注意力计算。
技术实现思路
1、针对上述问题,本发明提供了一种数据处理方法,使得在不增加内存的情况下,能够实现针对超长输入序列的注意力计算。
2、根据本发明的第一方面,提供了一种数据处理方法,其特征在于,包括:基于输入序列确定三维向量,三维向量包括:查询向量、键向量和值向量;对三维向量中的至少一维向量进行分组,以便将三维向量分成多个三维向量分组;针对每个三维向量分组,利用多个内核中的一个内核进行与注意力相关的计算,以得到与每个三维向量分组对应的一组过程数据;以及对计算得到的多组过程数据进行融合计算,以确定用于生成与输入序列对应的注意力输出的最终数据。
3、在一些实施例中,对三维向量中的至少一维向量进行分组包括:对三维向量中的至少一维向量进行分组,以得到至少一维向量的多个子向量;以及至少基于多个子向量对三维向量进行分组,以得到多个三维向量分组。
4、在一些实施例中,每个三维向量分组包括三维向量中经分组的每维向量的至少一个子向量。
5、在一些实施例中,每个子向量包括在所述多个三维向量分组中的仅一个三维向量分组中。
6、在一些实施例中,每组过程数据包括:第一过程数据、第二过程数据和第三过程数据。在这些实施例中,得到与每个三维向量分组对应的一组过程数据包括:针对每个三维向量分组中的查询向量和键向量进行最大值计算,以得到第一过程数据;针对每个三维向量分组中的查询向量和键向量进行求和计算,以得到第二过程数据;以及针对每个三维向量分组中的查询向量、键向量和值向量进行乘积计算,以得到第三过程数据。
7、在一些实施例中,最终数据包括:第一数据、第二数据和第三数据。在这些实施例中,确定用于生成与输入序列对应的注意力输出的最终数据包括:针对多组过程数据中的所有第一过程数据进行最大值计算,以确定第一数据;至少基于多组过程数据中的所有第二过程数据和第一数据,确定第二数据;以及至少基于多组过程数据中的所有第三过程数据、第一数据和第二数据,确定第三数据。
8、在一些实施例中,本发明的第一方面提供的数据处理方法还包括:至少基于最终数据,计算基于输入序列确定的三维向量中的每维向量的梯度,以用于生成注意力输出。
9、在一些实施例中,计算基于输入序列确定的三维向量中的每维向量的梯度包括:对基于输入序列运算得到的多个变量进行划分,多个变量包括:三维向量、最终数据以及基于输入序列进行梯度运算得到的梯度变量;基于经划分的多个变量进行反向计算,以确定三维向量中的每维向量的梯度。
10、在一些实施例中,确定三维向量中的每维向量的梯度包括:将经划分的多个变量按预定顺序排列,以得到用于反向计算的中间矩阵;针对中间矩阵的每一行,利用多个内核中的一个进行反向计算,以得到多个中间结果,其中每个中间结果与三维向量中的一维向量的梯度有关;以及针对与同一维向量的梯度有关的中间结果进行加法和连接操作中的至少一个,以确定该维向量的梯度。
11、根据本发明的第二方面,提供了一种计算设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本发明的第一方面的方法。
12、根据本发明的第三方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中计算机指令用于使计算机执行本发明的第一方面的方法。
13、根据本发明的第四方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行本发明的第一方面的方法中的步骤。
14、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,对所述三维向量中的至少一维向量进行分组包括:
3.根据权利要求2所述的方法,其特征在于,所述每个三维向量分组包括所述三维向量中经分组的每维向量的至少一个子向量。
4.根据权利要求3所述的方法,其特征在于,每个子向量包括在所述多个三维向量分组中的仅一个三维向量分组中。
5.根据权利要求1所述的方法,其特征在于,每组过程数据包括:第一过程数据、第二过程数据和第三过程数据,
6.根据权利要求5所述的方法,其特征在于,所述最终数据包括:第一数据、第二数据和第三数据,
7.根据权利要求6所述的方法,其特征在于,还包括:
8.根据权利要求7所述的方法,其特征在于,计算基于输入序列确定的所述三维向量中的每维向量的梯度包括:
9.根据权利要求8所述的方法,其特征在于,确定所述三维向量中的每维向量的梯度包括:
10.一种计算设备,包括:
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其中所述计算机指令用于使计算机执行权利要求1-9中任一项所述的方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1-9中任一项所述的方法中的步骤。
