用于人工智能和机器学习的向量加速器制造技术

技术编号:31482830 阅读:20 留言:0更新日期:2021-12-18 12:17
本公开提供一种用于处理向量或矩阵运算的加速器。加速器包括:向量处理单元,包括多个计算单元,所述计算单元具有被配置为并行处理向量运算的电路;矩阵乘法单元,包括第一矩阵乘法算子、第二矩阵乘法算子和累加器,所述第一矩阵乘法算子和所述第二矩阵乘法算子具有被配置为处理矩阵运算的电路,所述累加器具有被配置为累加所述第一矩阵乘法算子和所述第二矩阵乘法算子的输出结果的电路;以及存储器,用于存储向量运算或矩阵运算的输入数据,所述存储器被配置为与所述向量处理单元和所述矩阵乘法单元通信。述矩阵乘法单元通信。述矩阵乘法单元通信。

【技术实现步骤摘要】
用于人工智能和机器学习的向量加速器
[0001]相关申请的交叉引用
[0002]本公开要求2020年8月17日提交的美国临时申请No.63/066,723的优先权权益,上述申请的全部内容通过引用合并于此。


[0003]本公开总体上涉及一种用于人工智能(AI)和机器学习(ML)的加速器,尤其涉及一种被配置为支持处理神经网络的加速器,所述神经网络需要大量数据(例如向量或矩阵等)运算。

技术介绍

[0004]人工智能和机器学习已广泛应用于各个领域。应用于人工智能或机器学习的神经网络通常需要处理大量的数据。然而,传统的中央处理单元(CPU)或图形处理单元(GPU)结构不是专门为处理大数据而设计的,也不是为处理包括向量或矩阵运算在内的神经网络而优化的,这些运算通常需要大量数据。提高处理消耗大量数据的神经网络的性能对于提高整体执行性能具有重要意义。

技术实现思路

[0005]参照以下描述和附图可以最佳地理解本公开,所述附图用于说明本公开实施例的用于人工智能和机器学习的向量加速器。
[0006]本公开的一个目的是实现提高处理神经网络的性能的加速器。
[0007]本公开实施例提供了一种用于处理向量或矩阵运算的加速器。所述加速器包括向量处理单元,所述向量处理单元包括多个计算单元,所述计算单元具有被配置为并行处理向量运算的电路;矩阵乘法单元,所述矩阵乘法单元包括第一矩阵乘法算子、第二矩阵乘法算子和累加器,所述第一矩阵乘法算子和所述第二矩阵乘法算子具有被配置为处理矩阵运算的电路,所述累加器具有被配置为累加所述第一矩阵乘法算子和所述第二矩阵乘法算子的输出结果的电路;以及存储器,用于存储向量运算或矩阵运算的输入数据,所述存储器被配置为与所述向量处理单元和所述矩阵乘法单元通信。
[0008]本公开实施例提供了一种用于在加速器上处理向量或矩阵运算的方法,所述加速器包括:向量处理单元,所述向量处理单元包括多个计算单元,所述计算单元具有被配置为并行处理向量运算的电路;矩阵乘法单元包括矩阵乘法算子,所述矩阵乘法算子具有被配置为处理矩阵运算的电路;存储器用于存储向量运算或矩阵运算的输入数据,并且所述存储器包括多个行,每个行被配置为存储可由所述多个计算单元或由所述矩阵乘法算子同时处理的数据。所述方法包括:将输入数据划分为多个数据段,并将每个数据段存储在所述多个行中的对应行中;将存储在所述多个行的第一行中的第一数据段提供给所述向量处理单元或所述矩阵乘法单元;以及由所述多个计算单元或由所述矩阵乘法算子对所述第一数据段同时执行向量运算或矩阵运算。
[0009]本公开实施例提供了一种设备,所述设备包括:主机单元;以及与所述主机单元通信耦合的加速器。所述加速器包括:向量处理单元,所述向量处理单元包括多个计算单元,所述计算单元具有被配置为并行处理向量运算的电路;矩阵乘法单元,所述矩阵乘法单元包括第一矩阵乘法算子、第二矩阵乘法算子和累加器,所述第一矩阵乘法算子和所述第二矩阵乘法算子具有被配置为处理矩阵运算的电路,所述累加器具有被配置为累加所述第一矩阵乘法算子和所述第二矩阵乘法算子的输出结果的电路;以及存储器,用于存储向量运算或矩阵运算的输入数据,并且所述存储器被配置为与所述向量处理单元和所述矩阵乘法单元通信。
[0010]通过上述方案,使得可以提高加速器处理神经网络的性能。
[0011]本公开实施例的附加特征和优点将在以下描述中部分阐述,并且部分将从描述中显而易见,或者可以通过实施例的实践来学习。本公开实施例的特征和优点可以通过权利要求中阐述的元件和组合来实现和获得。
[0012]应当理解,前面的一般描述和下面的详细描述都只是示例性的和解释性的,并且本公开的实施例不以此为限制。
附图说明
[0013]在下面的详细描述和附图中示出了本公开的实施例和各个方面。图中所示的各种特征没有按比例绘制。
[0014]图1A示出根据本公开实施例的示例性神经网络加速器结构。
[0015]图1B示出根据本公开实施例的示例性神经网络加速器核结构,所述神经网络加速器核结构包括向量加速单元。
[0016]图1C示出根据本公开实施例的示例性云系统的示意图,所述云系统包括神经网络加速器。
[0017]图2示出根据本公开实施例的示例性存储器结构和存储器布局。
[0018]图3示出根据本公开实施例的示例性向量处理单元(vector processing unit,VPU)结构。
[0019]图4示出根据本公开实施例的示例性通用矩阵乘法单元(general matrix multiplication unit,GEMM)结构。
[0020]图5A示出根据本公开实施例的示例性矩阵乘法运算。
[0021]图5B示出根据本公开实施例的示例性在矩阵乘法单元处理图5A所示的矩阵乘法运算的数据流。
[0022]图6示出根据本公开实施例的用于处理向量运算或矩阵运算的示例性流程图。
具体实施例
[0023]现在将详细说明本公开的实施例,其示例在附图中示出。下面的描述引用附图,其中不同附图中的相同数字表示相同或类似的元件,除非另有表示。在示例性实施例的以下描述中阐述的实现并不代表与本专利技术一致的所有实现。相反,它们仅仅是与所附权利要求中所述的与本专利技术有关的方面一致的装置和方法的示例。下面更详细地描述本公开实施例的特定方面。如果与通过引用合并的术语和/或定义相冲突,则以本文提供的术语和定义为
准。
[0024]人工智能和机器学习已广泛应用于各个领域。应用于人工智能或机器学习的神经网络通常需要处理大量的数据。然而,传统的中央处理单元(CPU)或图形处理单元(GPU)结构不是专门为处理大数据而设计的,也不是为处理包括向量或矩阵运算在内的神经网络而优化的,这些运算通常需要大量数据。提高处理消耗大量数据的神经网络的性能对于提高整体执行性能具有重要意义。
[0025]根据本公开的一些实施例,加速器系统可以支持处理消耗大量数据的神经网络。根据本公开的一些实施例,处理各种向量或矩阵运算的性能可以得到改善,这些运算包括矩阵乘法运算、矩阵元素运算、矩阵激活运算、向量

向量运算、向量

标量运算,等等。根据本公开的一些实施例,提供了一种加速器系统,所述加速器系统具有能够优化处理神经网络的性能的紧密流水线化的功能内单元和功能间单元。
[0026]图1A示出了根据本公开实施例的示例性神经网络加速器结构。在本公开的上下文中,神经网络加速器也可称为机器学习加速器或深度学习加速器。在一些实施例中,加速器100可称为神经网络处理单元(NPU)100。如图1A所示,加速器100可包括多个核102、命令处理器104、直接存储器访问(DMA)单元108、联合测试动作组(Joint Test Action Group,JTAG)/测试访问端(Test Access End,TAP)控制器110、外围接口112、总线114,等等。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理向量或矩阵运算的加速器,包括:向量处理单元,包括多个计算单元,所述计算单元具有被配置为并行处理向量运算的电路;矩阵乘法单元,包括第一矩阵乘法算子、第二矩阵乘法算子和累加器,所述第一矩阵乘法算子和所述第二矩阵乘法算子具有被配置为处理矩阵运算的电路,所述累加器具有被配置为累加所述第一矩阵乘法算子和所述第二矩阵乘法算子的输出结果的电路;以及存储器,用于存储向量运算或矩阵运算的输入数据,所述存储器被配置为与所述向量处理单元和所述矩阵乘法单元通信。2.根据权利要求1所述的加速器,其中,所述多个计算单元中的每一个计算单元具有被配置为并行处理向量运算的元素计算的电路。3.根据权利要求1所述的加速器,其中,所述存储器包括多个行,每一行被配置为存储由所述多个计算单元同时处理的数据,所述输入数据被划分为多个数据段,每个数据段被存储在所述多个行的对应行中。4.根据权利要求1所述的加速器,其中,所述输入数据包括权重矩阵和属性矩阵,所述第一矩阵算子被配置为在所述权重矩阵的第一权重块和所述属性矩阵的第一属性块被加载到所述第一矩阵乘法算子之后,计算所述第一权重块和所述第一属性块之间的第一矩阵乘法,在所述第一权重块被加载之后,所述第一属性块被加载;所述第二矩阵乘法算子被配置为在所述第一矩阵乘法算子完成所述第一矩阵乘法的计算之后,计算所述权重矩阵的第二权重块和所述属性矩阵的第二属性块之间的第二矩阵乘法,并且,在所述第一属性块被加载到所述第一矩阵乘法算子时加载所述第二权重块,在所述第一矩阵算子计算所述第一矩阵乘法时加载所述第二属性块。5.根据权利要求4所述的加速器,其中,所述累加器被配置为:依次获取所述第一矩阵乘法的第一结果和所述第二矩阵乘法的第二结果;以及计算所述第一结果和所述第二结果的总和并且生成累加结果。6.根据权利要求5所述的加速器,其中,所述累加器包括累加器缓冲器,所述累加器缓冲器被配置为当所述累加结果是部分结果时存储所述累加结果;所述输入数据还包括偏置数据,并且在所述第一权重块被加载到所述第一矩阵乘法算子之前,所述偏置数据被加载到所述累加器缓冲器。7.根据权利要求4所述的加速器,其中,所述矩阵乘法单元还包括第一接口和第二接口,所述第一接口被配置为加载所述权重矩阵,所述第二接口被配置为加载所述属性矩阵。8.一种用于在加速器上处理向量或矩阵运算的方法,所述加速器包括:向量处理单元,包括多个计...

【专利技术属性】
技术研发人员:薛菲韩伟王雨豪孙飞段立德李双辰牛迪民关天婵黄林勇杜朝阳郑宏忠
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1