[发明专利]一种基于混合精度存储的深度神经网络加速器在审
申请号: | 201910922467.4 | 申请日: | 2019-09-27 |
公开(公告)号: | CN110766155A | 公开(公告)日: | 2020-02-07 |
发明(设计)人: | 刘波;朱文涛;沈泽昱;黄乐朋;李焱;孙煜昊;杨军 | 申请(专利权)人: | 东南大学 |
主分类号: | G06N3/08 | 分类号: | G06N3/08 |
代理公司: | 32200 南京经纬专利商标代理有限公司 | 代理人: | 熊玉玮 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 数据存储 查找表 加速器 权重 存储 非线性计算 寄存器阵列 有效比特位 存储器 数据流 解码 参数存储 乘加操作 缓存模块 计算模块 解码模块 控制模块 数据调度 低功耗 符号位 可控的 位宽 解析 推算 压缩 | ||
本发明公开了一种基于混合精度存储的深度神经网络加速器,属于计算、推算、计数的技术领域。该加速器包括片上缓存模块、控制模块、位宽可控的乘加批计算模块、非线性计算模块、寄存器阵列以及基于双查找表的霍夫曼解码模块,将权值的有效比特位和符号位参数存储在同一个存储器中,实现了混合精度的数据存储和解析,实现了对混合精度的数据和权重的乘加操作。通过基于混合精度的数据存储解析和基于双重查找表的霍夫曼解码实现了对不同精度下数据和权重的压缩和存储,减少了数据流,实现了基于深度神经网络的低功耗的数据调度。
技术领域
本发明公开了一种基于混合精度存储的深度神经网络加速器,涉及人工智能神经网络的数模混合集成电路设计,属于计算、推算、计数的技术领域。
背景技术
深度神经网络以其优越的性能被广泛地研究和应用。当前主流的深度神经网络拥有数以亿计的连接,访存密集型和计算密集型的特点使得它们很难被映射到资源和功耗都极为有限的嵌入式系统中。另外,当前深度神经网络朝着更加精确和功能更加强大方向发展的趋势使得深度神经网络的规模、需要的存储空间变得越来越大,计算开销以及复杂度也变得越来越大。
用于加速深度神经网络运算的传统定制硬件设计是从动态随机存取存储器中读取权重,其资源消耗为运算器执行操作的两个量级,这时候应用的主要功耗将由访存决定。因此,深度神经网络加速器的设计难点归于两点:1)深度神经网络的规模越来越大,访存问题成为神经网络运算中的最大瓶颈,特别是当权值矩阵的规模大于缓存容量的时候,神经网络的优势不能充分发挥;2)深度神经网络的结构决定了它的基础运算为大量的乘累加运算,而乘法一直是硬件资源消耗多、延时长和功耗大的算术运算,乘法运算的速度和功耗决定了深度神经网络加速器的性能。
传统的深度神经网络加速器主要通过例化大量的乘加计算单元以及存储单元以一步提高系统的可靠性和稳定性,大量的芯片面积以及大量的运转功耗限制了神经网络加速器在可便携交互设备中的部署。为了解决这些问题,目前最热门的技术就是对权重数据进行二值化处理,这种处理方式可极大地简化网络运算数据调度以及访存模式,但其网络精度损失较大,系统稳定性有待考证。本申请旨在通过基于权重数据混合精度的分级压缩存储技术在保证原始网络识别精度的基础上实现一种低功耗、低延时、高效率的数据调度方式以及网络批处理操作。
发明内容
为了解决传统神经网络加速器高功耗、高计算量以及高延时的弊端,本发明提供了一种基于混合精度存储的深度神经网络加速器,采用线下软件的权值分级和线上硬件混合精度存储的工作方式,通过基于双查找表的霍夫曼编码实现混合精度数据的分级存储来解决深度神经网络的访存问题,通过引入位宽可控的批量乘加操作实现对应分级权重的数据计算匹配并节省网络因大量乘法计算产生的功耗,实现了低功耗、低延时、高效率的数据调度和网络批处理操作,解决了二值化权重的神经网络虽能简化网络运算数据调度以及访存模式但网络精度损失较大的技术问题。
本发明为实现上述发明目的采用如下技术方案:
一种基于混合精度存储的深度神经网络加速器,首先通过线下软件处理(包括基于Caffe平台、Tensorflow平台实现神经网络混合精度训练,如果达到预定压缩比例则对网络参数进行混合存储并对权重参数进行霍夫曼编码得到首1位置索引)对权值进行了有效的压缩,实现了精度可调,从而降低了运算的复杂度。数据从直接内存存取中读入,进入输入数据缓存模块,在缓存控制模块的调度下进入位宽可控的批乘加计算模块。权重及编码后的位置索引参数先进入索引缓存模块。在缓存控制模块的控制下,权重直接存入位宽可控的批乘加计算模块中的基于混合精度的权重存储器,编码后的位置索引参数通过基于双查找表的霍夫曼解码器模块解码后输出给位宽可控的批乘加计算模块中的位宽控制单元。当数据进入位宽可控的批乘加计算模块时,权重通过基于混合精度的数据存储解析模块完成权重解析,乘加单元根据位宽控制单元的控制信号选择数据权重位宽,然后完成输入数据与权重的对应乘加计算操作,结果直接存储到寄存器阵列中。存储到寄存器阵列中的中间值经过非线性计算模块完成计算后,在控制模块的调度下选择存储到输出数据缓存模块或者返回寄存器阵列,再次进行非线性操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910922467.4/2.html,转载请声明来源钻瓜专利网。