一种基于通用神经网络处理器并行加速ResNet的实现方法技术

技术编号:30822624 阅读:22 留言:0更新日期:2021-11-18 12:08
本发明专利技术公开了一种基于通用神经网络处理器并行加速ResNet的实现方法,包括以下步骤:将数据集和权重从中央缓存区载入寄存器,进行卷积层的运算,将权重矩阵从寄存器载入矩阵乘法单元;以流数据的方式将数据集矩阵送入矩阵乘法单元,并将运算结果写回寄存器,重复这一过程直到全部的数据处理完毕;用向量压缩单元完成批标准化的运算;用SIMD运算单元完成线性整流的运算;用SIMD运算单元和向量压缩单元完成池化层的运算;用矩阵乘法单元完成全连接层的运算,结果写回到寄存器;将寄存器中的结果写回中央缓存区。采用矩阵乘法单元完成卷积层和全连接层的运算,具备最佳的性能和性能功耗比,实现更低的能源消耗,更短的模型收敛时间,更快的图像识别速度。更快的图像识别速度。更快的图像识别速度。

【技术实现步骤摘要】
一种基于通用神经网络处理器并行加速ResNet的实现方法


[0001]本专利技术涉及,尤其涉及一种基于通用神经网络处理器并行加速ResNet的实现方法。

技术介绍

[0002]残差网络“ResNet”是一种机器学习的模型,过去在进行深度网络训练时,存在差异梯度消失的问题,重复的矩阵乘法可能会使得结果与初始内容的差异梯度变小,随着网络的深入,模型的性能会达到饱和甚至最后出现下降的情况。“ResNet”解决了这一问题,通过建立一个捷径缓解了梯度消失的问题,使得我们的模型可以学习一个常值函数,以确保性能至少和之前一样而不会变差。 ResNet使得计算机图像识别实用化,并在生活中得到了广泛和重要的应用。随着深度神经网络技术的发展,神经网络的层数加深,梯度破碎的情形更加显著,为此采用ResNet技术缓解这个问题变得更加重要。
[0003]目前ResNet的一种常见部署方式是使用利用图形处理器(GPU)设备,因其并行计算的方式相较传统的串行计算的中央处理器(CPU)效率更高,性能功耗比更佳。然而对于使用GPU并行操作而言,有几个因素严重影响GPU设备的计算性能,其中包括内存的访问模式,如全局内容中的合并访问以及共享内存中的内存块冲突。
[0004]以其中的基本运算之一矩阵转置为例,该运算的本质是进行数据交换,通常GPU采用并行的方式处理数据,但是由于其全局内存之间的转存延迟高,影响了矩阵转置的整体效率。另一方面,ResNet网络主要由卷积层(Conv)、池化层(Pooling)和全连接层组成,其中还包含批标准化(Batch Norm)和线性整流(ReLU)的运算。遇到需要跳层的场合,则还有数据的叠加。在GPU上实现这些运算,需要分解成基本的标量乘法和加法,产生大量中间结果,频繁的读写内存,应用时效果并不好。

技术实现思路

[0005]本专利技术克服了现有技术的不足,提供一种基于通用神经网络处理器并行加速ResNet的实现方法。
[0006]为达到上述目的,本专利技术采用的技术方案为:一种基于通用神经网络处理器并行加速ResNet的实现方法,包括以下步骤:步骤S1:将数据集和权重从中央缓存区载入寄存器,进行卷积层的运算,将权重矩阵从寄存器载入矩阵乘法单元;以流数据的方式将数据集矩阵送入矩阵乘法单元,并将运算结果写回寄存器,重复这一过程直到全部的数据处理完毕。
[0007]步骤S2:用向量压缩单元完成批标准化的运算。
[0008]步骤S3:用SIMD运算单元完成线性整流的运算。
[0009]步骤S4:用SIMD运算单元和向量压缩单元完成池化层的运算。
[0010]步骤S5:用矩阵乘法单元完成全连接层的运算,同时将结果写回到寄存器中。
[0011]步骤S6:将所述寄存器中的结果写回中央缓存区。
[0012]本专利技术一个较佳实施例中,所述步骤S1中:所述卷积层的运算采用矩阵乘法单元完成。
[0013]本专利技术一个较佳实施例中,所述步骤S1中:所述卷积层中的卷积用数据集矩阵和权重矩阵的矩阵乘法实现。
[0014]本专利技术一个较佳实施例中,所述步骤S1中:采用SIMD运算单元代替矩阵乘法单元,完成矩阵的乘法部分。
[0015]本专利技术一个较佳实施例中,所述步骤S1中:采用向量压缩单元代替矩阵乘法单元,完成矩阵的加法部分。
[0016]本专利技术一个较佳实施例中,所述步骤S1中,当遇到大数据集的场合时,将数据集分成多个批次,以流数据的方式送入矩阵乘法单元,且数据运算和读写寄存器并行进行。
[0017]本专利技术一个较佳实施例中,所述步骤S2中:具体涉及的操作包括:向量元素求和以及向量求极值。
[0018]本专利技术一个较佳实施例中,所述步骤S4中:先用SIMD运算单元将矩阵压缩成一个行向量,再用向量压缩单元将行向量进一步压缩。
[0019]本专利技术一个较佳实施例中,所述ResNet网络的组成包括:卷积层、池化层以及全连接层。
[0020]本专利技术一个较佳实施例中,ResNet网络的组成还包括:矩阵乘法单元、向量压缩单元、SIMD运算单元。
[0021]本专利技术解决了
技术介绍
中存在的缺陷,本专利技术具备以下有益效果:
[0022](1)本专利技术采用矩阵乘法单元完成卷积层和全连接层的运算,能够提供最佳的性能和性能功耗比,同时,采用本技术在神经网络处理器上运行ResNet模型,每秒钟处理图像高达2750张,而先进GPU的性能仅为每秒870张,另一方面,通过该方法最终取得更佳的模型精度,实现更低的能源消耗,更短的模型收敛时间,更快的图像识别速度。
[0023](2)本专利技术能够将ResNet所需的运算高效的映射到神经网络处理器的数个专用加速单元上,且能够实现在通用神经网络处理器上编译和实现ResNet,编程方式简明灵活。另一方面,由于处理器已经为深度神经网络的学习进行优化,程序员只需将模型按层映射到处理器的相应处理单元,而无需考虑更细颗粒度的运算的优化。
[0024](3)本专利技术能够将数据集分成多个批次,当遇到大数据集的场合时,以流数据的方式送入运算单元,数据运算和读写寄存器并行进行,实现流水线式的时空映射,有效消除运算和内存读写的冲突,只需要将各层映射到针对其优化的运算单元上,而无需考虑更具体的数学运算和内存读写安排。
附图说明
[0025]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为本专利技术优选实施例的运算流程示意图。
具体实施方式
[0027]为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0028]在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用其他不同于在此描述的其他方式来实施,因此,本专利技术的保护范围并不受下面公开的具体实施例的限制。
[0029]如图1所示,一种基于通用神经网络处理器并行加速ResNet的实现方法,包括以下步骤:步骤S1:将数据集和权重从中央缓存区载入寄存器,进行卷积层的运算,将权重矩阵从寄存器载入矩阵乘法单元;以流数据的方式将数据集矩阵送入矩阵乘法单元,并将运算结果写回寄存器,重复这一过程直到全部的数据处理完毕。
[0030]步骤S2:用向量压缩单元完成批标准化的运算。
[0031]步骤S3:用SIMD运算单元完成线性整流的运算。
[0032]步骤S4:用SIMD运算单元和向量压缩单元完成池化层的运算。
[0033]步骤S5:用矩阵乘法单元完成全连接层的运算,同时将结果写回到寄存器中。
[0034]步骤S6:将寄存器中的结果写回本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于通用神经网络处理器并行加速ResNet的实现方法,其特征在于,包括以下步骤:步骤S1:将数据集和权重从中央缓存区载入寄存器,进行卷积层的运算,将权重矩阵从寄存器载入矩阵乘法单元;以流数据的方式将数据集矩阵送入矩阵乘法单元,并将运算结果写回寄存器,重复这一过程直到全部的数据处理完毕;步骤S2:用向量压缩单元完成批标准化的运算;步骤S3:用SIMD运算单元完成线性整流的运算;步骤S4:用SIMD运算单元和向量压缩单元完成池化层的运算;步骤S5:用矩阵乘法单元完成全连接层的运算,同时将结果写回到寄存器中;步骤S6:将所述寄存器中的结果写回中央缓存区。2.根据权利要求1所述的一种基于通用神经网络处理器并行加速ResNet的实现方法,其特征在于:所述步骤S1中:所述卷积层的运算采用矩阵乘法单元完成。3.根据权利要求1所述的一种基于通用神经网络处理器并行加速ResNet的实现方法,其特征在于:所述步骤S1中:所述卷积层中的卷积用数据集矩阵和权重矩阵的矩阵乘法实现。4.根据权利要求1所述的一种基于通用神经网络处理器并行加速ResNet的实现方法,其特征在于:所述步骤S1中:采用SIMD运算单元代替矩阵乘法单元,完成矩阵的乘法部分。5.根据权利要求...

【专利技术属性】
技术研发人员:杨龚轶凡闯小明郑瀚寻王润哲
申请(专利权)人:苏州仰思坪半导体有限公司
类型:发明
国别省市:

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

1