递归神经网络的多计算单元粗粒度可重构系统及方法技术方案

技术编号:15540650 阅读:83 留言:0更新日期:2017-06-05 10:25
本发明专利技术公开一种面向递归神经网络LSTM的多计算单元粗粒度可重构系统及方法,系统的多矩阵积偏置和计算阵列,用于实现递归神经网络中多个矩阵向量积的计算及累加的运算,由控制信号控制进行加偏置计算,输出值经由输出缓存单元输出;激活拟合计算阵列,用于实现递归神经网络LSTM中激活函数的分段线性拟合计算功能,当输入值进入输入缓存单元,激活拟合计算单元由控制信号控制进行相应的激活函数分段线性拟合计算,输出值经由输出缓存单元输出;向量计算阵列,用于实现向量按维相乘和向量加法计算,乘法单元计算完毕后,由控制信号控制将数据传输到向量加法单元或直接输出;本发明专利技术提高了可重构系统的并行度、计算速度和阵列利用率。

Coarse cell reconfigurable system and method for multi computation unit of recurrent neural network

The invention discloses a method for recurrent neural network multi LSTM computing unit coarse-grained reconfigurable computing system and method, bias and array matrix product system, used for calculation and accumulation of multiple matrix vector product of recurrent neural network in operation is controlled by a control signal of biased calculation, the output value from the output cache the output unit activation; fitting calculation for array, recurrent neural network LSTM activation function piecewise linear fitting function, when the input value into the input buffer unit, activate the fitting calculation unit is composed of a control signal to control the activation function of the piecewise linear fitting calculation, the output value of output via an output buffer unit; vector calculation for array. According to the calculation of dimension vector multiplication and vector addition, multiplication calculation is completed, is controlled by a control signal to transmit data The invention can improve the parallelism, the computation speed and the array utilization rate of the reconfigurable system.

【技术实现步骤摘要】
递归神经网络的多计算单元粗粒度可重构系统及方法
本专利技术涉及一种面向递归神经网络LSTM的多计算单元粗粒度可重构系统及方法,属于嵌入式可重构系统领域。
技术介绍
近年来,随着微电子技术、计算机技术的发展,尤其是大规模高性能的可编程器件的出现、软硬件设计方法和设计工具上的改进,实时电路重构技术逐渐成为国际上计算系统研究中的一个新热点。它的出现使过去传统意义上硬件和软件的界限变得模糊,让硬件系统软件化。实时电路重构的本质是利用可编程器件可多次重复配置逻辑状态的特性,在运行时根据需要动态改变系统的电路结构,从而使系统兼具灵活、简捷、硬件资源可复用、易于升级等多种优良性能。现有的神经网络硬件计算加速方法主要有GPU、FPGA或ASIC加速芯片。GPU计算具有极高的并行性,但是利用GPU并行计算需要的程序代码更加复杂,并行程序的进程管理也增加了工作量,且GPU计算所需功耗大;FPGA灵活性强,提高了数字电路重复利用性功耗高,功耗同样较大;ASIC功耗及面积开销最小,计算速度最快,但投片价格高,从设计到使用需要很长时间。神经网络,尤其是递归神经网络LSTM中包含大量矩阵及向量运算,且网络结构多变,对电路的并行计算能力和电路灵活性具有很高的要求,粗粒度可重构芯片的优点是硬件设计的实现基于软件的灵活性,保持了传统的基于硬件方法的执行速度,及体系结构可变的特点,很好地适应了递归神经网络LSTM的计算要求,相对于ASIC来说,设计简单,开发周期短,相对于GPU和FPGA来说,在保留了计算并行度和电路灵活性的基础上,降低了功耗开销。
技术实现思路
专利技术目的:针对现有技术中存在的问题,本专利技术在传统的粗粒度可重构系统的结构基础上,提供一种面向递归神经网络LSTM的多计算单元粗粒度可重构系统及方法,本专利技术阵列利用率高,并行度好。技术方案:一种面向递归神经网络LSTM的多计算单元粗粒度可重构系统,包括片上共享存储单元、数据交换存储单元、片上配置信息存储器、重构控制器、多矩阵积偏置和计算阵列、激活拟合计算阵列、向量计算阵列;完成递归神经网络LSTM的计算;多矩阵积偏置和计算阵列从外部存储器获取递归神经网络LSTM的权重参数和网络输入,计算结果传输至激活拟合计算阵列进行激活操作,得到LSTM网络各门值,再由向量计算阵列计算最终输出;所述多矩阵积偏置和计算阵列,用于实现递归神经网络LSTM中多个矩阵向量积的计算及累加的运算,在累加计算完成后,由重构控制器输出的控制信号控制进行加偏置计算,输出值经由多矩阵积偏置和计算阵列的输出缓存单元输出;所述激活拟合计算阵列,用于实现递归神经网络LSTM中激活函数的分段线性拟合计算功能,当输入值进入激活拟合计算阵列的输入缓存单元,激活拟合计算阵列的激活拟合计算单元由重构控制器输出的控制信号控制进行相应的激活函数分段线性拟合计算,输出值经由激活拟合计算阵列的输出缓存单元输出;所述向量计算阵列,用于实现向量按维相乘和向量加法计算,向量计算阵列的乘法单元计算完毕后,由重构控制器输出的控制信号控制将数据传输到向量加法单元或直接输出到向量计算阵列的输出缓存单元;所述片上共享存储单元,用于实现片上数据的存储;所述数据交换存储单元,用于实现阵列间数据的交换;所述片上配置信息存储器,用于实现配置信息的存储;所述重构控制器,用于实现可重构阵列的配置控制。作为优选,为了提高递归神经网络LSTM中的大规模矩阵积偏置和计算的并行度,尽可能提高阵列利用率,需要针对递归神经网络LSTM的数据流图特点,设计合理的阵列结构与工作流程。所述多矩阵积偏置和计算阵列为多个,多个多矩阵积偏置和计算阵列并行工作,每个多矩阵积偏置和计算阵列包括权值缓存单元、偏置缓存单元、输入寄存器、矩阵向量积计算单元、累加计算单元、累加寄存器;权值缓存单元,用于权值数据的输入,带宽为d*16bit,d为神经网络每层的LSTM单元个数;偏置缓存单元,用于偏置数据的输入,最大存储量为N*16bit,N为所述可重构系统并行计算的LSTM单元数;输入寄存器,用于输入向量的存储,最大存储量为d*16bit;矩阵向量积计算单元,从权值缓存单元和输入寄存器读取所需计算数据,用于计算N行d列矩阵和d维向量的积;累加计算单元,根据不同的控制信号,用于计算多个矩阵向量积的累和或用于计算累加值和偏置值的和;累加寄存器,用于累加值的存储,最大存储量为N*16bit;输出缓存单元,用于累加计算单元最终计算结果数据的输出,带宽为N*16bit。作为优选,为了实现激活函数的计算功能,设计专用的激活拟合计算阵列及存储单元。所述激活拟合计算阵列为多个,多个激活拟合计算阵列并行工作,每个激活拟合计算阵列包括输入缓存单元、多个激活拟合计算单元、输出缓存单元和配置广播单元;激活拟合计算阵列用于门值的激活计算,从外部存储器中读取的未经激活的门值,存储在激活输入缓存单元中,以供激活拟合计算单元进行激活拟合计算,计算结果经由激活输出缓存单元输出;输入缓存单元,用于权值数据的输入,带宽为2N*16bit;输出缓存单元,用于数据的输出,带宽为2N*16bit;2N个激活拟合计算单元,根据不同的控制信号,通过多路选择器选择不同的计算通路,用于并行计算相应的16位定点数的激活函数的线性分段拟合值;配置广播单元,将配置信号广播输送至所有计算单元。作为优选,为了进一步简化激活函数的计算,减少可重构芯片功耗和面积,提高计算速度和并行度,需要选取合理的拟合计算策略和实现方法,所述激活拟合计算单元包括输入寄存器、正负判断单元、绝对值计算单元、寄存器单元、区间判断单元、系数查找匹配单元、算术逻辑单元、多路选择输出单元和输出缓存单元;激活拟合计算单元用于激活函数的分段线性拟合计算,未经激活的门值存储于输入寄存器中,绝对值计算单元得到门值的绝对值,存储在绝对值寄存器单元中,经由绝对值区间判断单元判断所处区间,系数查找匹配单元根据不同的控制信号及区间,通过查找表选取相应的线性分段拟合系数,输入至激活算数逻辑单元进行线性分段拟合的计算,多路选择输出单元根据门值正负判断单元的控制信号,选择性地输出算术逻辑单元的计算结果,最终结果经由输出缓存单元输出;输入寄存器,用于输入数据的存储,带宽为16bit;正负判断单元,用于输入数据的正负判断;绝对值计算单元,用于计算数据的绝对值;寄存器单元,用于计算数据绝对值的存储,最大存储量为16bit;区间判断单元,用于判断数据所处的区间;系数查找匹配单元,根据不同的控制信号及数据所处的区间,通过查找表输出相应激活函数的线性分段拟合系数;算术逻辑单元,用于线性分段拟合的计算;多路选择输出单元,根据不同的正负判断信号,输出相应的数据;输出缓存单元,用于数据的输出,带宽为16bit。作为优选,为了快速完成递归神经网络LSTM中大规模且分散的向量计算,设计了计算速度快、灵活性高专用向量计算阵列。所述向量计算阵列包括输入缓存单元、乘法单元、向量加法单元、累加寄存器、输出缓存单元;向量计算阵列用于计算最终的神经网络输出,输入缓存单元从外部存储器中读取各激活门值数据,向量乘法单元、向量加法单元和向量累加寄存器完成相应的向量计算,计算结果经由向量输出缓存单元输出;输入缓存单元,用于输入向量数据,带宽为N*16b本文档来自技高网...
递归神经网络的多计算单元粗粒度可重构系统及方法

【技术保护点】
一种面向递归神经网络LSTM的多计算单元粗粒度可重构系统,包括片上共享存储单元、数据交换存储单元、片上配置信息存储器、重构控制器,其特征在于,还包括:多矩阵积偏置和计算阵列、激活拟合计算阵列、向量计算阵列,完成递归神经网络LSTM的计算;多矩阵积偏置和计算阵列从外部存储器获取递归神经网络LSTM的权重参数和网络输入,计算结果传输至激活拟合计算阵列进行激活操作,得到LSTM网络各门值,再由向量计算阵列计算最终输出。

【技术特征摘要】
1.一种面向递归神经网络LSTM的多计算单元粗粒度可重构系统,包括片上共享存储单元、数据交换存储单元、片上配置信息存储器、重构控制器,其特征在于,还包括:多矩阵积偏置和计算阵列、激活拟合计算阵列、向量计算阵列,完成递归神经网络LSTM的计算;多矩阵积偏置和计算阵列从外部存储器获取递归神经网络LSTM的权重参数和网络输入,计算结果传输至激活拟合计算阵列进行激活操作,得到LSTM网络各门值,再由向量计算阵列计算最终输出。2.如权利要求1所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述多矩阵积偏置和计算阵列,用于实现递归神经网络LSTM中多个矩阵向量积的计算及累加的运算,在累加计算完成后,由重构控制器输出的控制信号控制进行加偏置计算,输出值经由多矩阵积偏置和计算阵列的输出缓存单元输出。3.如权利要求1所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述激活拟合计算阵列,用于实现递归神经网络LSTM中激活函数的分段线性拟合计算功能,当输入值进入激活拟合计算阵列的输入缓存单元,激活拟合计算阵列的激活拟合计算单元由重构控制器输出的控制信号控制进行相应的激活函数分段线性拟合计算,输出值经由激活拟合计算阵列的输出缓存单元输出。4.如权利要求1所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述向量计算阵列,用于实现向量按维相乘和向量加法计算,向量计算阵列的乘法单元计算完毕后,由重构控制器输出的控制信号控制将数据传输到向量加法单元或直接输出到向量计算阵列的输出缓存单元。5.如权利要求1所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述片上共享存储单元,用于实现片上数据的存储;所述数据交换存储单元,用于实现阵列间数据的交换;所述片上配置信息存储器,用于实现配置信息的存储;所述重构控制器,用于实现可重构阵列的配置控制。6.如权利要求1或2所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述多矩阵积偏置和计算阵列为多个,多个多矩阵积偏置和计算阵列并行工作,每个多矩阵积偏置和计算阵列包括权值缓存单元、偏置缓存单元、输入寄存器、矩阵向量积计算单元、累加计算单元、累加寄存器;权值缓存单元,用于权值数据的输入,带宽为d*16bit,d为神经网络每层的LSTM单元个数;偏置缓存单元,用于偏置数据的输入,最大存储量为N*16bit,N为所述可重构系统并行计算的LSTM单元数;输入寄存器,用于输入向量的存储,最大存储量为d*16bit;矩阵向量积计算单元,从权值缓存单元和输入寄存器读取所需计算数据,用于计算N行d列矩阵和d维向量的积;累加计算单元,根据不同的控制信号,用于计算多个矩阵向量积的累和或用于计算累加值和偏置值的和;累加寄存器,用于累加值的存储,最大存储量为N*16bit;输出缓存单元,用于累加计算单元最终计算结果数据的输出,带宽为N*16bit。7.如权利要求1或3所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述激活拟合计算阵列为多个,多个激活拟合计算阵列并行工作,每个激活拟合计算阵列包括输入缓存单元、多个激活拟合计算单元、输出缓存单元、配置广播单元;激活拟合计算阵列用于门值的激活计算,从外部存储器中读取的未经激活的门值,存储在激活输入缓存单元中,以供激活拟合计算单元进行激活拟合计算,计算结果经由激活输出缓存单元输出;输入缓存单元,用于权值数据的输入,带宽为2N*16bit;输出缓存单元,用于数据的输出,带宽为2N*16bit;2N个激活拟合计算单元,根据不同的控制信号...

【专利技术属性】
技术研发人员:王琛徐新艳
申请(专利权)人:南京工业大学
类型:发明
国别省市:江苏,32

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

1