Custom On-Device ML Models with Learn2Compress

Wednesday, May 9, 2018

Posted by Sujith Ravi, Senior Staff Research Scientist, Google Expander Team

成功的深度學習模型通常需要大量的計算資源,內存和強大的培訓和運行能力,如果您希望他們在移動和物聯網設備上表現良好,則會出現障礙。設備上的機器學習功能可讓您直接在設備上運行推理,無論連接性如何,都可享受數據隱私和無處不在的優勢。設備上的ML系統(如MobileNets和ProjectionNets)通過優化模型效率來解決移動設備上的資源瓶頸問題。但是,如果您想為您的個人移動應用程序培訓自己定製的設備型號,該怎麼辦?

昨天在Google I / O上,我們宣佈了ML Kit,使所有移動開發人員都可以訪問機器學習。將於近期推出的核心ML Kit功能之一是由我們的研究團隊開發的「Learn2Compress」技術提供動力的自動模型壓縮服務。Learn2Compress支持TensorFlow Lite中的定製設備深度學習模型,可在移動設備上高效運行,而無需開發人員考慮優化內存和速度。我們很高興通過ML Kit儘快為Learn2Compress提供圖像分類。Learn2Compress最初可供少數開發人員使用,並將在未來幾個月內提供更廣泛的服務。你可以在這裡註冊如果您有興趣使用此功能構建自己的模型。

它是如何工作的Learn2Compress概括了以前的作品中引入的學習框架,如ProjectionNet,並結合了用於壓縮神經網路模型的幾種最先進的技術。它將用戶提供的大量預訓練的TensorFlow模型作為輸入,執行訓練和優化,並自動生成更小尺寸,更高內存效率,更高能效和更快速的即用型設備模型推理精度損失最小。

Learn2Compress用於自動生成設備上的ML模型

為此,Learn2Compress使用多種神經網路優化和壓縮技術,包括:

  • 修剪通過去除對預測最不利的權重或操作(例如低分值權重)來減少模型大小。特別是對於涉及稀疏輸入或輸出的設備上模型,這可以非常有效,可以將尺寸減小至2 倍,同時保留原始預測質量的97%。
  • 量化技術在訓練期間應用時特別有效,並且可以通過減少用於模型權重和激活的比特數來提高推理速度。例如,使用8位固定點表示而不是浮點數可以加速模型推斷,降低功耗並進一步將尺寸減小4倍。
  • 聯合培訓升學方法遵循師生學習策略 - 我們使用更大的教師網路(在這種情況下,用戶提供的TensorFlow模型)以最小的精度損失來訓練緊湊的學生網路(設備型號)。

聯合訓練和精鍊方法來學習緊湊型學生模型

教師網路可以固定(如蒸餾)或聯合優化,甚至可以同時培養多個不同大小的學生模型。因此,Learn2Compress不僅僅是一個模型,而是以單次拍攝,不同尺寸和推理速度生成多個設備上模型,並讓開發人員選擇最適合其應用需求的模型。

這些和其他技術,如傳輸學習,也使壓縮過程更加高效並可擴展到大規模數據集。

它有多好?為了演示Learn2Compress的有效性,我們使用它來構建用於圖像和自然語言任務(例如MobileNets,NASNet,Inception,ProjectionNet等)中的幾個最先進的深度網路的緊湊型設備上模型。對於給定的任務和數據集,我們可以生成具有不同推理速度和模型大小的多個設備上模型。

Learn2Compress模型和CIFAR-10(左)和ImageNet(右)圖像分類任務的全尺寸基線網路的各種尺寸的精度。用於為CIFAR-10和ImageNet生成壓縮變體的學生網路分別使用NASNet和MobileNet靈感體系結構進行建模。

對於圖像分類,Learn2Compress可以生成適用於移動應用的具有良好預測精度的小型快速模型。例如,在ImageNet任務中,Learn2Compress實現的模型比Inception v3基線小22倍,比MobileNet v1基線小4倍,準確性降低4.6-7%。在CIFAR-10上,共同培訓多個具有共享參數的Learn2Compress模型,比培訓單個Learn2Compress大型模型多花費10%的時間,但產生3個壓縮模型,尺寸縮小94倍,速度提高27倍,成本降低36倍和良好的預測質量(90-95%前1精度)。

CIFAR-10圖像分類任務的基線和Learn2Compress模型的計算成本和平均預測延遲(在Pixel手機上)。Learn2Compress優化模型使用NASNet風格的網路架構

我們也很高興看到它在開發者用例中表現如何。例如,Fishbrain,釣魚愛好者社交平臺,用於Learn2Compress他們現有的圖像分類雲模型(80MB +的尺寸和91.8%頂-3-精度)壓縮到更小的設備上的模型,小於5MB在大小,與準確度相近 在某些情況下,我們觀察到由於更好的正則化效應,壓縮模型甚至可能略微超過原始大模型的精度。

隨著未來ML和深度學習的進展,我們將繼續改進Learn2Compress,並擴展到超越圖像分類的更多用例。我們很高興,並期待通過雲端ML Kit的壓縮服務儘快提供此服務。我們希望這將使開發人員能夠輕鬆自動構建和優化他們自己的設備上的ML模型,以便他們可以專註於構建出色的應用程序,以及用戶體驗,包括計算機視覺,自然語言和其他機器學習應用程序。致謝

我要感謝我們的核心貢獻者Gaurav Menghani,Prabhu Kaliamoorthi和Yicheng Fan以及Wei Chai,Kang Lee,Sheng Xu和Pannag Sanketi。特別感謝Android團隊的Dave Burke,Brahim Elbouchikhi,Hrishikesh Aradhye,Hugues Vincent和Arun Venkatesan; Sachin Kotwani,Wesley Tarle,Pavel Jbanov和Firebase團隊; Andrei Broder,Andrew Tomkins,Robin Dua,Patrick McGregor,Gaurav Nemade,Google Expander團隊和TensorFlow團隊。

原文鏈接:ai.googleblog.com/2018/


推薦閱讀:
相關文章