中文 | English

當MCU遇上AI:Embedded ML大有可為!

作者:王姵文

目前的學習、開發與應用趨勢都交集至Edge AI這個議題上,而所謂的Edge也從Gateway、PC、手機,一步步走向MCU-based的嵌入式系統,進而帶動嵌入式機器學習(Embedded ML)或微型機器學習(TinyML)的研究熱潮。Arm DevTalks 2021系列活動第一場於8/14(六)舉辦的線上社聚,邀請到兩位關注此議題已久的開發者代表:許哲豪(Jack Hsu)及沈綸銘(Odin Shen)來做分享。

Edge AI的最後一哩路:Embedded ML

第一位講者是Jack Hsu,他是Edge AI Taiwan邊緣智能交流區版主和歐尼克斯實境互動工作室創辦人。「人工智慧的範疇裡,陸續衍伸出機器學習(ML)、深度學習(DL)及神經網路(NN)等領域。」Jack提到機器學習是基於統計學的概念,自動分析學習規律,進而對未知資料進行預測,適用在低維資料集,可細分成監督式學習和非監督學習;深度學習則運用神經網路演算法,適用超高維非線性資料,又細分成卷積神經網路(CNN)和循環神經網路(RNN)。

「Edge AI具有高隱私、低延遲、低成本的特性。」Jack強調,在隱私的方面,例如影像資料不能上傳,計算完之後只需要把運算結果上傳,不用上傳大量資料,這樣比較安全,速度也比較快;低延遲則是像自駕車的應用,需要有立即的反應;物聯網的應用則可能對於成本有較高的敏感度。

「嵌入式系統分成系統級晶片(SoC)和單晶片(MCU)」,Jack說,兩者最大差別在於SoC的軟體往往需要較大的儲存空間,所以記憶體功能(Flash、DRAM)是與運算單元分開的;MCU則是各單元都塞在一起,缺點是沒有較大的儲存空間。常見單晶片系列從以前的Intel 8051、Motorola 6800、Arm Cortex-M一直進展,已涵蓋4、8、16、32位元等晶片架構。

「Embedded ML的裝置與應用在於整合感測元件、算力、算法、作業系統進行感測、預測與決策工作。」Jack也提到一些常見的限制,像是體積微型化、算力不足、記憶體有限、消耗功率(包含散熱問題)、價格考量等。「TinyML目前有一個基金會,並有許多廠商致力於推廣,Arm正是其中的重要代表。」

TinyML被廣泛定義為一個快速發展的機器學習技術和應用領域,包括硬體、算法和應用軟體,能夠以極低的功耗(通常在mW範圍及以下)執行設備上的傳感器數據分析,從而實現各種長時間運作的應用和滿足電池供電的設備需求,例如IoT設備。

Jack為大家細數Arm的MCU晶片核心運算能力與適用情境,從運算力較低的Cortex-M系列,可用於振動感測及感測器融合應用;到更強的Cortex-M55,可用於關鍵字偵測與異常偵測;Ethos-U55則進一步可做到手勢偵測,而Cortex-A系列更可用以生物識別、語音辨識等應用。整體而言,當資料的輸入量越大,運算力的需求也越大。「Sensor + MCU + TinyML等於智能感測器,就是真正的AI加IoT。」Jack一語道破TinyML的發展定位。

Jack以Arm架構分享嵌入式智能的常見應用

Jack分享在Hackster.io上的MCU智能應用

Jack認為,總體來說Embedded ML和TinyML有許多發展機會,隨半導體製程提升,MCU中的CPU運算速度(時脈)隨之提高,同時Flash和SRAM容量也會加大。未來MCU加入神經網路處理器(NPU)的趨勢會日趨明顯,因此有機會從智能感測器提升至常時、即時視覺偵測應用。

但也伴隨著許多挑戰,像是時序型預測算法仍不足;可視化除錯功能待加強;受限於算力,因此線上直接訓練模型,僅有極少數高階MCU及簡易型應用得以實現;最後則是大模型優化算法能力難以完全滿足小型MCU儲存空間及記憶體不足的問題,須開發更符合MCU專用之AI應用模型。

TinyML 生態系統與技術發展藍圖

第二位講者是Arm首席應用工程師Odin Shen,負責推展AI相關領域的生態系夥伴,他指出:「現在很多產業都在發展AI,而MCU-based的AI應用更是相當火熱的趨勢。」

目前Arm的合作夥伴已創造了超過1,900億Arm架構的晶片出貨量,光是2020年就有250億的出貨量,現在大多應用在手機、平板、電視、自駕車等多元領域。Arm去年成立滿30年,前26年的Arm架構晶片出貨量是1,000億個,近4年的目標出貨量則已是1,000億個,可以看到市場對於Arm晶片的需求急速增加。

「以前提到AI,大家會想到在雲端做一些運算,例如在一堆照片裡辨識出哪張是貓的照片,但這樣並不足以滿足產業的需求,不管是在手機、自駕車等應用。」Odin進而指出,現在市場需要的是,例如在手機這類裝置就能做的引擎異常偵測、語音助理,或臉部解鎖支付;雖然現在這些應用很常見,但3~5年前,這些其實是很有挑戰性的技術應用。至於AI為什麼要轉移到Edge?Odin呼應Jack的說法:頻寬、功率、成本、低延遲、可靠性和安全都是原因。

「AI慢慢從雲端往Edge移動,進而影響到各個產業,那要如何達到呢?」Odin舉例,如Google的翻譯、IG的濾鏡處理、語音辨識、臉部解鎖等功能,若要在終端裝置上執行,牽涉到的是如何適當使用SoC的運算能力。如果把SoC的系統規模放更大,以手機的晶片為例,還會包含GPU、DPU、記憶體和軟體。「我們發現Arm based的裝置需要跟許多運算系統協同工作,所以Arm致力於提供多樣化的IP選擇。」

Odin也提到,「專業化處理」是機器學習創新的關鍵,開發者需站在IoT、手機、電視、Server、Automotive等不同應用的需求角度來規劃最佳化的SoC架構。以IoT為例,它是以CPU為主,再依據需求搭配NPU,這是個最典型的作法,但像手機系統就會需要更複雜的SoC架構。「我們預期市面上會有越來越多的Arm合作夥伴,針對不同類型場域的需求設計專屬的解決方案。」

Odin分享他以Arm架構的晶片和開源ML框架自造一個可以提醒女兒正在叫他的裝置

「TinyML是個組織,也是個很火熱的題目,但TinyML還是有很多挑戰要面對。例如在導入神經網絡技術的趨勢下,需要跑得動更大的模型,但也需要更高的精度和功能,增加記憶體、推論能力等;而TinyML目前本身也因為功率、成本、記憶體、運算能力,而有所限制。」Odin對此做了總結。

小結

透過兩位講師的分享,可以了解到在Embedded ML和Tiny ML這個方興未艾,也特別適合台灣開發者及IoT/ AI Maker的議題,充滿了發展機會和挑戰,在眾人投入心力和時間下,未來將有無限可能。

分享到社群

vMaker編輯部

歡迎各界朋友投稿你的maker故事,不論是個人作品、創客觀點或是創客的經驗分享,我們都十分期待能聽到您的分享。 投稿請至:contact@vmaker.tw