KL距离

基于tensorRT方法的int8量化实现

为了解决在对称量化时候精度损失的情况发生,提出了一中利用|T|作为量化边界的量化方法(具体如图):
在这里插入图片描述
我们需要找到一个合适的阈值T,然后超出阈值绝对值的数全部映射到|127|上,这样原来的数就形成了新的概率分布,然后利用KL距离判断两个分布的差异程度,当然肯定是差异越小说明量化的更好,从而选择更优的T。

KL距离:
在数理统计中,Kullback-Leibler散度(也称为相对熵)是一种判断概率分布与第二种参考概率分布差异程度的度量。
信息熵
他的公式来源于香浓提出的信息熵,这是一种对信息的度量,也代表着根据信息的概率分布计算的到信息所需要的最短编码长度:
在这里插入图片描述
按照不真实分布q来编码样本所需的编码长度的期望如下图,这就是交叉熵H( p,q ):
在这里插入图片描述
所以,计算得到的KL距离也叫做相对熵,他表示两个分布的差异,差异与大,距离越大:
在这里插入图片描述
因此,我们就可以使用KL来判断当前的T值选取的是否合适。

量化流程:

首先准备一个校准数据集。
然后,对每一层:

收集激活值的直方图;
基于不同的阈值生成不同的量化分布;
然后计算每个分布与原分布的相对熵,然后选择熵最少的一个,也就是跟原分布最像的一个。
记录此时的阈值,也可以得到对应的scale值了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值