[发明专利]一种量化推理超参数大于1时确保推理精度的方法在审
| 申请号: | 202011622526.5 | 申请日: | 2020-12-31 |
| 公开(公告)号: | CN114692877A | 公开(公告)日: | 2022-07-01 |
| 发明(设计)人: | 周飞飞 | 申请(专利权)人: | 合肥君正科技有限公司 |
| 主分类号: | G06N5/04 | 分类号: | G06N5/04;G06N3/04 |
| 代理公司: | 北京嘉东律师事务所 11788 | 代理人: | 田欣欣 |
| 地址: | 230088 安徽省合肥市高新区望江*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 量化 推理 参数 大于 确保 精度 方法 | ||
1.一种量化推理超参数大于1时确保推理精度的方法,其特征在于,所述方法包括:
假设第i层的量化计算如下所示:
Xq=scale(Qf*Qw+bias)
然后把scale进行31位定点化运算:
其中,增加scale大于1.0的定点化过程,即增加left_shift参数,所述left_shift参数为右移操作值,在对模型超参数量化移位过程中减去left_shift参数,确保网络在scale推理参数能够满足模型的定点化通用性。
2.根据权利要求1所述的一种量化推理超参数大于1时确保推理精度的方法,其特征在于,所述方法进一步包括以下步骤:
S1,初始化:其中包括:left_shift参数并赋值为0;
S2,对scale进行小于1.0的定点化;
S3,对scale进行大于1.0的定点化:
当scale值大于1.0时:即while(scale1.0f);
Scale值除以2并赋值给scale:scale=scale/2.0;
left_shift加1并赋值给left_shift:left_shift=left_shift+1;
定点化:int32_t mul=static_castint32_t(round(real_multiplier*(1llmax_precision)));
S4,进行超参数量化,增加scale大于1.0的超参数量化:
增加scale定点化过程中左移与右移的值,同时在定点化过程中减去对右移left_right的值:
使得网络的输入通过右移的形式还原到网络量化的结果,避免网络float的运算,同时由于scale大于1时求取得右移left_right,所以需要减去left_right值,确保量化结果一致性:int32_t ab=static_castint32_t((xw*mul)(max_precision-left_right)),左移:const int32_t mask=(1right_shift)-1;
const int32_t one=1;
通过ab和mask两者结果的与操作,确保量化输出的精度,决定0.5是向上保留还是向下:int32_t remainder=abmask;
const int32_t threshold=mask1;
int32_t temp3=abright_shift;
int temp4=0;
如果remainder大于阈值threshold:if(remainderthreshold);
则temp4=1;
res=temp3+temp4;
其中xw为网络输入,mul与right_shift为定点化时模型乘以2的31次方的超参数。
3.根据权利要求1所述的一种量化推理超参数大于1时确保推理精度的方法,其特征在于,所述31位定点化运算是通过对scale,scale值为小的全精度数,通过对scale移位,使得scale值保持在[0.5,1]之间,然后使得scale与2的31次方相乘取round操作,求取整数值。
4.根据权利要求1所述的一种量化推理超参数大于1时确保推理精度的方法,其特征在于,所述步骤S1具体包括以下表达式:
right_shift=0;
max_precision=31;
left_shift=0。
5.根据权利要求1所述的一种量化推理超参数大于1时确保推理精度的方法,其特征在于,所述步骤S2具体包括:
正常情况下对scale进行小于1.0的定点化,表达式如下:
当real_multiplier0.5f时:while(real_multiplier0.5f);
scale=scale*2.0;
right_shift=right_shift+1。
6.根据权利要求1所述的一种量化推理超参数大于1时确保推理精度的方法,其特征在于,所述步骤S2还可以包括:
scale小于1时对定点化数据进行量化的操作,表达式如下:
int32_t ab=static_castint32_t((xw*mul)max_precision);
const int32_t mask=(1right_shift)-1;
const int32_t one=1;
int32_t remainder=abmask;
const int32_t threshold=mask1;
int32_t temp3=abright_shift;
int temp4=0;
if(remainderthreshold)
temp4=1;
res=temp3+temp4;
其中xw为网络输入,mul与right_shift为定点化时模型乘以2的31次方的超参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥君正科技有限公司,未经合肥君正科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011622526.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:除异味组合物及其应用
- 下一篇:一种装配式卫生间的龙骨结构及装配式卫生间





