模型压缩调研

本文探讨了模型压缩的几个关键方向,包括结构优化、量化、知识蒸馏和剪枝。量化作为短期研究重点,特别是PTQ和QAT,其在模型精度、推理速度和实现难度上各有优劣。文章提到了不同框架对量化的支持情况,并列出了后续工作计划,涉及TensorRT、Paddle和MNN工具的研究。长期工作将关注更多模型压缩技术的现状和发展。
摘要由CSDN通过智能技术生成

更新记录

  • 2021-05-06:初步调研现状,确定短期内的工作。

0. 前言

  • 本文介绍模型压缩所包含的研究方向、现状以及后续研究安排。

  • 注意:本文内容仅面向算法层优化,不考虑硬件、框架优化。

1. 方向与现状

研究方向基本内容应用现状个人评价
结构优化使用矩阵分解、权重共享等手段,设计实现轻量化网络结构使用现成的轻量化网络,或使用NAS获取轻量化网络短期内不考虑,但未来肯定要学习
量化使用更少的bits来表示一个参数,一般分为PTQ(训练后量化)和QAT(量化感知训练)几乎所有部署框架都支持PTQ;QAT支持较少短期研究PTQ;长期角度看一定要研究QAT
知识蒸馏使用大模型训练小模型基本模型压缩都会使用该方法,大小模型基本都会使用NAS构建短期内不考虑,但未来肯定要学习
剪枝修改原有模型结构使用较少,使用NAS替代不考虑该方案

2. 短期计划

  • 短期计划就是实现模型量化,PTQ(Post Training Quantization)和QAT(Quantization Aware Training)的对比如下。
量化方法PTQQAT
模型精度下降较多,不可控下降较少,可控
推理速度没有区别没有区别
实现难度
框架支持程度所有推理框架都支持支持框架较少,需要大量编码
注意事项FP16量化对于硬件有要求,INT8量化需要进行校准。需要修改训练代码,包括模型构建代码以及训练细节
  • 下标介绍各个框架对于模型量化的支持程度
框架TensorFlowPyTorchPaddleTensorRTNCNNMNN
是否支持PTQ
是否支持QAT
是否支持量化结构转换为ONNX/
支持设备CPU/GPUCPU/GPUCPU/GPUGPUCPUCPU
个人评价没有了解细节,感觉对部署支持较好,NVidia也支持相关QAT功能。官方量化功能不支持模型转换,NVidia发布了大量工具,但都不支持QAT支持一整套训练、压缩、部署工具。但除了官方,其他资料几乎没有使用方便,但量化后模型精度下降较多只支持INT8量化只支持INT8量化,支持QAT
  • 后续工作主要有以下几方面:
    • 训练代码中添加量化后模型精度测试功能。
    • 研究 TensorRT 相关工具。
    • 研究 Paddle 相关工具。
    • 研究 MNN 相关工具。

长期工作安排

  • 调研 TensorFlow 模型压缩现状。
  • 跟进 PyTorch 官方量化工具的模型部署现状。
  • 跟进 PyTorch 非官方量化工具QAT现状。
  • 调研 NAS 工具以及现状。
  • 调研知识蒸馏工具以及现状。
  • 调研 TVM 模型压缩、部署现状。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值