一种数据处理方法及相关装置制造方法及图纸

技术编号:34594871 阅读:34 留言:0更新日期:2022-08-20 08:55
本申请公开了一种数据处理方法,应用于人工智能领域。该方法包括:获取稀疏矩阵的分块信息,该分块信息用于指示稀疏矩阵中所划分的多个矩阵块;根据分块信息,从第一矩阵和第二矩阵获取多个矩阵块中每个矩阵块对应的矩阵数据;根据矩阵数据,执行矩阵乘运算,得到多个矩阵块,多个矩阵块包括稀疏矩阵中所有的非零元素,且多个矩阵块中每个矩阵块包括多个元素;将多个矩阵块进行拼接,得到目标矩阵,目标矩阵用于执行稀疏注意力网络中与稀疏矩阵相关的运算。基于本方案,能够有效地避免矩阵数据的重复搬运,并降低数据搬运指令的数量,提高数据处理的效率。高数据处理的效率。高数据处理的效率。

【技术实现步骤摘要】
一种数据处理方法及相关装置


[0001]本申请涉及人工智能
,尤其涉及一种数据处理方法及相关装置。

技术介绍

[0002]人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0003]近年来,自注意力网络已经在许多自然语言处理(Natural Language Processing,NLP)任务中得到了很好的应用,例如机器翻译,情感分析和问题解答等。随着自注意力网络的广泛应用,源于自然语言处理领域的自注意力网络在图像分类、目标检测、和图像处理等任务上也取得了很高的性能。
[0004]由于自注意力网络中存在部分冗余三维计算信息,因此能够减少计算量的稀疏注意力网络应运而生。在稀疏注意力网络中,核心的计算过程是基于两个稠密矩阵计算得到稀疏矩阵,该稀疏矩阵用于表征稀疏注意力特征。目前,计算稀疏矩阵的方式是基于稀疏矩阵中非零元素所在的位置,获取计算非零元素所需的矩阵数据,并逐个计算得到稀疏矩阵中的非零元素。
[0005]然而,这种稀疏矩阵的计算方式需要频繁地搬运计算所需的矩阵数据,出现矩阵数据的重复搬运,使得数据搬运指令的数量剧增,降低了矩阵运算过程中的计算访存比,导致数据处理的效率较低。

技术实现思路

[0006]本申请提供了一种数据处理方法,能够有效地避免矩阵数据的重复搬运,并降低数据搬运指令的数量,提高数据处理的效率。
[0007]本申请第一方面提供一种数据处理方法,应用于人工智能领域的稀疏注意力网络。该方法包括:获取稀疏矩阵的分块信息,该稀疏矩阵为基于稀疏注意力网络执行运算的期间所得到的中间矩阵,该稀疏矩阵用于执行稀疏注意力网络中后续的运算。在稀疏注意力网络中,该稀疏矩阵中非零元素的分布是具有一定规则的。因此,通过将稀疏矩阵进行划分,能够得到包括了稀疏矩阵中所有非零元素的多个矩阵块,该稀疏矩阵的分块信息则用于指示稀疏矩阵中所划分的多个矩阵块。
[0008]根据稀疏矩阵的分块信息,从第一矩阵和第二矩阵获取多个矩阵块中每个矩阵块对应的矩阵数据,其中第一矩阵和第二矩阵为用于计算稀疏矩阵的矩阵。例如,在基于图形处理器(Graphics Processing Unit,GPU)执行运算的情况下,第一矩阵和第二矩阵存储于GPU的显存中,GPU可以是通过执行数据搬运指令从显存中将矩阵块所对应的矩阵数据搬运到GPU的运算单元中,以计算矩阵块中的元素的具体值。
[0009]根据所述矩阵数据,执行矩阵乘运算,得到所述多个矩阵块,所述多个矩阵块包括所述稀疏矩阵中所有的非零元素,且所述多个矩阵块中每个矩阵块包括多个元素。
[0010]将所述多个矩阵块进行拼接,得到目标矩阵,该目标矩阵用于执行所述稀疏注意力网络中与所述稀疏矩阵相关的运算。也就是说,由多个矩阵块拼接得到的目标矩阵用于代替稀疏矩阵,来实现稀疏注意力网络中与稀疏矩阵相关的其他运算。
[0011]本方案中,通过预先对稀疏矩阵进行划分,得到稀疏矩阵中的多个矩阵块。在稀疏矩阵的计算过程中,获取计算稀疏矩阵中每个矩阵块所需的矩阵数据,并计算得到每个矩阵块的实际值。最终,由计算得到的多个矩阵块拼接得到用于代替稀疏矩阵的目标矩阵,该目标矩阵能够用于稀疏注意力网络中后续与稀疏矩阵相关的计算。通过将稀疏矩阵划分为多个矩阵块来进行计算,能够有效地避免矩阵数据的重复搬运,并降低数据搬运指令的数量,提高了矩阵运算过程的计算访存比,从而提高数据处理的效率。
[0012]在一种可能的实现方式中,当稀疏矩阵的多个矩阵块中包括目标元素时,则将稀疏矩阵的多个矩阵块中的目标元素的值调整为零,得到多个调整后的矩阵块,其中目标元素为所述稀疏矩阵中值为零的元素。然后,再将所述多个调整后的矩阵块进行拼接,得到所述目标矩阵。这样一来,目标矩阵中每个位置的元素值与稀疏矩阵中对应位置的元素值相同。
[0013]也就是说,计算得到的多个矩阵块中与稀疏矩阵中零值元素所在位置对应的元素的值可能并非是零。在这种情况下,则需要将多个矩阵块中特定位置的元素的值调整为零,以使得多个矩阵块中各个位置的元素的值能够与稀疏矩阵中对应位置的元素的值相匹配。
[0014]本方案中,通过调整多个矩阵块中目标元素的值,可以使得由调整后的矩阵块拼接得到的目标矩阵中每个位置的元素值与稀疏矩阵中对应位置的元素值相同,确保了在后续运算过程中目标矩阵能够替代稀疏矩阵,保证了后续运算的正常执行。
[0015]此外,在多个矩阵块中具有目标元素的情况下,尽管相较于现有技术增加了少量的多余计算,但是却能够大大减少数据搬运次数并避免数据的重复搬运,从而提高数据处理的效率。
[0016]在一种可能的实现方式中,稀疏矩阵的多个矩阵块中每个矩阵块的行数或列数相同,所述多个矩阵块用于表示局部注意力特征。例如,在稀疏矩阵后续需要执行归一化操作的情况下,当以稀疏矩阵的行作为基本单位来执行归一化操作时,多个矩阵块中每个矩阵块的列数相同;当以稀疏矩阵的列作为基本单位来执行归一化操作时,多个矩阵块中每个矩阵块的行数相同。
[0017]当多个矩阵块中每个矩阵块的行数相同时,在列的维度上对所述多个矩阵块进行拼接,得到所述目标矩阵,所述目标矩阵的行数与所述多个矩阵块的行数相同。
[0018]当多个矩阵块中每个矩阵块的列数相同时,在行的维度上对所述多个矩阵块进行拼接,得到所述目标矩阵,所述目标矩阵的列数与所述多个矩阵块的列数相同。
[0019]在一种可能的实现方式中,所述稀疏矩阵的分块信息包括第一分块信息和第二分块信息,所述第一分块信息用于指示所述稀疏矩阵中所划分的多个第一矩阵块,所述多个第一矩阵块的列数相同且所述多个第一矩阵块的总行数等于所述稀疏矩阵的行数,所述第二分块信息用于指示所述稀疏矩阵中所划分的多个第二矩阵块,所述多个第二矩阵块的行数与所述稀疏矩阵的行数相同且所述多个第二矩阵块的列数小于所述稀疏矩阵的列数。其
中,所述多个第一矩阵块可以是用于表示局部注意力特征,所述多个第二矩阵块可以是用于表示全局注意力特征。
[0020]在基于第一分块信息和第二分块信息计算得到多个第一矩阵块和多个第二矩阵块之后,在行的维度上对所述多个第一矩阵块进行拼接,得到第一目标矩阵;并且,在列的维度上对所述多个第二矩阵块进行拼接,得到第二目标矩阵。然后,在列的维度上对所述第一目标矩阵和所述第二目标矩阵进行拼接,得到所述目标矩阵。
[0021]在一种可能的实现方式中,在对第一目标矩阵和第二目标矩阵进行拼接之前,可以确定第一目标矩阵和第二目标矩阵中是否包含了在稀疏矩阵中位置相同的元素,即第一目标矩阵和第二目标矩阵中是否包含了重复的元本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:获取稀疏矩阵的分块信息,所述稀疏矩阵为基于稀疏注意力网络执行运算的期间所得到的中间矩阵,所述分块信息用于指示所述稀疏矩阵中所划分的多个矩阵块;根据所述分块信息,从第一矩阵和第二矩阵获取所述多个矩阵块中每个矩阵块对应的矩阵数据,所述第一矩阵和所述第二矩阵为用于计算所述稀疏矩阵的矩阵;根据所述矩阵数据,执行矩阵乘运算,得到所述多个矩阵块,所述多个矩阵块包括所述稀疏矩阵中所有的非零元素,且所述多个矩阵块中每个矩阵块包括多个元素;将所述多个矩阵块进行拼接,得到目标矩阵,所述目标矩阵用于执行所述稀疏注意力网络中与所述稀疏矩阵相关的运算。2.根据权利要求1所述的方法,其特征在于,所述将所述多个矩阵块进行拼接,得到目标矩阵,包括:当所述多个矩阵块中包括目标元素时,将所述多个矩阵块中的目标元素的值调整为零,得到多个调整后的矩阵块,所述目标元素为所述稀疏矩阵中值为零的元素;将所述多个调整后的矩阵块进行拼接,得到所述目标矩阵。3.根据权利要求1或2所述的方法,其特征在于,所述多个矩阵块中每个矩阵块的行数或列数相同,所述多个矩阵块用于表示局部注意力特征;所述将所述多个矩阵块进行拼接,得到目标矩阵,包括:当多个矩阵块中每个矩阵块的行数相同时,在列的维度上对所述多个矩阵块进行拼接,得到所述目标矩阵,所述目标矩阵的行数与所述多个矩阵块的行数相同;当多个矩阵块中每个矩阵块的列数相同时,在行的维度上对所述多个矩阵块进行拼接,得到所述目标矩阵,所述目标矩阵的列数与所述多个矩阵块的列数相同。4.根据权利要求1或2所述的方法,其特征在于,所述分块信息包括第一分块信息和第二分块信息,所述第一分块信息用于指示所述稀疏矩阵中所划分的多个第一矩阵块,所述多个第一矩阵块的列数相同且所述多个第一矩阵块的总行数等于所述稀疏矩阵的行数,所述第二分块信息用于指示所述稀疏矩阵中所划分的多个第二矩阵块,所述多个第二矩阵块的行数与所述稀疏矩阵的行数相同且所述多个第二矩阵块的列数小于所述稀疏矩阵的列数;所述将所述多个矩阵块进行拼接,得到目标矩阵,包括:在行的维度上对所述多个第一矩阵块进行拼接,得到第一目标矩阵;在列的维度上对所述多个第二矩阵块进行拼接,得到第二目标矩阵;在列的维度上对所述第一目标矩阵和所述第二目标矩阵进行拼接,得到所述目标矩阵。5.根据权利要求4所述的方法,其特征在于,所述多个第一矩阵块用于表示局部注意力特征,所述多个第二矩阵块用于表示全局注意力特征。6.根据权利要求4或5所述的方法,其特征在于,所述在列的维度上对所述第一目标矩阵和所述第二目标矩阵进行拼接,得到所述目标矩阵,包括:若所述第一目标矩阵中的第一元素和所述第二目标矩阵中的第二元素在所述稀疏矩阵中的位置相同,则将所述第二目标矩阵中的第二元素的值调整为零,得到调整后的第二目标矩阵;
在列的维度上对所述第一目标矩阵和所述调整后的第二目标矩阵进行拼接,得到所述目标矩阵。7.根据权利要求4

6任意一项所述的方法,其特征在于,所述方法还包括:对所述目标矩阵进行归一化操作,得到归一化的目标矩阵;基于所述归一化后的目标矩阵和第三矩阵,得到输出矩阵,所述输出矩阵为所述稀疏注意力网络中注意力模块的输出,所述第一矩阵、所述第二矩阵和所述第三矩阵是基于不同的权重对同一个矩阵进行运算得到的。8.根据权利要求7所述的方法,其特征在于,所述基于所述归一化后的目标矩阵和第三矩阵,得到第四矩阵,包括:基于所述目标矩阵的拼接方式,对所述归一化的目标矩阵在列的维度上进行拆分,得到第三目标矩阵和第四目标矩阵,所述第三目标矩阵的大小与所述第一目标矩阵的大小相同,所述第四目标矩阵的大小与所述第二目标矩阵的大小相同;基于所述第一目标矩阵的拼接方式,对所述第三目标矩阵和第三矩阵进行拆分,得到所述第三目标矩阵中的多个矩阵块以及所述第三矩阵中的多个矩阵块,所述第三目标矩阵中的矩阵块与所述第三矩阵中的矩阵块具有一一对应的关系;对所述第三目标矩阵和所述第三矩阵中具有对应关系的矩阵块执行矩阵乘运算,并在行的维度上拼接执行矩阵乘运算后所得到的矩阵块,得到第一输出矩阵;对所述第四目标矩阵和第三矩阵的子矩阵执行矩阵乘运算,得到第二输出矩阵,所述子矩阵是由第三矩阵中的多行元素构成的;将所述第一输出矩阵与所述第二输出矩阵相加,得到所述输出矩阵。9.一种基于稀疏注意力网络的数据处理方法,其特征在于,包括:获取待处理数据;基于稀疏注意力网络,对所述待处理数据进行处理,得到输出数据;其中,在基于所述稀疏注意力网络处理所述待处理数据的期间,根据权利要求1

8所述的方法执行所述稀疏注意力网络中与稀疏矩阵相关的运算。10.根据权利要求9所述的方法,其特征在于,所述待处理数据包括图像数据、文本数据或语音数据。11.一种数据处理装置,其特征在于,包括:获取单元和处理单元;所述获取单元,用于获取稀疏矩阵的分块信息,所述稀疏矩阵为基于所述稀疏注意力网络执行运算的期间所得到的中间矩阵,所述分块信息用于指示所述稀疏矩阵中所划分的多个矩阵块;所述获取单元,还用于根据所...

【专利技术属性】
技术研发人员:胡智恒刘艳琳王永忠
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1