一种计算单元、阵列、模块、硬件系统技术方案

技术编号:22708894 阅读:24 留言:0更新日期:2019-11-30 13:11
本实用新型专利技术公开了一种计算单元、阵列、模块、硬件系统,属于人工智能算法硬件加速领域。针对现有技术中存在的稀疏化卷积神经网络算法数据庞大,计算时间长的问题,本实用新型专利技术在计算单元设计了一种无效数据移除机制,可将无效的权重或输入图像数据移除,减少计算时间,降低乘法和累加计算带来的功耗;设计一种多通道子计算单元,采用复用累加通道机制完成卷积操作,降低资源消耗;在无效数据移除的情况下,本实用新型专利技术还设计了一种供数轮转机制,可保持计算单元的供数充足;本实用新型专利技术因功耗低、面积小、吞吐率高、识别速度快,适用于移动端的应用,如智能家居、智慧城市,能够高效完成车牌识别、人脸识别等。

A computing unit, array, module and hardware system

The utility model discloses a computing unit, an array, a module and a hardware system, belonging to the field of artificial intelligence algorithm hardware acceleration. In view of the problem of large data and long calculation time of sparse convolutional neural network algorithm in the prior art, the utility model designs an invalid data removal mechanism in the calculation unit, which can remove the invalid weight or input image data, reduce the calculation time, reduce the power consumption brought by multiplication and accumulation calculation; designs a multi-channel sub calculation unit, which adopts multiplexing accumulation Adding channel mechanism to complete convolution operation and reduce resource consumption; in the case of invalid data removal, the utility model also designs a rotation mechanism of supply, which can keep sufficient supply of computing unit; the utility model is suitable for mobile applications, such as smart home and smart city, because of low power consumption, small area, high throughput and fast recognition speed, which can efficiently complete license plate Recognition, face recognition, etc.

【技术实现步骤摘要】
一种计算单元、阵列、模块、硬件系统
本专利技术涉及人工智能算法硬件加速领域,特别涉及一种计算单元、阵列、模块、硬件系统。
技术介绍
卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种前馈神经网络,在人工智能领域有着广泛的应用,包括图像识别、大数据处理、自然语言处理等。为了提高算法的精度,卷积神经网络的模型结构愈加复杂,深度不断加大,由此所带来的模型参数庞大、计算时间过长阻碍了该算法在终端的部署,如智能家居、智能交通等物联网应用。这些问题引起了对卷积神经网络的算法和硬件设计的深入研究,以追求低功耗和高吞吐量。在算法上,一种方法是参数剪枝:结构化剪枝和非结构化剪枝,带来了权重的稀疏化,ReLU等激活函数也带来了每层输出激活图像数据的稀疏化。另一种方法是参数共享:使用特定量化方法将网络训练为量化神经网络,如二值化或三值化网络,并确保其算法的效果不会影响应用的实现。近些年来针对稀疏化卷积神经网络算法的硬件设计越来越多,但相关研究大多集中在常规的稀疏卷积神经网络的硬件设计,如对权重矩阵和输入图像矩阵进行编码和解码,而本专利技术是针对稀疏化的量化卷积神经网络设计一种硬件实现方法,常规的编码技术所带来的代价远大于提升的效果本身。中国专利申请,申请号CN201811486547.1,公开日2019年5月3日,公开了一种针对硬件实现稀疏化卷积神经网络推断的加速方法,包括面对稀疏硬件加速架构的分组剪枝参数确定方法、针对稀疏硬件加速架构的分组剪枝训练方法和针对稀疏化卷积神经网络前向推断的部署方法:根据硬件架构中乘法器数量确定分组剪枝的分组长度和剪枝率,基于量级裁剪方式将压缩率以外的权值进行裁剪,通过增量训练方式提升剪枝后的网络准确率及压缩率,剪枝过的网络经微调后保存非剪枝位置的权值和索引参数并送入硬件架构下的计算单元中,计算单元同时获取分组长度的激活值完成稀疏网络前向推断。本专利技术基于硬件架构出发设定算法层面的剪枝参数与剪枝策略,有益于降低稀疏加速器的逻辑复杂度提高稀疏加速器前向推断的整体效率。该专利技术虽也从硬件架构出发提升整体效率,但没有对无效数据进行处理,功耗高,计算时间不够优化。
技术实现思路
1.要解决的技术问题针对现有技术中存在的稀疏化卷积神经网络算法数据庞大,计算时间长,目前研究大多集中在相关硬件设计,本专利技术提供了一种计算单元、阵列、模块、硬件系统,可灵活支持多种二值化或三值化稀疏卷积神经网络的实现,资源利用率高、吞吐率大、功耗低、面积小,适用于终端的应用实现。2.技术方案本专利技术的目的通过以下技术方案实现。第一方面,提供了一种计算单元,包括一个无效数据模块、一个缓冲单元组、一个加法器、一个多通道部分、寄存器组以及多个选通器,输入数据经过无效数据模块处理后传输到缓冲单元组,缓冲单元组对数据缓冲后提供有效数据源给加法器,数据通过加法器后经过多通道部分和寄存器组,最后数据分为正权值部分和负权值部分再通过选通器传输到加法器。更进一步的,无效数据模块判断输入数据是否为零,输入数据为零判为无效数据跳过计算单元。更进一步的,无效数据模块的输入数据为系统输入图像数据或权重数据。更进一步的,缓冲单元组包含多个子缓冲单元,用于缓冲经过无效数据消除模块的数据,输入数据经过子缓冲单元后通过供数轮转机制确保向加法器提供足够的有效数据源。在没有无效数据消除模块的消除机制和供数轮转工作机制的情况时,数据被以一种十分常规的方法进行处理:输入图像数据和权重传入乘法器进行相乘,乘法结果进行累加。虽然这些结果对最后的结果不会造成任何影响,但是这些无效数据依然进行乘法和累加操作,造成了资源、时间和能量的消耗。更进一步的,针对二值或三值权重的网络特性,所述计算单元采用了一种可重构复用累加通道的机制进行乘法累加操作,多通道部分和寄存器组用于寄存对应每一个权重的部分和累加结果,并根据权重的值来选择向加法器提供的累加源数据,选通器用于根据权重的值来重构加法器的累加通路。第二方面,提供一种阵列,所述阵列由计算单元呈阵列分布,阵列有Z片,每一片分别有Y行构成,每一行有X个计算单元;形成一个X*Y*Z的三维阵列,且所述阵列是一个三维卷积计算阵列,用于进行乘累加计算。更进一步的,阵列的每一行计算单元接收相同的数据,阵列的每一列的计算单元接收相同的相同的数据,每一行接收的数据为输入图像数据,每一列输入数据为卷积核的权重数据。第三方面,提供一种模块,包括所述阵列,还包括一个聚合处理单元,所述聚合处理单元处理计算阵列卷积计算的部分和的加法计算、标准化层处理和激活函数处理。更进一步的,聚合处理单元包括多个子聚合处理单元,每个子聚合处理单元包括两个常数乘法器和一个加法器,每个子聚合处理单元对应处理所述阵列一片计算单元输出的数据。所述阵列计算出的部分和通过聚合处理单元进行加法运算,得到最后乘累加的结果;并根据标准化层的线性化特征,将标准化层的计算合并于部分和累加部分。第四方面,提供了一种硬件系统,包括片上设备和片外设备,片上设备包括所述模块,为计算模块;片上设备还包括控制模块、配置模块、存储模块、总线接口,片外设备包括CPU和外部存储模块;片外设备的CPU与片上设备的控制模块电连接,片外设备的外部存储器和片上设备的存储模块电连接,片上设备的控制模块与片上设备的配置模块、存储模块和计算模块电连接,片上设备的配置模块和片上设备的存储模块和计算模块电连接,片上设备的存储模块和计算模块电连接。一种硬件系统的实现方法,片外设备的CPU的指令通过总线接口读入到片上设备的控制模块进行解码,解码后的配置指令传输入片上设备的配置模块中,数据通路根据配置信息进行重构;片上设备的控制模块发出的执行指令控制每个模块的任务执行开始或结束;片外设备的存储单元的数据由总线接口传输入片上设备的存储模块;片上设备的计算模块根据接收到的执行指令和配置指令,从片上设备的存储单元读取数据进行计算,计算结果按指令存回片上设备的存储单元。3.有益效果相比于现有技术,本专利技术的优点在于:(1)本专利技术设计了一种无效数据移除机制,相较于常规的数据处理方法,针对二值或三值卷积神经网络的稀疏特性,可将无效的权重或输入图像数据移除,减少了计算的时间,降低乘法和累加计算带来的功耗,减少了资源、时间和能量的消耗;(2)本专利技术设计了一种多通道子计算单元,针对二值或三值权重低比特的特性,采用可重构复用累加通道机制进行卷积操作,使用寄存器组用于寄存不同通道对应每一个权重的部分和累加结果,并根据权重的值来选择向加法器提供的累加源数据,选通器用于根据权重的值来重构加法器的累加通路,降低资源消耗;(3)在无效数据移除的情况下,本专利技术还设计了一种供数轮转机制,供数轮转机制始终保持缓冲单元组有子缓冲单元在接收数据,有一个子缓冲单元在向复用累加通道提供有效数据,保持计算单元的供数充足;(4)本专利技术提出了一种硬件优化算法,它将卷积和标准化层的算法根据其共同的线性特征合并在一起,简化后执本文档来自技高网
...

【技术保护点】
1.一种计算单元,其特征在于:包括一个无效数据模块、一个缓冲单元组、一个加法器、一个多通道部分、寄存器组以及多个选通器,输入数据经过无效数据模块处理后传输到缓冲单元组,缓冲单元组对数据缓冲后提供有效数据源给加法器,数据通过加法器后经过多通道部分和寄存器组,最后数据分为正权值部分和负权值部分再通过选通器传输到加法器。/n

【技术特征摘要】
1.一种计算单元,其特征在于:包括一个无效数据模块、一个缓冲单元组、一个加法器、一个多通道部分、寄存器组以及多个选通器,输入数据经过无效数据模块处理后传输到缓冲单元组,缓冲单元组对数据缓冲后提供有效数据源给加法器,数据通过加法器后经过多通道部分和寄存器组,最后数据分为正权值部分和负权值部分再通过选通器传输到加法器。


2.根据权利要求1所述的一种计算单元,其特征在于,无效数据模块判断输入数据是否为零,输入数据为零判为无效数据跳过计算单元。


3.根据权利要求2所述的一种计算单元,其特征在于,无效数据模块的输入数据为系统输入图像数据或权重数据。


4.根据权利要求1所述的一种计算单元,其特征在于,缓冲单元组包含多个子缓冲单元,用于缓冲经过无效数据消除模块的数据,输入数据经过子缓冲单元后通过供数轮转机制确保向加法器提供足够的有效数据源。


5.根据权利要求1所述的一种计算单元,其特征在于,所述计算单元采用了一种可重构复用累加通道的机制进行乘法累加操作,多通道部分和寄存器组用于寄存对应每一个权重的部分和累加结果,并根据权重的值来选择向加法器提供的累加源数据重构累加通道,选通器用于根据权重的值来重构加法器的累加通路。


6.一种阵列,包括权利要求1-5任一所述的计算单元,其特征在于,所述阵列由计算单元呈阵列分布,阵列有Z片,每一片...

【专利技术属性】
技术研发人员:李丽陈沁雨傅玉祥曹华锋何书专
申请(专利权)人:南京宁麒智能计算芯片研究院有限公司
类型:新型
国别省市:江苏;32

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

1