加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

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

发布时间:2019-05-16 17:25:38 所属栏目:建站 来源:晓查
导读:本文经AI新媒体量子位(公家号ID:QbitAI)授权转载,转载请接洽出处。 客岁TensorFlow官方推出了模子优化器材,最多能将模子尺寸减小4倍,运行速率进步3倍。 最近现又有一款新器材插手模子优化豪华套餐,这就是基于Keras的剪枝优化器材。 实习AI模子偶然需

 TensorFlow官方宣布剪枝优化器材:参数镌汰80%,精度险些稳固

本文经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

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读