用于人工智能设备的核心计算单元处理器及加速处理方法技术

技术编号:23344907 阅读:38 留言:0更新日期:2020-02-15 04:23
本发明专利技术公开了一种用于人工智能设备的核心计算单元处理器及处理方法,所述处理器设有多个神经元,其特征在于,所述神经元由多个乘加器组组成,所述乘加器组包括多个乘加器单元,所述乘加器单元具有累加、最大值和最小值的操作功能,各神经元内的乘加器组数量相同,各乘加器组内的乘加器单元数量相同,一个神经元内的乘加器组共享相同的输入激活数据,一个神经元内的乘加器组处理不同的内核权重数据,但不同神经元内相同位序的乘加器组处理同一内核权重数据,各个乘加器组之间没有数据转换。本发明专利技术以重复使用权重和激活的方式来安排内核,可快速地从缓存中获取数据并将它们广播到多个乘加器MAC中,以获得的更高的处理效率,降低功耗。

Core computing unit processor and acceleration processing method for AI devices

【技术实现步骤摘要】
用于人工智能设备的核心计算单元处理器及加速处理方法
本专利技术属于人工智能
,具体涉及一种用于人工智能设备的核心计算单元处理器及加速处理方法。
技术介绍
核心计算单元是AI(人工智能)设备的关键部件,现有用于人工智能的芯片包括CPU(中央处理器)、GPU(图像处理器)、TPU(张量处理器)等芯片,CPU需要大量的空间去放置存储单元和控制逻辑,相比之下计算能力只占据了很小的一部分,在大规模并行计算能力上极受限制,而更擅长于逻辑控制;为了解决CPU在大规模并行运算中遇到的困难,GPU应运而生,采用数量众多的计算单元和超长的流水线,善于处理图像领域的运算加速;TPU可以提供高吞吐量的低精度计算,用于模型的前向运算,相比GPU,TPU尽管计算能力略有逊色,但其功耗有所降低。通常GPU具有实现小矩阵乘法和加法的张量核,TPU具有脉动阵列以进行矩阵乘法,在AI的工作负载中,卷积和矩阵乘法是功耗最高的,而在现有的GPU和TPU中,编译器必须将卷积转换为一些矩阵乘法,然而这种转换效率不高,且有更多的功耗。
技术实现思路
针对现有技术的不足,本专利技术提供了一种用于人工智能设备的核心计算单元处理器及加速处理方法,其技术方案为:一种用于人工智能设备的核心计算单元处理器,设有多个神经元,其特征在于,所述神经元由多个乘加器组组成,所述乘加器组包括多个乘加器单元,所述乘加器单元具有累加、最大值和最小值的操作功能,各神经元内的乘加器组数量相同,各乘加器组内的乘加器单元数量相同,一个神经元内的乘加器组共享相同的输入激活数据,一个神经元内的乘加器组处理不同的内核权重数据,但不同神经元内相同位序的乘加器组处理同一内核权重数据,各个乘加器组之间没有数据转换。在上述方案的基础上,进一步改进或优选的方案还包括:所述处理器包括4个神经元,所述神经元由8个乘加器组组成,所述乘加器组包括4个乘加器单元。所述乘加器单元的输入端与权重寄存器、输入激活寄存器分别连接,乘加器单元内设有乘加器MAC、多个目标寄存器和与多个导出寄存器;所述目标寄存器与乘加器MAC连接,用于存储权重与输入激活数据的计算结果;所述导出寄存器与目标寄存器连接,且与目标寄存器一一对应,用于计算结果的导出。所述乘加器单元内设有4个导出寄存器和4个目标寄存器。所述处理器包括一缓存器L1,所述缓存器L1用于存储外部模块派发的输入激活数据和权重数据,所述输入激活寄存器、权重寄存器从所述缓存器L1中调用数据。所述外部模块为波张量分派器。一种基于如上所述的人工智能设备核心计算单元加速处理方法,其特征在于,包括以下步骤:所述乘加器单元处理的数据包括非零的权重数据及其在内核中的位置指数、非零的输入激活数据及其在特征图中的位置指数,不同的内核权重数据被分别映射到一个神经元中不同的乘加器组上,并播送到其它神经元内对应的乘加器组中;一个神经元内的乘加器组处理共享相同的输入激活数据,具有相同特征维度,但来自不同输入通道的输入激活数据在同一个乘加器组中进行累加处理,所述特征维度为输入激活数据在特征图上的位置。在所述乘加器单元中,权重数据乘以输入激活数据的结果会被累加或与前一个结果进行比较,以得到最大或最小的结果并存储在目标寄存器中。所述处理器设有4个神经元,所述神经元由8个乘加器组MAC4组成,所述MAC4包括4个乘加器单元,乘加器单元内设有乘加器MAC、4个目标寄存器与4个导出寄存器,目标寄存器与导出寄存器一一对应,所述乘加器MAC的输入端与权重寄存器、输入激活寄存器分别连接;所述目标寄存器与乘加器MAC的输出端连接,用于存储权重与输入激活数据的计算结果;所述导出寄存器与目标寄存器连接,用于计算结果的导出。所述加速处理方法的3x3内核的权重数据与输入激活数据匹配算法,包括以下步骤:设一个乘加器组MAC4包括4个相同的乘加器单元MACn,对于一个有16个目的地的波张量,则每个乘加器单元MACn可处理其中的4个,所以一个乘加器单元MACn包括4个目标寄存器OAmn,n和m为0到3中的一个自然数,即每个乘加器组内分别设有一个4行4列的目标寄存器阵列,m和n分别表述每个目标寄存器在该陈列中的行和列;权重数据及其在内核中的位置指数(i,j)会被一个乘加器组MAC4接收,所述乘加器组MAC4也将接收放在一个6x6特征图数组中的输入激活数据与它们在数组中的位置指数(s,t),所述i和j分别表示3x3内核数组的某一行和列,所述s和t分别表示6x6特征图数组的某一行和列,i、j为0到2中的一个自然数;s、t为0到5中的一个自然数;对于每个权重数组元素W(i,j),位置满足条件0<=(s-i)<=3和0<=(t-j)<=3的所有输入激活数据,都和所述W(i,j)一起发送给MAC(t-j),它们相乘,其结果通过目标寄存器(s-j)处理,这种处理根据用户需求是累加、最大值或最小值,t-j、s-j为0到3中的一个自然数,s-j的计算结果表示目标寄存器的行坐标,t-j的计算结果表示目标寄存器所在列坐标,或者说MACn的n值。有益效果:本专利技术一种用于人工智能设备的核心计算单元处理器及方法,以重复使用权重和激活的方式来安排内核,可快速地从缓存中获取数据并将它们广播到多个乘加器MAC中,以获得的更高的处理效率,降低功耗。附图说明图1为人工智能特征图和内核和计算公式;图2为矩阵乘法示意图;图3为本实施例引擎的流程图;图4为本实施例引擎架构的示意图;图5为计算处理单元的架构图;图6为本专利技术核心计算单元处理器的结构示意图;图7为乘加器组MAC4的结构示意图;图8为匹配W和IA的算法示意图。具体实施方式为了阐明本专利技术的技术目的和工作原理,下面结合附图与具体实施例对本专利技术作进一步的介绍。如图1所示,人工智能特征图通常可以描述为四维张量[N,C,Y,X],这4个维度分别为,特征图维度:X、Y;通道维度:C;批次维度:N。内核可以是四维张量[K,C,S,R],AI工作是给出输入特征图张量和内核张量,我们根据图1中的公式计算输出张量[N,K,Y,X]。人工智能中的另一个重要操作是矩阵乘法,这个操作也可以映射到特征图处理中,如图2所示,矩阵A可以映射到张量[1,K,1,M],矩阵B映射到张量[N,K,1,1],结果C是张量[1,N,1,M]。还有其他的操作,比如规范化、激活,这些可以在通用硬件运算器中支持。本实施例中,我们提出另一个硬件架构,可有效且更高效地支持这些操作,图4是本实例设计的架构的引擎级架构图,我们将之称作“人工大脑架构”,该架构对于多种计算能力要求是完全可扩展的。一般情况下,在前叶引擎(FrontalEngine,简称FE)中,张量被分成若干组,这些组会被送入顶叶引擎(ParietalEngine,简称PE)。每个顶叶引擎根据用户定义的输入特征渲染器(IF-Shader)处理这些组,并将本文档来自技高网...

【技术保护点】
1.一种用于人工智能设备的核心计算单元处理器,设有多个神经元,其特征在于,所述神经元由多个乘加器组组成,所述乘加器组包括多个乘加器单元,所述乘加器单元具有累加、最大值和最小值的操作功能,各神经元内的乘加器组数量相同,各乘加器组内的乘加器单元数量相同,一个神经元内的乘加器组共享相同的输入激活数据,一个神经元内的乘加器组处理不同的内核权重数据,但不同神经元内相同位序的乘加器组处理同一内核权重数据,各个乘加器组之间没有数据转换。/n

【技术特征摘要】
1.一种用于人工智能设备的核心计算单元处理器,设有多个神经元,其特征在于,所述神经元由多个乘加器组组成,所述乘加器组包括多个乘加器单元,所述乘加器单元具有累加、最大值和最小值的操作功能,各神经元内的乘加器组数量相同,各乘加器组内的乘加器单元数量相同,一个神经元内的乘加器组共享相同的输入激活数据,一个神经元内的乘加器组处理不同的内核权重数据,但不同神经元内相同位序的乘加器组处理同一内核权重数据,各个乘加器组之间没有数据转换。


2.根据权利要求1所述的一种用于人工智能设备的核心计算单元处理器,其特征在于,包括4个神经元,所述神经元由8个乘加器组组成,所述乘加器组包括4个乘加器单元。


3.根据权利要求1或2所述的一种用于人工智能设备的核心计算单元处理器,其特征在于,所述乘加器单元的输入端与权重寄存器、输入激活寄存器分别连接,乘加器单元内设有乘加器MAC、多个目标寄存器和与多个导出寄存器;所述目标寄存器与乘加器MAC连接,用于存储权重与输入激活数据的计算结果;所述导出寄存器与目标寄存器连接,且与目标寄存器一一对应,用于计算结果的导出。


4.根据权利要求3所述的一种用于人工智能设备的核心计算单元处理器,其特征在于,所述乘加器单元内设有4个导出寄存器和4个目标寄存器。


5.根据权利要求3所述的一种用于人工智能设备的核心计算单元处理器,其特征在于,所述处理器包括一缓存器L1,所述缓存器L1用于存储外部模块派发的输入激活数据和权重数据,所述输入激活寄存器、权重寄存器从所述缓存器L1中调用数据。


6.根据权利要求5所述的一种用于人工智能设备的核心计算单元处理器,其特征在于,所述外部模块为波张量分派器。


7.一种基于如权利要求1所述处理器的人工智能设备核心计算单元加速处理方法,其特征在于,包括以下步骤:
所述乘加器单元处理的数据包括非零的权重数据及其在内核中的位置指数、非零的输入激活数据及其在特征图中的位置指数,不同的内核权重数据被分别映射到一个神经元中不同的乘加器组上,并播送到其它神经元内对应的乘加器组中;一个神经元内的乘加器组处理共享相同的输入激活数据,具有相同特征维度,但来自不同输入通道的输入激活数据在同一个乘加器组中进...

【专利技术属性】
技术研发人员:李云鹏倪岭邹云晓邵平平郑金山
申请(专利权)人:南京天数智芯科技有限公司
类型:发明
国别省市:江苏;32

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

1