|
|
51CTO旗下网站
|
|
移动端

TensorFlow官方发布剪枝优化工具:参数减少80%,精度几乎不变

去年TensorFlow官方推出了模型优化工具,最多能将模型尺寸减小4倍,运行速度提高3倍。

作者:晓查来源:量子位|2019-05-16 09:47

 

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

去年TensorFlow官方推出了模型优化工具,最多能将模型尺寸减小4倍,运行速度提高3倍。

最近现又有一款新工具加入模型优化“豪华套餐”,这就是基于Keras的剪枝优化工具。

训练AI模型有时需要大量硬件资源,但不是每个人都有4个GPU的豪华配置,剪枝优化可以帮你缩小模型尺寸,以较小的代价进行推理。

什么是权重剪枝?

权重剪枝(Weight Pruning)优化,就是消除权重张量中不必要的值,减少神经网络层之间的连接数量,减少计算中涉及的参数,从而降低操作次数。

TensorFlow官方发布剪枝优化工具:参数减少80%,精度几乎不变

这样做的好处是压缩了网络的存储空间,尤其是稀疏张量特别适合压缩。例如,经过处理可以将MNIST的90%稀疏度模型从12MB压缩到2MB。

此外,权重剪枝与量化(quantization)兼容,从而产生复合效益。通过训练后量化(post-training quantization),还能将剪枝后的模型从2MB进一步压缩到仅0.5MB 。

TensorFlow官方承诺,将来TensorFlow Lite会增加对稀疏表示和计算的支持,从而扩展运行内存的压缩优势,并释放性能提升。

优化效果

权重剪枝优化可以用于不同任务、不同类型的模型,从图像处理的CNN用于语音处理的RNN。下表显示了其中一些实验结果。

TensorFlow官方发布剪枝优化工具:参数减少80%,精度几乎不变

以GNMT从德语翻译到英语的模型为例,原模型的BLEU为29.47。指定80%的稀疏度,经优化后,张量中的非零参数可以从211M压缩到44M,准确度基本没有损失。

使用方法

现在的权重剪枝API建立在Keras之上,因此开发者可以非常方便地将此技术应用于任何现有的Keras训练模型中。

开发者可以指定最终目标稀疏度(比如50%),以及执行剪枝的计划(比如2000步开始剪枝,在4000步时停止,并且每100步进行一次),以及剪枝结构的可选配置。

  1. import tensorflow_model_optimization as tfmot 
  2. model = build_your_model()  
  3. pruning_schedule = tfmot.sparsity.keras.PolynomialDecay( 
  4.  initial_sparsity=0.0, final_sparsity=0.5
  5.  begin_step=2000, end_step=4000
  6. model_for_pruning = tfmot.sparsity.keras.prune_low_magnitude(model, pruning_schedule=pruning_schedule) 
  7. ...  
  8. model_for_pruning.fit 

TensorFlow官方发布剪枝优化工具:参数减少80%,精度几乎不变

△ 三个不同张量,左边的没有稀疏度,中心的有多个单独0值,右边的有1x2的稀疏块。

随着训练的进行,剪枝过程开始被执行。在这个过程中,它会消除消除张量中最接近零的权重,直到达到当前稀疏度目标。

每次计划执行剪枝程序时,都会重新计算当前稀疏度目标,根据平滑上升函数逐渐增加稀疏度来达到最终目标稀疏度,从0%开始直到结束。

TensorFlow官方发布剪枝优化工具:参数减少80%,精度几乎不变

用户也可以根据需要调整这个上升函数。在某些情况下,可以安排训练过程在某个步骤达到一定收敛级别之后才开始优化,或者在训练总步数之前结束剪枝,以便在达到最终目标稀疏度时进一步微调系统。

TensorFlow官方发布剪枝优化工具:参数减少80%,精度几乎不变

△权重张量剪枝动画,黑色的点表示非零权重,随着训练的进行,稀疏度逐渐增加

GitHub地址:

https://github.com/tensorflow/model-optimization

官方教程:

https://www.tensorflow.org/model_optimization/guide/pruning/pruning_with_keras

【编辑推荐】

  1. 微软重启消失 10 年的实用工具集 PowerToys
  2. 微软开源可解释机器学习工具包lnterpretML
  3. 微软开源分散式身份识别工具 ION
  4. 19款超好用的免费数据挖掘工具大汇总!
  5. 开源倡导者担忧被微软垄断开源系统工具
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月获赞

订阅专栏+更多

这就是5G

这就是5G

5G那些事儿
共15章 | armmay

103人订阅学习

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

364人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

751人订阅学习

读 书 +更多

SQL Server 2005实现与维护(MCTS教程)

本书是微软认证技术专家(MCTS) 70-431考试的专用教材,全书共21章,围绕着考查目标,通过详尽的描述、大量课程和课后测试,全面介绍了SQL S...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微