模型压缩相比图优化/编译优化无损优化方法,侧重减少网络参数量,达到节约服务器资源,端侧部署优化等目的。
# 结构优化
如矩阵分解(Factor Machine),权值共享(CNN),分组卷积(MobileNet的depth-wise Conv),分拆卷积(Inception)等。
结构优化主要是模型结构创新,以更少的计算量/模型参数达到相似的模型准确度。
# 量化
使用高精度浮点训练,使用定点推理。常见量化格式有FP16,BF16,INT8,INT4。
# 剪枝
剪枝按粒度可分为突触剪枝、神经元剪枝、权重矩阵剪枝等。
基本思想是将接近0的参数置为0,通过稀疏矩阵存储。
首先训练一个精度较高的大模型,按阈值置0,随后在训练集上微调,验证模型大小和精度是否符合预期,否则持续迭代。
# 蒸馏
蒸馏过程是对Student和Teacher的拟合,老师和学生可以使用不同的网络结构(串行到并行),不同规模的参数(减少模型参数)。