作者:禅与计算机程序设计艺术
1.背景介绍
近几年随着移动端设备性能的提升和硬件算力的增长,深度学习模型的训练已经越来越受到计算机视觉、自然语言处理等领域的需求驱动。但是随之而来的任务是在准确率、推理速度和资源占用三个方面对模型进行压缩与量化,以便满足更广泛的部署环境。
模型压缩(model compression)是指通过一些手段将模型体积减小,并在一定程度上保持其精度,从而减少内存、计算资源、网络带宽等方面的压力,进而实现模型在不同应用场景下的快速部署和推理。
模型量化(quantization)是指通过一些方法将浮点模型转换成整数形式的定点模型,这种转换可以降低模型大小、加快模型执行速度、降低计算资源占用等。目前业界主要使用的两种量化方式是定点卷积核和分离注意力机制。
模型压缩与量化技术的应用通常由如下几个步骤组成:
-
模型结构搜索:首先搜索出一个比较小且准确的模型结构,然后对该模型进行剪枝,去除无关紧要的参数,减少参数数量,同时还要兼顾模型效果。这一步可以通过人工设计搜索规则或强化学习算法进行优化。
-
权重裁剪/量化:裁剪后的模型主要有两个目的:一是减少模型大小,二是提升模型精度。裁剪的方法有两种:一种是按照比例裁剪