TensorFlow 首個優化工具來了:模型壓縮4倍,速度提升3倍!
今天,TensorFlow發布了一個新的優化工具包:一套可以讓開發者,無論是新手還是高級開發人員,都可以使用來優化機器學習模型以進行部署和執行的技術。
這些技術對於優化任何用於部署的TensorFlow模型都非常有用。特別是對於在內存緊張、功耗限制和存儲有限的設備上提供模型的TensorFlow Lite開發人員來說,這些技術尤其重要。
關於TensorFlow Lite,這裡有更多教程:
https://www.tensorflow.org/mobile/tflite/
優化模型以減小尺寸,降低延遲和功耗,同時使精度損失可以忽略不計
這次添加支持的第一個技術是向TensorFlow Lite轉換工具添加
post-training模型量化(post-training quantization)
。對於相關的機器學習模型,這可以實現最多
4倍的壓縮和3倍的執行速度提升
。通過量化模型,開發人員還將獲得
降低功耗
的額外好處。這對於將模型部署到手機之外的終端設備是非常有用的。啟用 post-training quantization
post-training quantization技術已集成到TensorFlow Lite轉換工具中。入門很簡單:在構建了自己的TensorFlow模型之後,開發人員可以簡單地在TensorFlow Lite轉換工具中啟用「post_training_quantize」標記。假設保存的模型存儲在saved_model_dir中,可以生成量化的tflite flatbuffer:
1
converter=tf.contrib.lite.TocoConverter.from_saved_model(saved_model_dir)2
converter.post_training_quantize=True
3
tflite_quantized_model=converter.convert()4
open(「quantized_model.tflite」, 「wb」).write(tflite_quantized_model)我們提供了教程詳細介紹如何執行此操作。將來,我們的目標是將這項技術整合到通用的TensorFlow工具中,以便可以在TensorFlow Lite當前不支持的平台上進行部署。
教程:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/tutorials/post_training_quant.ipynb
post-training 量化的好處
模型大小縮小4倍
模型主要由卷積層組成,執行速度提高10-50%
基於RNN的模型可以提高3倍的速度
由於減少了內存和計算需求,預計大多數模型的功耗也會降低
有關模型尺寸縮小和執行時間加速,請參見下圖(使用單核心在Android Pixel 2手機上進行測量)。
圖1:模型大小比較:優化的模型比原來縮小了4倍
圖2:延遲比較:優化後的模型速度提高了1.2到1.4倍
這些加速和模型尺寸的減小對精度影響很小。一般來說,對於手頭的任務來說已經很小的模型(例如,用於圖像分類的mobilenet v1)可能會發生更多的精度損失。對於這些模型,我們提供預訓練的完全量化模型(fully-quantized models)。
圖3:精度比較:除 mobilenets外,優化後的模型的精度下降幾乎可以忽略不計
我們希望在未來繼續改進我們的結果,請參閱模型優化指南以獲得最新的測量結果。
模型優化指南:
https://www.tensorflow.org/performance/model_optimization
post-training quantization的工作原理
在底層,我們通過將參數(即神經網路權重)的精度從訓練時的32位浮點表示降低到更小、更高效的8位整數表示來運行優化(也稱為量化)。 有關詳細信息,請參閱post-training量化指南。
post-training量化指南:
https://www.tensorflow.org/performance/post_training_quantization
這些優化將確保將最終模型中精度降低的操作定義與使用fixed-point和floating-point數學混合的內核實現配對。這將以較低的精度快速執行最繁重的計算,但是以較高的精度執行最敏感的計算,因此通常會導致任務的最終精度損失很小,甚至沒有損失,但相比純浮點執行而言速度明顯提高。
對於沒有匹配的「混合」內核的操作,或者工具包認為必要的操作,它會將參數重新轉換為更高的浮點精度以便執行。有關支持的混合操作的列表,請參閱post-training quantizaton頁面。
未來的工作
我們將繼續改進post-training量化技術以及其他技術,以便更容易地優化模型。這些將集成到相關的TensorFlow工作流中,使它們易於使用。
post-training量化技術是我們正在開發的優化工具包的第一個產品。我們期待得到開發者的反饋。
關注公眾賬號
【
飛馬會
】▼
飛馬會AI人工智慧/大數據/技術管理等人員學習交流園地
往期福利
關注飛馬會公眾號,回復對應關鍵詞打包下載學習資料;
回復「入群」,加入飛馬網AI、大數據、項目經理學習群,和優秀的人一起成長!
回復
數字「1」
下載從入門到研究,人工智慧領域最值得一讀的10本資料(附下載)回復
數字「2」
機器學習 & 數據科學必讀的經典書籍,內附資料包!回復
數字「3」
走進AI & ML:從基本的統計學到機器學習書單(附PDF下載)
回復
數字「4」
了解人工智慧,30份書單不容錯過(附電子版PDF下載)回復
數字「5」
大數據學習資料下載,新手攻略,數據分析工具、軟體使用教程
回復
數字「6」
AI人工智慧:54份行業重磅報告匯總(附下載)
回復
數字「7」
TensorFlow介紹、安裝教程、圖像識別應用(附安裝包/指南)
回復
數字「8」
大數據資料全解析(352個案例+大數據交易白皮書+國內外政策匯篇)
回復
數字「9」
乾貨 | 薦讀10本大數據書籍(初級/中級/高級)成為大數據專家!
回復
數字「10」
麥肯錫160頁報告:2030年全球將可能8億人要被機器搶飯碗
回復
數字「11」
50本書籍大禮包:AI人工智慧/大數據/Database/Linear Algebra/Python/機器學習/Hadoop
回復
數字「12」
小白| Python+Matlab+機器學習+深度神經網路+理論+實踐+視頻+課件+源碼,附下載!
回復
數字「13」
大數據技術教程+書籍+Hadoop視頻+大數據研報+科普類書籍
回復
數字「14」
小白| 機器學習和深度學習必讀書籍+機器學習實戰視頻/PPT+大數據分析書籍推薦!
回復
數字「15」
大數據hadoop技術電子書+技術理論+實戰+源代碼分析+專家分享PPT
回復
數字「16」
100G Python從入門到精通!自學必備全套視頻教程+python經典書籍!
回復
數字「17」
【乾貨】31篇關於深度學習必讀論文匯總(附論文下載地址)
回復
數字「18」
526份行業報告+白皮書:AI人工智慧、機器人、智能出行、智能家居、物聯網、VR/AR、 區塊鏈等(附下載)
回復
數字「19」
800G人工智慧學習資料:AI電子書+Python語言入門+教程+機器學習等限時免費領取!
回復
數字「20」
17張思維導圖,一網打盡機器學習統計基礎(附下載)
回復
數字「21」
收藏 |7本 Matlab入門經典教程書籍,不可錯過!
回復
數字「22」
吳恩達新書,教你構建機器學習項目:《Machine Learning Yearning》
回復
數字「23」
機器學習:怎樣才能做到從入門到不放棄?(內含福利)
回復
數字「24」
限時下載 | 132G編程資料:Python、JAVA、C,C++、機器人編程、PLC,入門到精通~
回復
數字「25」
限資源 | 177G Python/機器學習/深度學習/演算法/TensorFlow等視頻,涵蓋入門/中級/項目各階段!
回復
數字「26」
人工智慧入門書單推薦,學習AI的請收藏好(附PDF下載)
回復
數字「27」
資源 | 吳恩達斯坦福CS230深度學習課程全套資料放出(附下載)
回復
數字「28」
懂這個技術的程序員被BAT瘋搶...(內含資料包)
回復
數字「29」
乾貨 | 28本大數據/數據分析/數據挖掘電子書合集免費下載!
回復
數字「30」
領取 | 100+人工智慧學習、深度學習、機器學習、大數據、演算法等資料,果斷收藏!
回復
數字「31」
2G谷歌機器學習25講速成課全集(中文版),限時下載
回復
數字「32」
Matlab安裝包+教程視頻,讓你從入門到精通!
回復
數字「33」
程序員去阿里面試,沒想到過程如此壯烈 (內含資料包)
回復
人工智慧
下載《FMI人工智慧與大數據峰會嘉賓演講PPT》
回復
AI 江湖
下載《十大AI江湖領域》
回復
ML實踐
下載《機器學習實踐經驗指導(英文版)》
回復
DL論文
下載《深度學習100篇以上論文資料》
回復
演算法
下載
《數據挖掘十大經典演算法》
回復
6.10
下載《6.10餓了么&飛馬網項目管理實踐PPT》
資深程序員想轉行嗎?點擊
「閱讀原文」
推薦閱讀:
※魏指薪 > 證治經驗 胸腰椎壓縮性骨折治療經驗
※INQ漸進式神經網路量化-論文筆記
※水面風景圖片(大圖壓縮顯示)
※簡單介紹下我寫的SVG在線壓縮合併工具
※如何壓縮網站提高網頁的打開速度