当前位置:   article > 正文

Generative Data-free Quantization——生成式无数据训练后量化方法

生成式无数据训练后量化

0. 前言

针对深度学习模型的边缘、移动端部署,模型量化已经成为必不可少的压缩手段。一方面,将模型权重量化为低比特,可缓解模型存储的负担(例如INT8量化的理论压缩比为4倍);另一方面,将W与A均量化为低比特,可通过专用整形计算单元或加速指令实现网络层的推理加速(例如NV GPU的TensorCore单元),并节省运行时内存的Overhead。

模型量化可分为QAT与PTQ两种实现方式,QAT依赖于训练集的感知微调(需要为Forward阶段设计低量化误差的Quantizer,为Backward阶段设计缓解Gradient mismatch的Estimator),PTQ则是训练后量化策略(包括Data-free与Label-free两种形式)。出于用户隐私与数据安全考虑,大多数应用场景提供少量无标注数据以支持Label-free PTQ,或者不提供任何数据仅支持Data-free PTQData-free Quantization需要借助Pre-trained Model蕴含的信息执行有效量化,即达成量化目标的同时、尽量减少精度损失,典型代表为生成式方法(Generative Method)生成式方法通过对抗样本生成方式,能够合成接近真实分布的数据(作为量化的数据基础),并进一步通过优化方式求解量化参数、微调权重参数,以实现有效量化。

生成式方法(如GDFQ、ARC、Qimera、AIT等)的基本架构,充分利用了深度学习的"搭积木原理"或"模块化编程方式",发挥了每个模块应有的功能价值。例如样本生成器借助了对抗样本生成思路,BN层蕴含原数据集的统计信息(CNN模型通常包含BN层,但Transformer模型通常不具备),Pre-trained model能够为Quantized model提供Soft label,Gumbel softmax的随机采样与可微分特点,等等。

1. Generative Low-bitwidth Data Free Quantization

Paper地址:https://arxiv.org/abs/2003.03603v3

GitHub链接:GitHub - xushoukai/GDFQ: official implementation of Generative Low-bitwidth Data Free Quantization(GDFQ)

上图显示了GDFQ的基本原理,包含生成器训练与量化模型微调的联合实现。生成器产生合成数据,作为Pre-trained model与Quantized model的输入;Pre-trained model为生成器提供Classification boundary information与BN statistics,使合成样本接近真实数据分布;同时,Pre-trained model也为量化模型提供Soft-label,以增强量化训练;在生成器训练与量化模型微调期间,Pre-trained model的参数冻结。具体描述如下:

  • GDFQ采用非对称均匀量化方式(Hard quantizer)实现W与A的k-bit量化:

  • 生成器以随机噪声矢量z与预设标签y作为输入,产生合成数据:

  • 基于Cross entropy loss,Pre-t
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/393088
推荐阅读
相关标签
  

闽ICP备14008679号