編者按:幾個(gè)月前,Tensorflow發(fā)布了一份名為《Quantizing deep convolutional networks for efficient inference》的白皮書,主要介紹團(tuán)隊(duì)關(guān)于模型量化的相關(guān)工作,所謂量化,簡(jiǎn)單來(lái)說(shuō)就是將32浮點(diǎn)數(shù)近似地用8位整數(shù)存儲(chǔ)和計(jì)算,量化后,模型占用存儲(chǔ)空間減小75%,能起到壓縮模型的效果。而現(xiàn)在,這項(xiàng)技術(shù)就快和大家見面了。
今天凌晨,TensorFlow官方發(fā)布消息稱將引入一個(gè)新的優(yōu)化工具包,方便機(jī)器學(xué)習(xí)初學(xué)者和高級(jí)開發(fā)人員進(jìn)行優(yōu)化,方便模型的部署和執(zhí)行。
它的名字是訓(xùn)練后量化(post-training quantization),這是模型量化的一類,主要優(yōu)點(diǎn)有:
模型占用存儲(chǔ)空間縮小75%
如果是主要由卷積層組成的模型,執(zhí)行速度提高10–50%
如果是基于RNN的模型,執(zhí)行速度提高3倍
內(nèi)存、算力要求的降低也意味著大多數(shù)模型的功耗會(huì)大幅降低
內(nèi)存、算力、功耗,這是模型量化的主要優(yōu)化對(duì)象,而在實(shí)踐中,最能從中收益的自然是在各種移動(dòng)端設(shè)備上使用機(jī)器學(xué)習(xí)模型的開發(fā)人員,尤其是TensorFlow Lite的用戶。
下圖展示了使用這個(gè)優(yōu)化工具包后,幾種典型模型在存儲(chǔ)空間占用上的變化(單核Android Pixel 2手機(jī)):
模型尺寸比較:經(jīng)優(yōu)化的模型幾乎為原來(lái)的1/4
下圖是訓(xùn)練后量化對(duì)模型執(zhí)行的加速效果(單核Android Pixel 2手機(jī)):
延遲比較:經(jīng)優(yōu)化的模型執(zhí)行速度提高了1.2到1.4倍
通常情況下,模型壓縮會(huì)對(duì)原有準(zhǔn)確率造成不同程度的影響,但訓(xùn)練后量化的影響幾乎等同于無(wú),它能在縮小尺寸、提高速度的前提下保持模型精度,如下圖所示(單核Android Pixel 2手機(jī)):
啟用模型量化
現(xiàn)在訓(xùn)練后量化已被集成到TensorFlow Lite中,它的使用方法很簡(jiǎn)單:首先構(gòu)建一個(gè)TensorFlow模型,其次在conversion tool中找到模型量化的標(biāo)志“posttrainingquantize”。假設(shè)模型存儲(chǔ)在savedmodeldir中,那么具體命令就是:
converter=tf.contrib.lite.TocoConverter.from_saved_model(saved_model_dir)
converter.post_training_quantize=True
tflite_quantized_model=converter.convert()
open(“quantized_model.tflite”, “wb”).write(tflite_quantized_model)
具體操作可見github:github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/tutorials/posttrainingquant.ipynb
雖然目前開發(fā)者們只能在TensorFlow Lite中用到這個(gè)技術(shù),但官方也稱將盡快把它整合到一般的TensorFlow工具中。
小結(jié)
除了訓(xùn)練后量化,在之前提到的白皮書中,Tensorflow還提到了訓(xùn)練時(shí)量化,它能使模型的準(zhǔn)確率更高。而綜合來(lái)看,它們都是基于量化設(shè)計(jì)的技術(shù),依靠把32浮點(diǎn)數(shù)近似地用8位整數(shù)存儲(chǔ)和計(jì)算來(lái)達(dá)到內(nèi)存占用更少、計(jì)算更少和功耗更少的目的。
隨著深層神經(jīng)網(wǎng)絡(luò)不斷在現(xiàn)實(shí)中落地,這種技術(shù)將適應(yīng)現(xiàn)代科技設(shè)備的發(fā)展步伐,為開發(fā)者和產(chǎn)品用戶帶來(lái)便利。
-
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8502瀏覽量
134592 -
tensorflow
+關(guān)注
關(guān)注
13文章
330瀏覽量
61171
原文標(biāo)題:模型大小縮小75%,TensorFlow推出模型優(yōu)化工具包
文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
IQM 宣布 Resonance 量子云平臺(tái)重大升級(jí),推出全新軟件開發(fā)工具包
鴻蒙5開發(fā)寶藏案例分享---優(yōu)化應(yīng)用包體積大小問(wèn)題
HarmonyOS優(yōu)化應(yīng)用包體積大小問(wèn)題性能優(yōu)化
英諾達(dá)推出RTL功耗優(yōu)化工具
可以使用OpenVINO?工具包將中間表示 (IR) 模型轉(zhuǎn)換為TensorFlow格式嗎?
在Google Colab筆記本電腦上導(dǎo)入OpenVINO?工具包2021中的 IEPlugin類出現(xiàn)報(bào)錯(cuò),怎么解決?
構(gòu)建開源OpenVINO?工具包后,使用MYRIAD插件成功運(yùn)行演示時(shí)報(bào)錯(cuò)怎么解決?
安裝OpenVINO?工具包穩(wěn)定擴(kuò)散后報(bào)錯(cuò),怎么解決?
云計(jì)算開發(fā)工具包的功能
七款經(jīng)久不衰的數(shù)據(jù)可視化工具!
Labview聲音和振動(dòng)工具包示例文件Sound Level
最新Simplicity SDK軟件開發(fā)工具包發(fā)布
基于EasyGo Vs工具包和Nl veristand軟件進(jìn)行的永磁同步電機(jī)實(shí)時(shí)仿真

FPGA仿真工具包軟件EasyGo Vs Addon介紹

采用德州儀器 (TI) 工具包進(jìn)行模擬前端設(shè)計(jì)應(yīng)用說(shuō)明

評(píng)論