[发明专利]加速的量化乘法和加法运算有效
申请号: | 201980021173.2 | 申请日: | 2019-03-20 |
公开(公告)号: | CN111937010B | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | D·M·万特雷斯;R·黄;R·戴尔蒙特;T·埃尔默;S·阿米里尼 | 申请(专利权)人: | 亚马逊技术股份有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 钱慰民;张鑫 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加速 量化 乘法 加法 运算 | ||
1.一种计算机实施的方法,其包括:
接收到人工神经网络的卷积层的浮点输入;
将所述浮点输入线性量化为n位整数输入,其中:
n是8的倍数;
所述浮点输入的最小值被量化为整数零;
所述浮点输入的最大值被量化为2n-1;并且
在没有量化误差的情况下,所述浮点输入的零值被量化为表示所述浮点输入的所述零值的整数;
将所述整数输入存储在存储器中;
由所述卷积层从所述存储器中读取所述整数输入;
由减法引擎通过从所述整数输入中减去表示所述浮点输入的所述零值的所述整数使得所述浮点输入的所述零值由整数值零表示来产生差值;
由所述卷积层对所述差值执行一组n+1位整数乘法和求和运算,以生成乘积的总和;以及
由所述人工神经网络的激活层、池化层或输出缓冲器通过利用浮点缩放因子对所述乘积的总和进行缩放来生成浮点输出。
2.根据权利要求1所述的计算机实施的方法,其中n等于8。
3.根据权利要求1所述的计算机实施的方法,其中所述浮点输入的所述最小值和所述最大值相对于所述浮点输入的所述零值不是对称的。
4.根据权利要求1所述的计算机实施的方法,其中所述浮点输出表示所述浮点输入的卷积结果。
5.根据权利要求1所述的计算机实施的方法,其中所述浮点缩放因子是第一浮点缩放因子;并且
其中所述第一浮点缩放因子包括第二浮点缩放因子的乘法乘积,每个第二浮点缩放因子与所述将所述浮点输入中的一个浮点输入量化为相应n位整数输入相关联。
6.一种用于人工神经网络的设备,其包括:
存储装置,所述存储装置被配置成存储用于卷积运算的低精度输入,其中所述低精度输入是使用非对称量化从高精度输入生成的;
减法引擎阵列,所述减法引擎阵列被配置成从所述存储装置接收所述低精度输入并且从所述低精度输入中减去表示高精度零值的低精度值,从而产生差值;
处理元件阵列,所述处理元件阵列被配置成使用所述差值生成乘积的总和,所述处理元件阵列包含多行处理元件,每行处理元件被配置成从对应减法引擎接收差值;以及
处理引擎,所述处理引擎被配置成通过缩放因子对所述乘积的总和进行缩放,以生成高精度输出。
7.根据权利要求6所述的设备,其中:
所述低精度输入以n位格式存储在所述存储装置中;并且
n是8的倍数。
8.根据权利要求7所述的设备,其中:
所述高精度输入包括32位浮点输入;
所述低精度输入包括8位无符号整数;并且
所述差值包括9位带符号整数。
9.根据权利要求6所述的设备,其中,在所述非对称量化中:
所述高精度输入的最小值被量化为所述低精度输入中的零值;
所述高精度输入的最大值被量化为所述低精度输入中的最大值;并且
在没有量化误差的情况下,所述高精度输入的零值被量化为表示所述高精度零值的所述低精度值。
10.根据权利要求6所述的设备,其中:
所述高精度输入包括用于人工神经网络的层的权重和输入数据元素;并且
所述权重和所述输入数据元素被独立地量化。
11.根据权利要求10所述的设备,其中所述减法引擎阵列被配置成从与所述权重和所述输入数据元素两者相对应的低精度输入中减去。
12.根据权利要求6所述的设备,其中所述设备包括现场可编程门阵列、片上系统、专用集成电路、可编程阵列逻辑或复杂可编程逻辑装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于亚马逊技术股份有限公司,未经亚马逊技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980021173.2/1.html,转载请声明来源钻瓜专利网。