目前,深度神经网络技术已成为人工智能领域的代表性算法。
基于深度神经网络技术的字符识别,图像分类或语音识别等关键技术已广泛用于搜索引擎和智能手机等产品中。
其中,最有效和广泛使用的神经网络算法是卷积神经网络算法,称为“卷积运算”。
在现有技术中,CNN算法的核心计算单元是乘法和加法运算,乘法累加器阵列经常用于矩阵乘法运算,并且可以将卷积运算转换为矩阵乘法运算。
因此,业界广泛使用MAC(乘法累加器)阵列作为计算核心的专用加速硬件,例如现场可编程门阵列(FPGA),专用集成电路(ASIC)等,以加快卷积运算的速度。
操作。
但是,当前的卷积计算也存在一些问题。
一方面,当MAC阵列中有多个卷积窗口同时执行卷积操作时,这些卷积窗口分布在MAC阵列中的不同位置,这使得MAC阵列的利用率非常低。
另一方面,有大量的重复数据从RAM输入到MAC阵列,这将增加RAM访问的次数。
为了解决这个问题,华为发明了在同一条数据总线上集成CPU,RAM和卷积运算芯片的AI芯片。
2016年12月29日,华为发明了一种名为“卷积运算芯片和通信设备”的AI芯片。
“发明专利(申请号:201611243272.X),申请人是华为机械有限公司。
根据该专利的当前公开信息,让我们看一下华为的新型架构AI芯片。
上图是该专利中发明的硬件设备的示意性框架图。
硬件体系结构包括中央处理单元100,双倍速率同步动态随机存取存储器(DDR SDRAM)200和卷积运算芯片300。
CPU用于控制卷积运算芯片开始卷积运算,以及DDR SDRAM用于向卷积运算芯片的数据缓冲模块输入多个卷积数据和多个卷积参数,然后由卷积运算芯片根据这些数据完成卷积。
产品运作。
当获得运算结果时,运算结果将被写回到DDR SDRAM的预设存储器地址,并且将通知CPU同时完成运算以从存储器地址中提取结果数据。
上图是上述帧中卷积运算芯片的结构示意图。
该卷积运算芯片包括数据缓冲器模块310,M×N乘法累加器阵列320,输出控制模块330和阵列控制模块340。
数据缓冲器模块用于传输多个卷积数据和用于卷积运算的卷积参数。
然后,将数据加到累加累加器中的第一乘法和累加窗口中,并由数据缓冲器模块根据第一卷积参数矩阵确定卷积参数,控制器还将这种数据缓冲器集成到运算单元中,从而减少了运算量。
访问RAM,从而降低了RAM的访问压力。
其中,M * N乘法累加器是计算芯片的核心计算组件,并且这种M * N结构设计方法也专门针对卷积运算而设计。
具体结构如下图所示。
可以看出,该乘法累加器包括M * N个处理单元,每两行的处理单元之间还有一个倾斜的数据传输通道,比传统的矩阵数据传输通道更灵活。
更好地应用于各种操作的AI芯片。
第一个乘法和累加窗口可以对数据执行乘法运算,然后执行加法运算以获得卷积结果,最后输出控制模块输出卷积神经网络的运算结果以完成AI芯片中的任务。
在该专利中,为了尽可能提高MAC阵列的利用率和卷积运算的效率,阵列控制模块根据第一卷积参数矩阵的行数和行数来确定第一乘法。
第一个卷积数据数组数量