System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于加速神经网络计算的电子装置和方法制造方法及图纸_技高网

用于加速神经网络计算的电子装置和方法制造方法及图纸

技术编号:44011781 阅读:2 留言:0更新日期:2025-01-15 00:58
概括地说,本公开总体上涉及一种用于加速机器学习ML模型计算的电子装置。该电子装置包括:第一处理器,被配置为:通过对至少一个输入矩阵执行快速傅里叶变换(FFT)和蝶形线性变换来生成查询矩阵、键矩阵和值矩阵,以及第二处理器,被配置为:在查询矩阵和键矩阵之间执行第一矩阵乘法,对第一矩阵乘法的结果执行softmax运算,以及在softmax运算的结果和值矩阵之间执行第二矩阵乘法。

【技术实现步骤摘要】
【国外来华专利技术】

本申请总体上涉及一种用于加速神经网络计算的设备。特别地,本申请涉及用于加速机器学习ml模型计算的硬件加速器、电子装置或处理单元。


技术介绍

1、深度学习的进步已经导致能够在许多ai任务上实现最先进的精度的各种神经网络(nn)。其中,诸如门控递归单元(gru)和长短期记忆(lstm)网络的递归神经网络(rnn)已经证明了它们在解决测序转换和建模问题上的优势。

2、然而,这些模型的递归特性引入了两个缺点:(1)利用过去或外部知识的能力有限导致远程信息丢失;以及(2)rnn的顺序性质阻碍了它们在硬件中的并行化并减慢了它们的处理速度。

3、最近,已经提出了注意力机制来解决这些缺点。它可并行处理长数据序列以捕获长范围信息。基于该原理,已经提出了在各种自然语言处理(nlp)任务中实现最先进准确性的不同的基于注意力的nn(诸如bert和gpt)。

4、然而,基于注意力的nn的益处是以该代价实现的:高度并行性显著增加了参数和计算的量,导致它们的速度和功耗的大开销。为了减轻这种情况,已经提出了各种硬件加速器。然而,在这些设计中存在若干问题。例如,这些加速器仅专注于优化ffn或注意力机制。在没有联合优化两个部分的情况下,当加速具有不同输入长度的端到端基于注意力的nn时,这些硬件设计缺乏可扩展性。此外,在优化注意力机制的同时,大多数现有设计在运行时间动态地检测和修剪冗余计算,以在特定数据集和网络上实现高稀疏性。然而,需要进一步测试这些动态方法的泛化性,因为它们的性能增益可能在不同的数据集和网络架构之间变化。此外,由于由这些动态方法引入的稀疏性图案是非结构化的,因此需要动态硬件控制器以便利用稀疏性。然而,这种复杂的控制器通常包含大量的时钟元件,其成本随着晶体管大小的减小而增加。因此,由这些动态方法带来的性能或能量改进可能由于这些动态控制器的硬件开销而被削弱。

5、因此,本申请人已经认识到需要用于机器学习计算的改进的硬件加速机制。


技术实现思路

1、技术方案

2、对数据密集型应用(如机器学习)的需求以及对高速计算的需求导致了对从通用处理器卸载工作的“加速器”的需求。加速器是与通用处理器(诸如cpu)合作以提升处理数据的速度并因此改善处理器的性能的硬件装置。这在更大、更强大的处理器不能在装置内(诸如在移动通信装置、智能电话、家庭助理装置、机器人装置、电池供电装置等内)使用的情况下特别有用。

3、在本公开的实施例中,提供了一种用于加速机器学习ml模型计算的电子装置。该电子装置包括:第一处理器,被配置为:通过对至少一个输入矩阵执行快速傅里叶变换(fft)和蝶形线性变换来生成查询矩阵、键矩阵和值矩阵,以及第二处理器,被配置为:在所述查询矩阵和所述键矩阵之间执行第一矩阵乘法,对第一矩阵乘法的结果执行softmax运算,以及在所述softmax运算的结果和所述值矩阵之间执行第二矩阵乘法。

4、在本公开的实施例中,提供了一种用于加速机器学习ml模型计算的方法。该方法包括:通过对至少一个输入矩阵执行快速傅里叶变换(fft)和蝶形线性变换来生成查询矩阵、键矩阵和值矩阵,在所述查询矩阵和所述键矩阵之间执行第一矩阵乘法,对第一矩阵乘法的结果执行softmax运算,以及在所述softmax运算的结果和所述值矩阵之间执行第二矩阵乘法。在本公开的实施例中,提供了一种计算机可读存储介质。所述计算机可读存储介质包括指令,所述指令在由处理器执行时使所述处理器执行本公开的方法。

5、在本公开的实施例中,提供了一种用于加速机器学习ml模型计算的处理单元,在本文中也称为“电子装置”,该处理单元包括:第一处理器,用于加速涉及稀疏矩阵的计算,该稀疏矩阵具有蝶形稀疏性图案。第一处理器可用于加速ml模型的任何层的计算,只要计算涉及具有蝶形稀疏性图案的矩阵即可。例如,当蝶形稀疏性图案被采用/应用于ml模型的注意力层和/或线性层时,第一处理器可用于加速这些层的计算。ml模型可包括不采用蝶形稀疏性的一个或更多个另外的层,但是第一处理器不用于加速这些另外的层的计算。

6、因为第一处理器使用蝶形稀疏性图案对数据进行操作,所以第一处理器在本文中也被称为“蝶形处理器”。也就是说,第一处理器根据蝶形稀疏性图案访问来自输入矩阵的数据,以减少需要执行的计算的数量,而不损失精度。

7、第一处理器可包括多个引擎,所述多个引擎在本文中也称为“蝶形引擎”,用于加速涉及稀疏矩阵的计算。

8、每个蝶形引擎可包括自适应存储器系统和多个自适应蝶形单元,其中,每个蝶形单元可被配置为执行特定计算。

9、每个蝶形单元可被配置为执行快速傅里叶变换和线性变换中的一者或两者。这是有利的,因为许多常规技术能够执行基于注意力的操作(即,线性变换)或基于快速傅里叶变换的操作,但不能执行两者。本技术的蝶形单元在运行时间可被配置为基于处理单元正用于ml模型的哪个层来执行任一操作。

10、每个蝶形单元可包括多个多路复用器,所述多路复用器被布置为选择执行特定计算所需的输入。这使得蝶形单元能够适于/被配置为执行特定计算。

11、在本公开的实施例中,每个蝶形单元可包括:四个实数乘法器,被布置为将输入相乘以执行特定计算;两个实数加法器或减法器,被布置为对所述实数乘法器的输出进行操作;以及两个复数加法器或减法器,被布置为对实数加法器或减法器的输出进行操作。例如,为了执行线性变换计算,所有四个实数乘法器可用于执行四个实数乘法,而为了执行fft计算,所有四个实数乘法器可用于执行四个复数乘法。因此,可实时地配置相同的硬件以适应计算。

12、每个蝶形单元可包括:八个多路复用器,被布置为接收用于特定计算的输入,并且选择执行特定计算所需的输入;以及两个解多路复用器,被布置在所述两个实数加法器或减法器与所述两个复数加法器或减法器之间,以提供所述蝶形单元的输出。

13、蝶形引擎的存储器系统可包括串行到并行模块,所述串行到并行模块被布置为基于所述蝶形稀疏性图案访问用于特定计算的数据。

14、所述处理单元还可包括:第三处理器,用于接收来自第一处理器的输出并且用于使用接收的输出来执行后处理。第三处理器在本文中也称为“后处理器”。

15、如上所述,第一处理器可用于加速ml模型的任何层的计算,只要计算涉及具有蝶形稀疏性图案的矩阵即可。例如,当蝶形稀疏性图案被采用/应用于ml模型的注意力层和/或线性层时,第一处理器可用于加速这些层的计算。然而,当ml模型包括需要不涉及或使用具有蝶形稀疏性图案的稀疏矩阵的计算的至少一个注意力层时,处理单元还可包括:第二处理器,用于执行注意力机制所需的一些操作,即,用于执行这个/这些注意力层所需的操作。第二处理器在本文中也称为“注意力处理器”。也就是说,当ml模型甚至包括单个注意力层(其是vanilla或常规的(即,不使用蝶形稀疏性))时,第二处理器用于在模型被执行时执行所述注意力层。

16、第二处理器可包括多个注意力引擎,本文档来自技高网...

【技术保护点】

1.一种用于加速机器学习ML模型计算的电子装置(800),所述电子装置包括:

2.根据权利要求1所述的电子装置(800),其中,第一处理器(810)包括至少一个蝶形引擎(812),所述至少一个蝶形引擎(812)被配置为加速关于所述FFT和所述蝶形线性变换的涉及稀疏矩阵的计算,其中,所述至少一个蝶形引擎(812)包括存储器系统(816)和多个蝶形单元(814),其中,所述多个蝶形单元(814)中的每个蝶形单元包括至少一个实数乘法器、至少一个实数加法器、至少一个复数加法器、至少一个多路复用器和至少一个解多路复用器。

3.根据权利要求2所述的电子装置(800),其中,所述多个蝶形单元(814)中的每个蝶形单元被配置为基于所述至少一个输入矩阵和多个旋转因子来执行所述FFT和所述蝶形变换。

4.根据权利要求3所述的电子装置(800),其中:

5.根据权利要求2至4中任一项所述的电子装置(800),其中,所述多个蝶形单元(814)中的每个蝶形单元包括:

6.根据权利要求5所述的电子装置(800),其中,在执行FFT和蝶形线性变换之前设置用于所述八个多路复用器或所述两个解多路复用器的控制信号。

7.根据权利要求2至6中任一项所述的电子装置(800),其中,所述存储器系统(816)被配置为:

8.根据权利要求1至7中任一项所述的电子装置(800),还包括:

9.根据权利要求1至8中任一项所述的电子装置(800),其中,第一处理器(810)还被配置为在所述查询矩阵之前生成所述键矩阵和所述值矩阵;以及

10.根据权利要求9所述的电子装置(800),其中,第二处理器(820)还被配置为:当softmax运算的结果的至少一部分变得可用时,开始第二矩阵乘法。

11.一种用于加速机器学习ML模型计算的方法,所述方法包括:

12.根据权利要求11所述的方法,还包括:

13.根据权利要求11所述的方法,还包括:

14.根据权利要求11所述的方法,还包括:

15.一种包括指令的计算机可读存储介质,所述指令在由处理器执行时使所述处理器执行根据权利要求11至14所述的方法。

...

【技术特征摘要】
【国外来华专利技术】

1.一种用于加速机器学习ml模型计算的电子装置(800),所述电子装置包括:

2.根据权利要求1所述的电子装置(800),其中,第一处理器(810)包括至少一个蝶形引擎(812),所述至少一个蝶形引擎(812)被配置为加速关于所述fft和所述蝶形线性变换的涉及稀疏矩阵的计算,其中,所述至少一个蝶形引擎(812)包括存储器系统(816)和多个蝶形单元(814),其中,所述多个蝶形单元(814)中的每个蝶形单元包括至少一个实数乘法器、至少一个实数加法器、至少一个复数加法器、至少一个多路复用器和至少一个解多路复用器。

3.根据权利要求2所述的电子装置(800),其中,所述多个蝶形单元(814)中的每个蝶形单元被配置为基于所述至少一个输入矩阵和多个旋转因子来执行所述fft和所述蝶形变换。

4.根据权利要求3所述的电子装置(800),其中:

5.根据权利要求2至4中任一项所述的电子装置(800),其中,所述多个蝶形单元(814)中的每个蝶形单元包括:

6.根据权利要求5所述的电子装置(800),其中,在执...

【专利技术属性】
技术研发人员:范鸿翔周俊邦斯蒂利亚诺斯·威尼斯亚历山德罗斯·库尔里斯李罗森穆罕默德·斯·阿卜杜勒法塔赫
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1