ADMM深度模型稀疏化训练

论坛 期权论坛 脚本     
匿名技术用户   2021-1-15 00:27   678   0

基本原理

参考论文:https://arxiv.org/abs/1804.03294

GitHub:https://github.com/microsoft/nni/blob/master/nni/algorithms/compression/pytorch/pruning/admm_pruner.py

组合优化问题

  • 基本的优化问题:

image.png

image.png

  • 引入辅助变量、对偶变量,构造ADMM正则化约束:

image.png

交替方向优化求解

  • 固定Z与U,通过SGD优化求解得到:

image.png

  • 固定W,更新得到Z与U:

image.png

image.png

  • 稀疏训练收敛时,网络权重满足如下稀疏约束:

image.png

  • 完成稀疏训练之后,执行Hard prune,再通过Fine-tuning恢复精度;稀疏训练与Fine-tuning过程,约束条件与Loss变化基本如下:

image.png

压缩流程控制

  • 参考PAI模型压缩工具的使用;
  • 在指定训练步数的after_run中,执行压缩action:

image.png

实验效果

模型

稀疏度

方式

mnn模型容量

(排除MatMul分类层)

实际压缩比

FP32精度

量化后精度

ConvDFSMN

-

原FP32

22.375MB

-

WER=10.54

-

ConvDFSMN

-

量化

5.695MB

3.929

WER=10.54

WER=10.62

ConvDFSMN

35%

稀疏+量化

4.886MB

4.581

WER=10.84

WER=10.94

ConvDFSMN

50%

稀疏+量化

4.067MB

5.505

-

-

ConvDFSMN

60%

稀疏+量化

3.392MB

6.601

WER=11.50

WER=11.65

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP