模型量化论文阅读#1----综述:A Survey of Quantization Methods for Efficient Neural Network Inference

本文概述了神经网络模型量化的基础知识和高级概念。量化包括对称与非对称、均匀与非均匀量化,以及静态与动态量化策略。文章讨论了量化粒度,如逐层、分组和通道量化,以及量化后的微调方法,如量化感知训练和训练后量化。此外,还介绍了低于8位的量化技术,如模拟量化、混合精度量化和硬件感知量化,以及蒸馏辅助量化和二值量化。文章强调了量化对模型性能和硬件效率的影响,并引用了一篇全面的调查论文作为深入研究的参考。
摘要由CSDN通过智能技术生成

1. 量化的基本概念

A. 问题设置和符号表示

假设网络有L层,其每层的参数表示为: { W 1 , W 2 , … , W L } \left\{W_{1}, W_{2}, \ldots, W_{L}\right\} { W1,W2,,WL},用 θ \theta θ表示所有参数的集合,以监督学习问题为例,其目标函数为:
L ( θ ) = 1 N ∑ i = 1 N l ( x i , y i ; θ ) ( 1 ) \mathcal{L}(\theta)=\frac{1}{N} \sum_{i=1}^{N} l\left(x_{i}, y_{i} ; \theta\right) (1) L(θ)=N1i=1Nl(xi,yi;θ)1
假设 θ \theta θ是训练好的浮点精度的参数,那么,量化要实现的是:将参数 θ \theta θ以及中间激活值的精度降低到低精度,同时对模型的泛化能力/精度影响最小。

量化最重要的一步是量化函数的定义,即将权重值和激活值映射为有限数值的函数。
根据量化函数的不同,可以将量化分为:对称量化、非对称量化;均匀量化、非均匀量化。

B. 均匀量化与非均匀量化

量化函数为:
Q ( r ) = Int ⁡ ( r / S ) − Z ( 2 ) Q(r)=\operatorname{Int}(r / S)-Z (2) Q(r)=Int(r/S)Z2
Q是量化算子,r是实值输入(激活或权重),S是实值缩放因子 (论文中常见的说法是steps),Z是整数零点。 此外,Int函数通过四舍五入操作(例如四舍五入和截断)将一个实值映射为一个整数值。实质上,这个函数是一个从实值r到一些整数值的映射。这种量化方法也被称为均匀量化,因为产生的量化值(论文中常见的说法是 levels)是均匀间隔的。
经过量化函数之后,还有一个步骤称为 去量化 (dequantization),从量化值Q®中恢复实值r:
r ~ = S ( Q ( r ) + Z ) ( 3 ) \tilde{r}=S(Q(r)+Z) (3)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值