盘点一下后训练量化的基本操作

本文介绍了后训练量化(PTQ)的基本概念,包括其目的和重要量化参数。讨论了权重和特征的数值范围统计,提出直方图截断、滑动平均和利用均值与方差等方法来改进量化参数的选择。同时,详细阐述了TensorRT的量化算法,通过搜索minmax和S、Z来最小化信息损失。最后提到了这些方法也可应用于量化感知训练。
摘要由CSDN通过智能技术生成

(本文首发于公众号,没事来逛逛)

这篇文章简单聊聊后训练量化的一些常规操作。

一些基础知识

在此之前,还是需要先了解一下后训练量化 (下面简称 PTQ,Post-training Quantization) 是啥?具体细节这里就不展开了,不熟悉的读者欢迎看回我之前的文章 (神经网络量化入门–后训练量化。简单来说,后训练量化就是在不重新训练网络 (即不更新 weight) 的前提下,获取网络的量化参数。

说到量化参数,就不得不祭出量化的基本公式了 (假设用非对称量化,8bit):
r = S ( q − z ) (1) r=S(q-z) \tag{1} r=S(qz)(1)

q = c l i p ( r o u n d ( r S + Z ) , 0 , 255 ) (2) q=clip(round(\frac{r}{S}+Z),0,255) \tag{2} q=clip(round(Sr+Z),0,255)(2)

这里面的 r r r q q q 分别表示量化前的浮点数和量化后的定点数。而 S S S Z Z Z 就是两个重要的量化参数 scale (步长) 和 zero point (零点)。除此之外,还有两个非常重要的量化参数: r m i n r_{min} rmin r m a x r_{max} rmax,分别表示浮点数 r r r 的数值范围。

S S S Z Z Z r m i n r_{min} rmin r m a x r_{max} rmax 构成了网络量化里面四个最重要的量化参数,几乎所有后训练量化算法,都是为了找到这几个东西。这里面, S S S Z Z Z r m i n r_{min} rmin r m a x r_{max} rmax 之间又是可以相互转换的:
S = r m a x − r m i n q m a x − q m i n (3) S = \frac{r_{max}-r_{min}}{q_{max}-q_{min}} \tag{3} S=qmax

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值