“MCUNet能夠把深度學習在單片機上做到 ImageNet 70% 以上的準確率,我們的研究表明,在物聯網設備上在線進行小資源機器學習的時代正在到來。”
近日,MIT 電子工程和計算機科學系助理教授韓松告訴 DeepTech,他所帶領的團隊解決了此前由于單片機硬件資源的限制無法在物聯網設備上的進行微型機器學習的難題。
今年 7 月,韓松團隊發表的論文 “MCUNet: Tiny Deep Learning on IoT Devices” 中提出了 MCUNet 方案,可以通過高效的網絡架構搜索(TinyNAS)和輕量推理引擎(TinyEngine)的聯合設計,實現在 MCU(Microcontroller Unit 微控制單元,又稱單片機)上運行 ImageNet 級別的推理。該論文第一作者林己在接受 DeepTech 采訪時表示,“我們發現,用我們的 MCUNet 方案,基本上相對輕量級的應用,在手機上跑得比較快的應用,都可以部署到單片機上。”
該論文顯示,相比谷歌的 TF-Lite Micro 與 ARM 的 CMSIS-NN 的傳統方案,使用 MCUNet 進行學習推理所需要的內存可以減少為原來的 29%,同時推理速度能夠提升 1.7-3.3 倍。
據了解,上述論文已入選今年的 AI 頂會 NeurIPS Spotlight,將在 12 月初進行線上分享探討活動。
更讓人興奮的是,NeurIPS 舉行前夕,林己告訴 DeepTech,論文發表后,團隊對 MCUNet 方案進行了再度優化,實現了運行使用內存縮減的同時推理速度的再提升。
DeepTech 了解到,目前,MCUNet 技術已與三家公司達成合作,同時更多公司表達了合作意向。
目前該技術大多用于語音或者視覺的關鍵詞檢測。語音檢測如大家熟悉的 Siri 以及 OK Google 之類;在視覺關鍵詞檢測方面,林己舉例說,比如人物識別應用中,可以先使用基于 MCUNet 方案低功耗、低成本的硬件檢測攝像頭前是否有人,檢測結果顯示有人之后,再去開啟強大的、能耗高的下一級 AI 系統。如此一來,可以實現整個設備在能耗較低的待機狀態下隨時準備激活的效果,降低成本的同時,保持系統的高效工作。
MCUNet 實現 IoT 設備上的微型機器學習
一直以來,深度學習在 IoT 微型設備上的運行難點在于,單片機的硬件資源限制。因為單片機的內存資源僅為手機、GPU 的幾千分之一,這導致原本在手機和 GPU 上能夠完美運行的 AI 方案,根本無法放入單片機中(模型大小過大),運行就更是別想(activation過大)。先前的模型壓縮、網絡設計相關工作,主要是優化減小神經網絡的計算量或者模型大小,沒有考慮到運行時神經網絡的 activation 大小,這導致優化過的神經網絡也難以滿足單片機的資源限制。
對此,韓松團隊開發的 MCUNet 方案,采用 TinyNAS 和 TinyEngine 結合的方式,能夠合理規劃單片機上僅有的內存,并進行高效的推理運算。
其中,TinyNAS 需要通過兩個步驟完成對單片機有限的空間進行合理規劃,以達到提升最終模型精確度的目的。
第一步,自動搜索神經網絡空間來適配不同硬件的資源限制,找到可以滿足硬件資源限制的最高精度的搜索空間;第二步,根據不同搜索空間中神經網絡計算量的分布,選擇特定單片機的自由搜索空間進行網絡架構的搜索。
搜索空間時,需要輸入分辨率和網絡寬度進行搜索。大概有 108 個可能的搜索空間配置,每個搜索空間配置包含 3.3×1025個子網絡。
韓松團隊認為,在內存約束下更有可能生成高 FLOPS 模型的設計空間可以提供更高的模型容量,因此有可能實現高精度。對比紅色和黑色,使用紅色空間進行神經體系結構搜索可達到 78.7% 的最終精度,而黑色空間則為 74.2%(在 ImageNet 100 上)。
圖 | TinyNAS 通過分析不同搜索空間的 FLOP CDF 來選擇最佳搜索空間
經過 TinyNAS 的優化,確保單片機在硬件資源最佳分配的狀態下使用 TinyEngine 展開推理運算。
在推理運算方面,傳統的機器學習方案 TF-Lite Micro 與 CMSIS-NN 采用的是基于解釋器的運行框架。在推理運行的同時進行網絡結構的解釋,所以需要將神經網絡操作中所有可能用到的算子以及支持所有上級的代碼全部儲存,這必須要有足夠大的內存才能夠承載。另外,解釋型框架是在運行期間對神經網絡的結構進行解釋,這一動作也將增加運行的負擔。
這種 “甜蜜的負擔” 對于 “身強力壯的巨人” 手機和 GPU 等內存足夠大的設備并無大礙,但對于單片機這種自身條件有限的 “小家伙” 來說,簡直寸步難行,甚至有將其壓垮的架勢。
由此,韓松團隊為 “小家伙” 量身定制了新的方案 ——MCUNet,林己向 DeepTech 介紹稱,MCUNet 使用 TinyEngine 框架,將神經網絡的編譯和執行步驟分開進行。編譯階段明確決定好內存的調度、執行過程中的必備動作以及所需算子,在執行過程中,微型處理器上只需要對當前神經網絡所執行的任務需要的算子進行儲存,內存調度上也無需進行動態處理。做到節省解釋時間的同時,也讓內存資源本就緊張的單片機能夠 “松一口氣”,讓更大模型神經網絡的運行看到一絲希望。
實驗結果顯示,使用 TinyEngine 運行之下的推理,與傳統框架 TF-Lite Micro 對比,推理速度提升了 3 倍,內存占用縮減為1/4,在 ImageNet 上的準確率則提高了 17%。
圖 | TinyEngine 與傳統框架推理效率、內存占用峰值、精確度對比
值得注意的是,在該論文發表之后,韓松團隊又加入了 in-place depthwise convolution 技術,結合 TinyNAS 可以進一步縮小神經網絡運行時的最大內存,同時降低神經網絡運行的硬件需求,實現 MCUNet 方案推理運算下效率和準確率的進一步提升。另外,林己還提到,“現在我們還加入了目標檢測相關的應用,比如可以用來檢測人、車以及人有沒有戴口罩等,而此前主要關注分類方面的應用”。
MCUNet 誕生于新冠疫情期間
“整體研發尤其后期,是在疫情下進行的,同學們都是在隔離的條件下獨立完成研發,團隊通過遠程進行交流,其實做得很辛苦。”
談及 MCUNet 的研發過程,韓松表示他印象最深刻的是疫情期間團隊成員在無法面對面交流的情況下進行研發,挑戰很大。
前文提到,提出 MCUNet 方案的論文已入選今年的 NeurIPS spotlight。其實,除此之外,韓松團隊今年入選 NeurIPS 的還有另外兩篇,分別為《TinyTL:降低內存占用而非參數量用于高效的設備上學習》和《可微分數據增強:訓練數據高效的生成對抗網絡》。在此不對另外兩篇論文進行展開,簡單了解下該團隊中 MCUNet 研發的主要成員。
帶隊老師韓松,為麻省理工電子工程和計算機科學系助理教授,在斯坦福大學獲得博士學位,研究重點為高效的深度學習計算。他曾提出的深度壓縮技術可以在不損失神經網絡精度的前提下大幅縮小網絡的模型參數,并且在硬件實現的高效推理引擎中首次探索了模型剪枝和參數稀疏化在深度學習加速器中的應用。曾獲 ICLR' 16 和 FPGA' 17 最佳論文獎等獎項,也因其在 “深度壓縮” 技術上的貢獻,于 2019 年被《麻省理工科技評論》評為全球 “35 歲以下的 35 名杰出創新者”。
MCUNet 論文第一作者林己,現為 MIT HAN Lab 在讀博士生,研究方向是高效率的深度學習算法和系統,除 MCUNet,他還曾開發全自動的深度模型壓縮和加速方法(AMC)。
參與 MCUNet 研究的還有陳威銘,為臺灣大學博士、MIT HAN Lab 準博后,研究方向主要包括微型化機器學習,MCUNet 方案中,陳威銘設計了適合微型控制器(Microcontroller)上運行的深度學習模型引擎(TinyEngine)。
原文標題:MIT韓松團隊開發全新微型深度學習技術MCUNet,實現ImageNet超70%準確率,可在物聯網設備高效運行
文章出處:【微信公眾號:DeepTech深科技】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
mcu
+關注
關注
146文章
17988瀏覽量
367422 -
計算機
+關注
關注
19文章
7667瀏覽量
90872 -
機器學習
+關注
關注
66文章
8505瀏覽量
134681
原文標題:MIT韓松團隊開發全新微型深度學習技術MCUNet,實現ImageNet超70%準確率,可在物聯網設備高效運行
文章出處:【微信號:deeptechchina,微信公眾號:deeptechchina】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
靈汐科技開源類腦深度學習應用開發平臺BIDL

E Ink元太科技與MIT Solve合作推動創新技術獎
NPU在深度學習中的應用
FPGA加速深度學習模型的案例
AI大模型與深度學習的關系
英特爾推出全新實感深度相機模組D421
FPGA做深度學習能走多遠?
NVIDIA推出全新深度學習框架fVDB
著名科幻作家韓松調研中國第三代自主超導量子計算機

評論