本公开总体上涉及张量处理,并且更具体地,涉及用于张量处理的方法、设备和计算机程序产品。
背景技术:
1、目前,transformer(转换器)模型已经广泛应用于各种深度学习(dl)应用,例如语言建模、神经机器翻译、推荐系统等。过去十年已经见证了基于transformer模型的自然语言处理(nlp)预训练模型的快速发展,这也大大加快了nlp的进展。在基于transformer的所有预训练模型中,来自transformer的双向编码器表示(bert)在创建时优于大量nlp任务。然而,类bert模型消耗越来越大的参数空间和相应的更多计算资源。这增加了类bert模型的训练和推理的成本。在这种情况下,如何加速这些模型成为热点。
技术实现思路
1、在本公开的第一方面,提供了一种用于张量处理的方法。在该方法中,待应用注意力的第一张量被获取,第一张量表示具有可变序列长度的批次的输入;基于批次的输入的数量和注意力的头的数量,第一张量被划分为多个矩阵,其中多个矩阵中的矩阵具有与批次的输入的序列长度对应的维度和与注意力的头的大小对应的维度;注意力通过基于分组矩阵乘法被分别应用于多个矩阵来生成第二张量,其中分组矩阵乘法的结果矩阵包括多个分块,每个分块由具有共享存储器的一组线程被计算头头一组线程。因此,避免了无用标记的计算。
2、在本公开的第二方面,提供了一种电子设备。该电子设备包括:耦合到计算机可读存储器单元的计算机处理器,该存储器单元包括指令,该指令在由计算机处理器执行时实现根据本公开的第一方面的方法。
3、在本公开的第三方面,提供了一种计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令,该程序指令可由电子设备执行以使该电子设备执行根据本公开的第一方面的方法。
4、提供本
技术实现要素:
以引入简化形式的概念的选择,这将在以下具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。
1.一种用于张量处理的方法,包括:
2.根据权利要求1所述的方法,其中将所述注意力应用于所述多个矩阵包括:
3.根据权利要求2所述的方法,其中确定softmax运算的完全归约结果包括:
4.根据权利要求3所述的方法,其中所述部分归约结果包括至少之一:
5.根据权利要求1所述的方法,其中大小信息在与所述批次的输入的输入对应的所述多个矩阵中的矩阵之间被共享。
6.根据权利要求1所述的方法,其中所述一组线程包括多组线程,并且所述多组线程中的一组线程中的线程被配置为具有所述一组线程内的线程间通信,并且
7.根据权利要求1所述的方法,其中通过基于所述分组矩阵乘法将所述注意力分别应用于所述多个矩阵来生成所述第二张量是响应于:
8.根据权利要求7所述的方法,还包括:
9.根据权利要求1所述的方法,其中所述注意力是基于transformer的模型的一部分。
10.一种电子设备,包括耦合到计算机可读存储器单元的计算机处理器,所述存储器单元包括指令,所述指令在由所述计算机处理器执行时实现用于张量处理的方法,包括:
11.根据权利要求10所述的电子设备,其中将所述注意力应用于所述多个矩阵包括:
12.根据权利要求11所述的电子设备,其中确定softmax运算的完全归约结果包括:
13.根据权利要求12所述的电子设备,其中所述部分归约结果包括至少之一:
14.根据权利要求10所述的电子设备,其中大小信息在与所述批次的输入的输入对应的所述多个矩阵中的矩阵之间被共享。
15.根据权利要求10所述的电子设备,其中所述一组线程包括多组线程,并且所述多组线程中的一组线程中的线程被配置为具有所述一组线程内的线程间通信,并且
16.根据权利要求10所述的电子设备,其中通过基于所述分组矩阵乘法将所述注意力分别应用于所述多个矩阵来生成所述第二张量是响应于:
17.根据权利要求16所述的电子设备,还包括:
18.根据权利要求10所述的电子设备,其中所述注意力是基于transformer的模型的一部分。
19.一种计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,所述程序指令可由电子设备执行以使所述电子设备执行用于张量处理的方法,所述方法包括:
20.根据权利要求19所述的计算机程序产品,其中将所述注意力应用于所述多个矩阵包括: