Learn2Compress可將大型的TensorFlow模型經過訓練及優化,產出規模較小、記憶體效能較高、耗能更低、速度更快,適合行動裝置執行的輕量化模型。

圖片來源: 

Google

Google近日公開了行動裝置版深度學習模型壓縮技術Learn2Compress,能為開發者自製的深度學習模型建置出行動版的輕量型深度學習模型,開發者不需擔心優化記憶體和速度的問題,能夠在行動裝置上快速地執行模型,Google即將透過ML Kit釋出圖像分類的Learn2Compress技術。

成功的深度學習模型通常需要許多計算資源、記憶體和能源來訓練和執行,也因此,若要在行動裝置、IoT裝置上得到好的執行效能似乎有些困難,不過裝置上運行機器學習模型不但可以直接在介面上執行,還能確保資料隱私性和資料取得的便利性。

過去Google曾推出行動裝置版的機器學習系統,像是MobileNets、ProjectionNets,來解決行動裝置的資源瓶頸,但是,若開發者想為自己打造行動裝置的ML模型呢?

Google在前幾天的 I/O大會上宣布為行動App的開發人員,提供機器學習套件包ML Kit,來降低行動裝置App應用的AI技術門檻, 其中ML Kit一項核心服務自動壓縮模型的技術,就是Google研究團隊開發的Learn2Compress,該技術能夠自動壓縮自製的深度學習模型,讓模型有效率地在行動裝置上執行。

Learn2Compress結合了多種最新的壓縮神經網路技術,將開發者輸入的大型TensorFlow模型經過訓練和優化,自動產生規模較小、記憶體效能較高、耗能更低、速度更快的行動裝置模型,Learn2Compress使用的神經網路優化和壓縮技術包含修剪(Pruning)、量化(Quantization)、聯合訓練(Joint training)和萃取(Distillation)。

首先修剪的技術可以降低模型維度,利用刪除對預測結果影響最小的權重和運算,來縮減模型規模,Google表示該方法對於稀疏輸入資料的模型相當有用,最多能夠縮減為原來模型的一半,且維持97%原來預測模型的預測品質。

而量化則是透過減少模型的權重和活化參數占用的位數,來針對訓練和改善速度,舉例來說,相比用浮點數的表示法,用8位數定點能夠加速模型執行速度,減少能源消耗,也能將模型大小壓縮4倍。

聯合訓練和萃取的方法則是像師生的學習策略,用一個較大的網路當成老師,來訓練出壓縮過的學生網路,進而達到損失最小準確度品質的目的。(來源:Google)

老師網路可以被優化,並同時訓練出不同大小的學生網路,因此,Learn2Compress可以一次產生多個行動裝置模型,包含不同大小的模型,運算效率也不同,讓開發者自行選擇最適合自己需求的模型。

Google研究團隊表示,未來將會利用機器學習和深度學習等技術,繼續改善Learn2Compress,除了支援圖像分類模型的壓縮之外,還會陸續擴展更多的應用領域,讓開發者可以為電腦視覺、自然語言和其他機器學習應用,建立更多有用的App。


Advertisement

更多 iThome相關內容