/PaddleSlim

PaddleSlim is an open-source library for deep model compression and architecture search.

Primary LanguagePythonApache License 2.0Apache-2.0

PaddleSlim

Documentation Status Documentation Status License

简介

PaddleSlim是一个专注于深度学习模型压缩的工具库,提供剪裁、量化、蒸馏、和模型结构搜索等模型压缩策略,帮助用户快速实现模型的小型化。

版本对齐

PaddleSlim PaddlePaddle PaddleLite
1.0.1 <=1.7 2.7
1.1.1 1.8 2.7
1.2.0 2.0Beta/RC 2.8
2.0.0 2.0 2.8
2.1.0 2.1.0 2.8
2.1.1 2.1.1 >=2.8

安装

安装最新版本:

pip install paddleslim -i https://pypi.tuna.tsinghua.edu.cn/simple

安装指定版本:

pip install paddleslim==2.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

最近更新

2021.5.20: 发布V2.1.0版本,扩展离线量化方法,新增非结构化稀疏,增强剪枝功能,修复OFA功能若干bug。 2021.2.5: 发布V2.0.0版本,新增支持动态图,新增OFA压缩功能,优化剪枝功能。 2020.9.16: 发布V1.2.0版本,新增PACT量化训练功能,新增DML(互蒸馏功能),修复部分剪裁bug,加强对depthwise_conv2d的剪裁能力,优化剪裁和量化API的易用性和灵活性。

更多信息请参考:release note

功能概览

PaddleSlim支持以下功能,也支持自定义量化、裁剪等功能。

Quantization Pruning NAS Distilling

注:

  • *表示仅支持静态图,**表示仅支持动态图
  • 敏感度裁剪指的是通过各个层的敏感度分析来确定各个卷积层的剪裁率,需要和其他裁剪方法配合使用。

效果展示

PaddleSlim在典型视觉和自然语言处理任务上做了模型压缩,并且测试了Nvidia GPU、ARM等设备上的加速情况,这里展示部分模型的压缩效果,详细方案可以参考下面CV和NLP模型压缩方案:


表1: 部分模型压缩加速情况

注:

  • YOLOv3: 在移动端SD855上加速3.55倍。
  • PP-OCR: 体积由8.9M减少到2.9M, 在SD855上加速1.27倍。
  • BERT: 模型参数由110M减少到80M,精度提升的情况下,Tesla T4 GPU FP16计算加速1.47倍。

文档教程

快速开始

快速开始教程是能基于CIFAR10数据集快速运行起来的简单示例,若您是Paddle官方模型套件用户,请直接使用下方的CV模型压缩或者NLP模型压缩中教程。

进阶教程

进阶教程详细介绍了每一步的流程,帮助您把相应方法迁移到您自己的模型上。

推理部署

CV模型压缩

本系列教程均基于Paddle官方的模型套件中模型进行压缩,若您不是模型套件用户,更推荐使用快速教程和进阶教程。

NLP模型压缩

API文档

许可证书

本项目的发布受Apache 2.0 license许可认证。

贡献代码

我们非常欢迎你可以为PaddleSlim提供代码,也十分感谢你的反馈。

欢迎加入PaddleSlim技术交流群

请添加微信公众号"AIDigest",备注“压缩”,飞桨同学会拉您进入微信交流群。