【模型部署】NNI:剪枝和量化

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFja2lsaW5hX1N0b25l,size_20,color_FFFFFF,t_70,g_se,x_16

目录

一 简介

1 剪枝和量化

2 NNI

二 安装NNI

三 剪枝

四 量化

一 简介

1 剪枝和量化

将神经网络部署在计算资源匮乏或具有严格延迟要求的设备上的时候,需要先对模型进行压缩处理。模型压缩后,模型大小会变小,在不会显著降低模型性能的情况下,能够加速模型的训练/推理。

模型压缩技术分类:剪枝(Pruning)和量化(Quantization)。

(1) 剪枝方法探索模型权重中的冗余, 并尝试删除/修剪冗余和非关键的权重。 

(2) 量化是指通过减少权重表示或激活所需的比特数来压缩模型。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFja2lsaW5hX1N0b25l,size_20,color_FFFFFF,t_70,g_se,x_16

2 NNI

NNI (Neural Network Intelligence) 是一个轻量但强大的自动机器学习工具包,能帮助用户自动地进行特征工程、神经网络架构搜索、超参调优以及模型压缩。

(1)统一的接口来支持 TensorFlow 和 PyTorch。

(2)内置许多流行的剪枝和量化算法。

(3)利用最先进的策略和NNI的自动调整能力,来自动化模型剪枝和量化过程。

(4)加速模型,使其有更低的推理延迟。

(5)提供友好和易于使用的压缩工具,让用户深入到压缩过程和结果。

压缩流程:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFja2lsaW5hX1N0b25l,size_20,color_FFFFFF,t_70,g_se,x_16

注意: 

NNI的pruner或quantizer并不能改变网络结构,只能模拟压缩的效果。 真正能够压缩模型、改变网络结构、降低推理延迟的是NNI的加速工具。

为了获得一个真正的压缩的模型,用户需要执行剪枝加速or量化加速。

PyTorch和TensorFlow的接口都是统一的。目前支持PyTorch版本。

NNI修剪模型:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFja2lsaW5hX1N0b25l,size_20,color_FFFFFF,t_70,g_se,x_16


二 安装NNI

NNI 依赖于 Python 3.7 或以上版本。

使用 pip 进行安装:

pip install nni

升级已安装的旧版本 NNI:

pip install --latest nni

检查nni版本:

nnictl --version

报错😱:bash: nnictl: command not found

解决方法💉: 将 pip 安装的可执行文件添加到 PATH 环境变量。

命令如下👇:

echo 'export PATH=${PATH}:${HOME}/.local/bin' >> ~/.bashrc
source ~/.bashrc

安装额外依赖:

安装指定 nni[算法名] 依赖,举例:

pip install nni[DNGO]

一次性安装所有可选依赖:

pip install nni[all]

注意:SMAC 算法依赖于 swig3,在 Ubuntu 系统中需要手动进行降级:

sudo apt install swig3.0
sudo rm /usr/bin/swig
sudo ln -s swig3.0 /usr/bin/swig


三 剪枝

模型剪枝Quickstart:

https://nni.readthedocs.io/zh/stable/tutorials/pruning_quick_start_mnist.html


四 量化

模型量化Quickstart:

https://nni.readthedocs.io/zh/stable/tutorials/quantization_quick_start_mnist.html


参考:https://nni.readthedocs.io/zh/stable/compression/overview.html

仅作为学习用途,如有侵权,请联系作者删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jackilina_Stone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值