日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發(fā)布時間:2023/12/4 40 生活家
生活随笔 收集整理的這篇文章主要介紹了 TensorFlow官方发布剪枝优化工具:参数减少80%,精度几乎不变 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
曉查 編譯自 Medium
量子位 報道 | 公眾號 QbitAI

去年TensorFlow官方推出了模型優(yōu)化工具,最多能將模型尺寸減小4倍,運行速度提高3倍。

最近現(xiàn)又有一款新工具加入模型優(yōu)化“豪華套餐”,這就是基于Keras的剪枝優(yōu)化工具。

訓練AI模型有時需要大量硬件資源,但不是每個人都有4個GPU的豪華配置,剪枝優(yōu)化可以幫你縮小模型尺寸,以較小的代價進行推理。

什么是權(quán)重剪枝?

權(quán)重剪枝(Weight Pruning)優(yōu)化,就是消除權(quán)重張量中不必要的值,減少神經(jīng)網(wǎng)絡層之間的連接數(shù)量,減少計算中涉及的參數(shù),從而降低操作次數(shù)。

這樣做的好處是壓縮了網(wǎng)絡的存儲空間,尤其是稀疏張量特別適合壓縮。例如,經(jīng)過處理可以將MNIST的90%稀疏度模型從12MB壓縮到2MB。

此外,權(quán)重剪枝與量化(quantization)兼容,從而產(chǎn)生復合效益。通過訓練后量化(post-training quantization),還能將剪枝后的模型從2MB進一步壓縮到僅0.5MB 。

TensorFlow官方承諾,將來TensorFlow Lite會增加對稀疏表示和計算的支持,從而擴展運行內(nèi)存的壓縮優(yōu)勢,并釋放性能提升。

優(yōu)化效果

權(quán)重剪枝優(yōu)化可以用于不同任務、不同類型的模型,從圖像處理的CNN用于語音處理的RNN。下表顯示了其中一些實驗結(jié)果。

以GNMT從德語翻譯到英語的模型為例,原模型的BLEU為29.47。指定80%的稀疏度,經(jīng)優(yōu)化后,張量中的非零參數(shù)可以從211M壓縮到44M,準確度基本沒有損失。

使用方法

現(xiàn)在的權(quán)重剪枝API建立在Keras之上,因此開發(fā)者可以非常方便地將此技術應用于任何現(xiàn)有的Keras訓練模型中。

開發(fā)者可以指定最終目標稀疏度(比如50%),以及執(zhí)行剪枝的計劃(比如2000步開始剪枝,在4000步時停止,并且每100步進行一次),以及剪枝結(jié)構(gòu)的可選配置。


import?tensorflow_model_optimization?as?tfmotmodel?=?build_your_model()pruning_schedule?=?tfmot.sparsity.keras.PolynomialDecay(initial_sparsity=0.0,?final_sparsity=0.5,begin_step=2000,?end_step=4000)model_for_pruning?=?tfmot.sparsity.keras.prune_low_magnitude(model,?pruning_schedule=pruning_schedule)…model_for_pruning.fit(…)?tensorflow_model_optimization?as?tfmot

model?=?build_your_model()

pruning_schedule?=?tfmot.sparsity.keras.PolynomialDecay(
initial_sparsity=0.0,?final_sparsity=0.5,
begin_step=2000,?end_step=4000)

model_for_pruning?=?tfmot.sparsity.keras.prune_low_magnitude(model,?pruning_schedule=pruning_schedule)



model_for_pruning.fit(…)

?三個不同張量,左邊的沒有稀疏度,中心的有多個單獨0值,右邊的有1x2的稀疏塊。

隨著訓練的進行,剪枝過程開始被執(zhí)行。在這個過程中,它會消除消除張量中最接近零的權(quán)重,直到達到當前稀疏度目標。

每次計劃執(zhí)行剪枝程序時,都會重新計算當前稀疏度目標,根據(jù)平滑上升函數(shù)逐漸增加稀疏度來達到最終目標稀疏度,從0%開始直到結(jié)束。

用戶也可以根據(jù)需要調(diào)整這個上升函數(shù)。在某些情況下,可以安排訓練過程在某個步驟達到一定收斂級別之后才開始優(yōu)化,或者在訓練總步數(shù)之前結(jié)束剪枝,以便在達到最終目標稀疏度時進一步微調(diào)系統(tǒng)。

權(quán)重張量剪枝動畫,黑色的點表示非零權(quán)重,隨著訓練的進行,稀疏度逐漸增加

GitHub地址:

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

官方教程:
https://www.tensorflow.org/model_optimization/guide/pruning/pruning_with_keras

訂閱AI內(nèi)參,獲取AI行業(yè)資訊

加入社群

量子位AI社群開始招募啦,量子位社群分:AI討論群、AI+行業(yè)群、AI技術群;

歡迎對AI感興趣的同學,在量子位公眾號(QbitAI)對話界面回復關鍵字“微信群”,獲取入群方式。(技術群與AI+行業(yè)群需經(jīng)過審核,審核較嚴,敬請諒解)

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節(jié),請在量子位公眾號(QbitAI)對話界面,回復“招聘”兩個字。

量子位?QbitAI · 頭條號簽約作者

?'?' ? 追蹤AI技術和產(chǎn)品新動態(tài)

喜歡就點「好看」吧 !

總結(jié)

以上是生活随笔為你收集整理的TensorFlow官方发布剪枝优化工具:参数减少80%,精度几乎不变的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。