使用 Learn2Compress 定製移動端機器學習模型
文 /
Google Expander 團隊高級職員兼研究科學家 Sujith Ravi
成功的深度學習模型往往需要大量的計算資源、內存和動力來訓練和運行,一旦您想讓它們能在移動設備和物聯網設備上表現良好,往往就會碰壁了。通過移動端機器學習,您可以直接在設備上運行推理,無論連接狀況如何,都可以保護數據隱私,不受任何訪問許可權的制約。移動端的 ML 系統,例如 MobileNets 和 ProjectionNets,通過優化模型效率來解決移動設備上的資源瓶頸。但是,如果您想為您的個人移動應用程序培訓自己定製的設備型號,那該怎麼辦呢?
在 Google I / O 開發者年會上,我們發布了 ML Kit 工具包,讓所有移動開發人員都可以使用機器學習。由我們的研究團隊開發的 「Learn2Compress」 技術提供了自動模型壓縮服務,這是 ML 工具包的核心功能之一,也將很快上線。 Learn2Compress 可以在 TensorFlow Lite 中實現自定義的移動端深度學習模型,可在移動設備上高效運行,開發人員無需擔心內存和速度優化問題。我們很高興能夠很快在 ML Kit 工具包中使用針對圖像分類的 Learn2Compress。 Learn2Compress 最初將面向少數開發人員開放,並在未來幾個月內提供給更廣泛的受眾。 如果您有興趣使用此功能來構建自己的模型,可以在
此處
註冊。註:此處鏈接
https://docs.google.com/forms/d/e/1FAIpQLSd7Uzx6eepXeF5osByifFsBT_L3BJOymIEjG9uz1wa51Fl9dA/viewform
工作原理
Learn2Compress 融合了之前研究工作中介紹的學習框架,如 ProjectionNet,並結合了幾種最先進的技術來壓縮神經網路模型。 它將用戶提供的大型預訓練 TensorFlow 模型作為輸入,執行訓練和優化,在精度損失最小的情況下自動生成尺寸較小,內存效率更高,功效更高,推理速度更快的即用型移動端模型。
用於自動生成設備上的 ML 模型的 Learn2Compress
為此,Learn2Compress 使用多種神經網路優化和壓縮技術,包括:
通過刪除對預測最不重要的權重或操作(例如低評分權重)來縮小模型的大小。這對於涉及稀疏輸入或輸出的設備模型非常有效,尺寸可以縮小 2 倍,同時保留 97% 的原始預測質量。
量化技術在訓練重的應用特別有效,並且可以通過減少用於模型權重和激活的比特數來提高推理速度。例如,使用 8 位定點代替浮點數可以加速模型推理,降低功耗,並進一步將尺寸減小 4 倍。
遵循師生學習策略使用聯合培訓和精餾方法- 我們使用一個更大的教師網路(在本例中,用戶提供的 TensorFlow 模型)來訓練一個緊湊型的學生網路(設備上的模型),其準確性損失最小。
聯合訓練和精餾壓縮學生模型
教師網路可以固定(如精餾)或聯合優化,甚至可以同時訓練不同大小的多個學生模型。 因此,與單一模型不同,Learn2Compress 可以一次性生成多個大小不一和推理速度不同的移動端模型,並讓開發人員選擇一個最適合其應用程序需求的模型。
這些和其他技術(如轉移學習)也使壓縮過程更有效,並且可以擴展到大規模數據集。
實際效果如何呢?
為了證明 Learn2Compress 的有效性,我們使用它來構建緊湊的移動端模型,這些模型包括用於圖像和自然語言任務的幾個最先進的深度網路,如 MobileNets,NASNet,Inception,ProjectionNet 等。對於給定的任務和數據集,我們可以生成多個推理速度和模型大小不同的移動端模型。
各種尺寸的 Learn2Compress 模型和全尺寸 Baseline 網路在 CIFAR-10(左)和 ImageNet(右)圖像分類任務中的精度。 用於生成 CIFAR-10 和 ImageNet 任務使用的的壓縮變體的學生網路分別使用 NASNet 和 MobileNet 啟發的架構進行建模
對於圖像分類,Learn2Compress 可以生成適合於移動應用的具有良好預測精度的小型快速模型。 例如,在 ImageNet 任務中,Learn2Compress 實現的模型比 Inception v3 Baseline 小22倍,比 MobileNet v1 Baseline 小 4 倍,精確度僅下降 4.6-7%。 在 CIFAR-10 上,聯合訓練具有共享參數的多個 Learn2Compress 模型,比單個 Learn2Compress 大型模型培訓時間僅多 10%,但是產生了 3 種壓縮模型,尺寸縮小 94 倍,速度提高 27 倍,成本降低 36 倍,預測質量良好(90-95%TOP-1 精度)。
CIFAR-10 圖像分類任務的 Baseline 和 Learn2Compress 模型的計算成本和平均預測延遲(在 Pixel 手機上)。 Learn2Compress 優化模型使用 NASNet 風格的網路架構
我們也很期待看到 Learn2Compress 在開發人員用例中的表現。 例如,釣魚愛好者的社交平台 Fishbrain 利用 Learn2Compress 將現有的圖像分類雲模型(大小為 80MB +,Top-3 準確度為 91.8%)壓縮到更小的移動端模型,尺寸小於 5MB,精度卻差不多。在某些情況下,我們觀察到由於更好的正則化效應,壓縮模型甚至可能略優於原始大模型的精度。
隨著機器學習和深度學習的未來發展,我們將繼續改進 Learn2Compress,並將其擴展到圖像分類以外的更多用例。我們很高興並期待通過 ML Kit 工具包在雲端的壓縮服務能夠儘快推出這項服務。我們希望這將使開發人員能夠輕鬆地自動構建和優化他們自己的設備上機器學習模型,以便他們可以專註於構建優秀的應用程序和酷炫的用戶體驗,包括計算機視覺,自然語言和其他機器學習應用程序。
更多 AI 相關閱讀:
· Android Smart Linkify 支持機器學習
· MnasNet:邁向移動端機器學習模型設計的自動化之路
· 將連接組學提高一個數量級
推薦閱讀:
※92圓之妙(17)——象之模型
※信息化教育的媒體選擇模型芻論從計算機在經驗之塔中的定位談起
※標本中氣(四)時空模型 - 吳門國醫學院
※康德「理性建築術」的兩種模型
※誰不想當領導?學習模型很重要!