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