基本概念
昇腾模型压缩工具(Ascend Model Compression Toolkit,简称AMCT)是一个针对昇腾芯片亲和的深度学习模型压缩工具包,提供量化等多种模型压缩特性,压缩后模型体积变小,部署到昇腾AI处理器上后可使能低比特运算,提高计算效率,达到性能提升的目标。
AMCT基于MindSpore框架运作,实现了神经网络模型中模型部署优化(主要为算子融合)、数据与权重8比特量化的功能,该工具优点如下:
- 使用方便,安装工具包即可。
- 接口简单,在用户基于MindSpore框架的推理脚本基础上,调用API即可完成模型压缩。
- 与硬件配套,生成的压缩模型经过ATC工具转换后可在昇腾AI处理器上实现8比特推理。
- 量化可配置,用户可自行修改量化配置文件,调整压缩策略,获取较优的压缩结果。
AMCT当前使用的压缩方法为量化,量化过程中可以实现模型部署优化(主要为算子融合)。
量化
量化是指对模型的权重(weight)和数据(activation)进行低比特处理,让最终生成的网络模型更加轻量化,从而达到节省网络模型存储空间、降低传输时延、提高计算效率,达到性能提升与优化的目标。
AMCT将量化和模型转换分开,实现对模型中可量化算子的独立量化,并将量化后的模型保存为.air文件。该模型既可以在昇腾AI处理器进行精度仿真,也可以经过ATC工具转换成离线模型后部署在昇腾AI处理器,达到提升推理性能的目的。其运行原理如下图所示。特性详细介绍请参见量化。
图1 量化运行原理
模型部署优化
主要为算子融合,是指通过数学等价,将模型中的多个算子运算融合单算子运算,以减少实际前向过程中的运算量,如将卷积层和BN层融合为一个卷积层。其运行原理如下图所示。
图2 模型部署优化原理
父主题: 概述