less than 1 minute read

模型量化概述权值量化论文汇总
量化:8/4/2 bits(dorefa)、三值/二值(twn/bnn/xnor-net)

1 量化

  1. 训练后动态量化
    torch.quantization.quantize_dynamic()

  2. 训练后静态量化
    准备模型:通过添加QuantStub和DeQuantStub模块,指定在何处显式量化激活和量化数量;
    torch.quantization.convert 用于模型转换;包括权重量化,计算比例和偏差,关键算子替换为量化版本;

  3. 量化感知训练
    用 FP32 计算,但是会将值取整,模拟量化过程,进行训练微调;

2 工具

工具 说明 资源
Pytorch pytorch 1.3 开始支持, 基于 QNNPACK 实现, 支持训练后量化, 动态量化和量化感知训练等技术; docqnnpackpytorch 1.4
Distiller 是 Intel 基于 Pytorch 开源的模型优化工具, 自然也支持 Pytorch 中的量化技术; distiller
NNI 微软的 NNI 集成了多种量化感知的训练算法, 并支持 PyTorch/TensorFlow/MXNet/Caffe2 等多个开源框架; NNI
Nnieqat   nnieqat
Brevitas pytorch1.1.0+,和 1.3.0 后官方的实现方式很像了 Brevitas

TOP

附录

A 参考资料

  1. AI科技大本营. 你的模型加速了吗?这里有5个方法供你参考[EB/OL]. https://mp.weixin.qq.com/s?__biz=MzI0ODcxODk5OA==&mid=2247511633&idx=2&sn=a5ab187c03dfeab4e64c85fc562d7c0d&chksm=e99e9da8dee914be3d713c41d5dedb7fcdc9982c8b027b5e9b84e31789913c5b2dd880210ead&mpshare=1&scene=1&srcid=&sharer_sharetime=1576934236399&sharer_shareid=1d0dbdb37c6b95413d1d4fe7d61ed8f1&exportkey=A%2B3SqYGse83qyFva%2BYSy3Ng%3D&pass_ticket=winxjBrzw0kHErbSri5yXS88yBx1a%2BAL9KKTG6Zt1MMS%2FeI2hpx%2BmeaLsrahnlOS#rd. 2019-12-21/2020-10-10.
    概述
  2. jefferyzhang. 一线工程师带你学习深度学习模型量化理论+实践[EB/OL]. https://t.rock-chips.com/forum.php?mod=viewthread&action=printable&tid=1226. 2020-01-01/2020-10-10.
    概述
  3. GiantPandaCV. Pytorch实现卷积神经网络训练量化(QAT)[EB/OL]. https://www.liangzl.com/get-article-detail-198695.html. 2020-07-29/2020-10-10.
    对一篇论文的实现做了简述;
  4. 机器之心. 性能不打折,内存占用减少90%,Facebook提出极致模型压缩方法Quant-Noise[EB/OL]. https://cloud.tencent.com/developer/article/1623418. 2020-05-04/2020-10-10.
    论文解读;
  5. Jermmy. 神经网络量化入门–BatchNorm Folding[EB/OL]. http://jermmy.github.io/. 2020-07-19/2020-10-10.
  6. osc_n3mzii7x. 量化感知训练的数值稳定性[EB/OL]. https://my.oschina.net/u/4261335/blog/4463306. 2020-08-02/2020-10-10.
  7. jermmyxu. 神经网络量化入门–量化感知训练[EB/OL]. https://www.cnblogs.com/jermmyhsu/p/13285488.html. 2020-07-11/2020-10-10.
    分析了量化——反量化——训练的过程;
  8. 心态已炸_沉迷学习. Pytorch 1.3.0 量化介绍[EB/OL]. https://blog.csdn.net/zym19941119/article/details/102523719. 2019-10-12/2020-10-12.
  9. 爱上一只柠檬的pig_head. 深度学习模型量化(低精度推理)大总结[EB/OL]. https://blog.csdn.net/zlgahu/article/details/104662203?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param. 2020-03-04/2020-10-12.
    详细解说了量化
  10. pytorch doc-中文,pytorch doc-英文

B 工程

  1. Ironteen. YOLOv3-quantization-model-v1.0[BE/OL]. https://github.com/Ironteen/YOLOv3-quantization-model-v1.0. -/2020-10-10.
    基于 tensorflow 的 diy YOLOv3 模型量化;
  2. 666DZY666. model-compression[EB/OL]. https://github.com/666DZY666/model-compression. -/2020-10-10.
    DIY 实现的模型压缩(剪枝、量化);

Comments