【技术实现步骤摘要】
一种基于数据流架构的多精度神经网络计算装置以及方法
本专利技术涉及计算机领域,具体来说涉及神经网络模型计算的加速装置或者加速器领域,更具体地说,涉及一种基于数据流架构的多精度神经网络计算装置和方法。
技术介绍
深度神经网络(DNN)已经在许多应用领域中显示出显著的优势,从计算机视觉到自然语言处理和语音识别,强大硬件的支持使得训练DNN模型更加容易,随着应用的多样化和复杂化,DNN模型也随之复杂,其深度越来越深,参数越来越庞大,复杂的DNN模型对于特征和输出非线性关系的捕捉更具有表现力,由此表现出很好的结果精度。虽然这些神经网络非常强大,但是大量的权重会占用大量的存储和内存带宽,同时DNN模型在运行期间也会产生大量的中间数据,在计算部件和缓冲器之间的移动受到内部带宽和巨大的能量耗散的影响。因此,在系统上部署深度神经网络变得越来越困难。拥有数百万和数十亿参数的卷积神经网络的应用爆炸式地增长,给终端设备带来巨大的挑战,使得必须针对移动设备的有限资源获得定制的DNN模型,越来越多的科学家转向如何减少这些大量参数的研究中,已经证明了几种深度学习模型的参数化存在显著的冗余,可以利用网络的冗余特性以减少参数的数量。在DNN模型的压缩和加速中,低精度和量化是一种有效的压缩模型的方法。精度的降低可以减少内存占用和所需的外部存储器带宽,还可以减少能量的消耗,允许在片上安装更多乘法累加(MAC)并实现更高的能效。例如,16位定点乘法在45nm工艺技术下比32位浮点乘法消耗的能量少约6.2倍。神经网络的运算主要为输入 ...
【技术保护点】
1.一种基于数据流架构的多精度神经网络计算装置,包括:微控制器以及与之连接的由多个PE构成的PE阵列,其特征在于,/nPE阵列的每个PE中配置有用于原始精度的计算部件和分别用于精度低于原始精度的一种或者多种低精度的计算部件,其中,不同精度的计算部件中配置有相应数目的并行的乘法累加器以充分利用片上网络带宽,为每个PE中每种精度的计算部件配置相应数目的寄存器以避免数据溢出;/n所述微控制器被配置为:/n响应于对一个卷积神经网络的计算请求以及计算精度指示,控制PE阵列以对应于所述计算精度的计算部件执行所述卷积神经网络的相应的卷积操作中的运算并将中间计算结果存储至相应的寄存器。/n
【技术特征摘要】
1.一种基于数据流架构的多精度神经网络计算装置,包括:微控制器以及与之连接的由多个PE构成的PE阵列,其特征在于,
PE阵列的每个PE中配置有用于原始精度的计算部件和分别用于精度低于原始精度的一种或者多种低精度的计算部件,其中,不同精度的计算部件中配置有相应数目的并行的乘法累加器以充分利用片上网络带宽,为每个PE中每种精度的计算部件配置相应数目的寄存器以避免数据溢出;
所述微控制器被配置为:
响应于对一个卷积神经网络的计算请求以及计算精度指示,控制PE阵列以对应于所述计算精度的计算部件执行所述卷积神经网络的相应的卷积操作中的运算并将中间计算结果存储至相应的寄存器。
2.根据权利要求1所述的基于数据流架构的多精度神经网络计算装置,其特征在于,同一个PE中不同精度的计算部件中所具有的乘法累加器的个数不同,其中,每种精度的计算部件中乘法累加器的个数等于或者基本等于处理阵列中片上网络带宽除以该精度对应的数据位数。
3.根据权利要求2所述的基于数据流架构的多精度神经网络计算装置,其特征在于,每种低精度的计算部件中为每种低精度的乘法累加器配置的寄存器的数据位宽大于该种低精度的乘法累加器的精度位数。
4.根据权利要求3所述的基于数据流架构的多精度神经网络计算装置,其特征在于,每个PE还包括:
路由器,用于在PE阵列的各个PE之间构建Mesh网络;
指令缓存,用于缓存指令;
指令状态寄存器,用于指示指令缓存中缓存的指令的状态,其中指令的状态包括正在运行、就绪和初始化;
数据缓存,用于缓存相应指令所需的数据;
执行部件,包括:
加载单元,用于负责将数据从内存加载到所述数据缓存,
存储单元,用于负责将数据从所述数据缓存传输到所述内存,
数据流单元,用于将所述PE内的数据通过Mesh网络传输给其他PE;
控制器,用于对执行部件、指令缓存、指令状态寄存器、数据缓存、路由器进行控制,控制器包括译码部件,用于对计算指令进行译码,解析出用于所述神经网络计算所需精度的计算指令,根据相应精度的计算指令控制相应精度的计算部件执行以根据神经网络的输入数据和权重数据完成特征图的至少部分计算。
5.根据权利要求1至4任一项所述的基于数据流架构的多精度神经网络计算装置,其特征在于,每个PE包括:
原始精度的计算部件、第一低精度的计算部件和第二低精度的计算部件,其中,
所述原始精度的计算部件包括精度为原始精度对应比特的定点计算的乘法累加器,配置原始数据位宽的寄存器用于保存中间计算结果;
所述第一低精度的计算部件包括精度为第一预设数量比特的定点计算的乘法累加器,配置原始数据位宽的寄存器用于保存中间计算结果;
所述第二低精度的计算部件包括精度为第二预设数量比特的定点计算的乘法累加器,配置原...
【专利技术属性】
技术研发人员:吴欣欣,范志华,欧焱,李文明,叶笑春,范东睿,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。