[发明专利]一种用于神经网络推理加速的低功耗浮点乘累加运算方法在审
申请号: | 202210924134.7 | 申请日: | 2022-08-02 |
公开(公告)号: | CN115374904A | 公开(公告)日: | 2022-11-22 |
发明(设计)人: | 赵文哲;胡康;张景铭;付格林;夏天;任鹏举 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06N5/04;G06F17/16;G06F7/544 |
代理公司: | 北京中济纬天专利代理有限公司 11429 | 代理人: | 覃婧婵 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 神经网络 推理 加速 功耗 浮点 累加 运算 方法 | ||
本公开揭示了一种用于神经网络推理加速的低功耗浮点乘累加运算方法,通过对输入的浮点数进行预处理,在计算前对小数部分进行舍入并调整其指数位,对可能会被舍入的数据进行预先的舍入和规整,省去对不必要精度的计算。同时,为了累加电路能够快速执行,采用科学技术法表示的指数的小数部分放弃原有的原码表示方法,转而采用补码表示方法。本公开利用乘累加运算的特点,使用消耗资源较少的定点运算资源实现接近浮点运算的精度,从而解决了神经网络推理过程中计算精度与硬件实现复杂度的平衡问题。
技术领域
本公开属于处理器和计算技术领域,特别涉及一种用于神经网络推理加速的低功耗浮点乘累加运算方法。
背景技术
随着人工智能算法的突破,以深度卷积神经网络为代表的推理算法广泛应用于各行各业。然而深度卷积神经网络对算力的需求极高,传统的CPU无法提供足够的算力;GPU虽然能够提供足够的算力,但性能功耗比太低,并不是移动端设备的最佳选择。
学术界和工业界提出了大量专用的神经网络加速器NPU来解决上述问题。深度卷积神经网络对数据精度不敏感,在良好的量化算法支持下,采用定点运算可以在数据动态范围不大的情况下实现接近浮点的精度。NPU设计按照运算数据精度可以划分为2种类型:一种是处理浮点数据的神经网络加速器,以英伟达公司的移动端GPU为代表,虽然其网络部署方便,但是功耗指标不理想;另一种是处理定点数据的神经网络加速器,由于采用定点运算代替复杂的浮点运算,其性能功耗比非常高,但是网络部署时必须经过专门的量化过程,且精度和动态范围受限。
因此,如何平衡神经网络加速器采用浮点运算的精度优势与采用定点运算的能量优势,是一个亟待解决的关键问题。
发明内容
鉴于此,本公开提供了一种用于神经网络推理加速的低功耗浮点乘累加运算方法,其特征在于:
通过对输入的浮点数进行预处理,在计算前对小数部分进行舍入并调整其指数位,对可能会被舍入的数据进行预先的舍入和规整,省去对不必要精度的计算。同时,为了累加电路能够快速执行,采用科学技术法表示的指数的小数部分放弃原有的原码表示方法,转而采用补码表示方法。
优选的,
所述方法的方案1具体为:
对于A组数据的指数位序列(n0,n1,...n7),取其中的最大值N=max(n0,n1,...n7),为A组数据的统一指数位。近似后的A组数据用表示,中的每个数据为:
其中αi是根据统一的指数位N,将ai向右移位得到的。针对每个ai,需要右移的位数为ηi,而ηi=N-ni;
在较为极端的情况下,当ηi≥8时,αi会因为移位变为0;
对于每个ai,都有ηi位的数据被直接舍弃;
同理,对数组W也做相同处理,近似后的数组为中的每个数据为:
其中M=max(m0,m1,...m7),ωi是根据M将wi向右移μi位得到的,其中,μi=M-mi;
在转换后,αi和ωi均为8bit整型数据,可以送入MAC阵列进行计算;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210924134.7/2.html,转载请声明来源钻瓜专利网。