[发明专利]一种用于神经网络推理加速的低功耗浮点乘累加运算方法在审
申请号: | 202210924134.7 | 申请日: | 2022-08-02 |
公开(公告)号: | CN115374904A | 公开(公告)日: | 2022-11-22 |
发明(设计)人: | 赵文哲;胡康;张景铭;付格林;夏天;任鹏举 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06N5/04;G06F17/16;G06F7/544 |
代理公司: | 北京中济纬天专利代理有限公司 11429 | 代理人: | 覃婧婵 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 神经网络 推理 加速 功耗 浮点 累加 运算 方法 | ||
1.一种用于神经网络推理加速的低功耗浮点乘累加运算方法,其特征在于:
通过对输入的浮点数进行预处理,在计算前对小数部分进行舍入并调整其指数位,对可能会被舍入的数据进行预先的舍入和规整,省去对不必要精度的计算;同时,为了累加电路能够快速执行,采用科学技术法表示的指数的小数部分放弃原有的原码表示方法,转而采用补码表示方法。
2.根据权利要求1所述的方法,其中,优选的,所述方法的方案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阵列进行计算;
设定点乘法部分得到的结果为
对于该公式中的i=1,2...7的8项求和,由于是定点加法,故使用华莱士树加法器和一个定点加法器得到;
最后,将小数部分的计算和指数部分的运算处理结合:
设定点乘法输出序列为数组则数组中每个数为:
由于得到的数组的指数统一,故可以直接使用定点加法器进行加和,设得到的结果为于是有:
所述方法仅在一组乘加操作的最后才进行归一化运算,乘法部分和加法部分都可以节省很多资源;
所述方法对数据进行了预处理,在两个需要乘积的数组进入乘法阵列前,就确定了各自组的指数。
3.根据权利要求2所述的方法,其中,
如果等两个数组进入乘法阵列后,即在同时得到两组数据的指数位信息后,再来共同确定计算结果的指数,这样就可以提高计算结果的精度,具体为:
将两数组对应乘积数的指数先相加,找出其中的最大值:
N=max(Ni)=max(ni+mi)
设Ni中的最大值为N,N就是最后乘积结果的指数;根据调整后的指数移位时,只对W组的小数wi进行移位,A组数保持不变;设wi需要向左移动的位数为μi,则:
μi=N-ni-mi
μi得到后,其余后续的操作和上述方案1相同;
相比权利要求2,最终得到的近似结果为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210924134.7/1.html,转载请声明来源钻瓜专利网。