一种量化推理超参数大于1时确保推理精度的方法与流程

文档序号:30595486发布日期:2022-07-01 20:35阅读:来源:国知局

技术特征:
1.一种量化推理超参数大于1时确保推理精度的方法,其特征在于,所述方法包括:假设第i层的量化计算如下所示:化计算如下所示:xq=scale(q
f
*q
w
+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(scale>1.0f);scale值除以2并赋值给scale:scale=scale/2.0;left_shift加1并赋值给left_shift:left_shift=left_shift+1;定点化:int32_t mul=static_cast<int32_t>(round(real_multiplier*(1ll<<max_precision)));s4,进行超参数量化,增加scale大于1.0的超参数量化:增加scale定点化过程中左移与右移的值,同时在定点化过程中减去对右移left_right的值:使得网络的输入通过右移的形式还原到网络量化的结果,避免网络float的运算,同时由于scale大于1时求取得右移left_right,所以需要减去left_right值,确保量化结果一致性:int32_t ab=static_cast<int32_t>((xw*mul)>>(max_precision-left_right)),左移:const int32_t mask=(1<<right_shift)-1;const int32_t one=1;通过ab和mask两者结果的与操作,确保量化输出的精度,决定0.5是向上保留还是向下:int32_t remainder=ab&mask;const int32_t threshold=mask>>1;int32_t temp3=ab>>right_shift;int temp4=0;如果remainder大于阈值threshold:if(remainder>threshold);则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_multiplier<0.5f时:while(real_multiplier<0.5f);scale=scale*2.0;right_shift=right_shift+1。6.根据权利要求1所述的一种量化推理超参数大于1时确保推理精度的方法,其特征在于,所述步骤s2还可以包括:scale小于1时对定点化数据进行量化的操作,表达式如下:int32_t ab=static_cast<int32_t>((xw*mul)>>max_precision);const int32_t mask=(1<<right_shift)-1;const int32_t one=1;int32_t remainder=ab&mask;const int32_t threshold=mask>>1;int32_t temp3=ab>>right_shift;int temp4=0;if(remainder>threshold)temp4=1;res=temp3+temp4;其中xw为网络输入,mul与right_shift为定点化时模型乘以2的31次方的超参数。

技术总结
本发明一种量化推理超参数大于1时确保推理精度的方法,包括:假设第i层的量化计算如下所示:所示:Xq=scale(Q


技术研发人员:周飞飞
受保护的技术使用者:合肥君正科技有限公司
技术研发日:2020.12.31
技术公布日:2022/6/30
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1