作者:王姵文
Arm Cortex-M系列處理器架構因具備低成本、高效能、低耗電的特性,非常適合做為IoT終端裝置核心的微控制器(MCU),而近幾年Edge AI興起,這些內嵌Arm核心的MCU也被賦予新的使命:要能夠支援AI的功能,也就是走向嵌入式機器學習(Embedded ML)或微型機器學習(TinyML)的新境界。
Arm DevTalks 2021系列活動即聚焦在Embedded ML/ Tiny ML這個方興未艾、也特別適合台灣開發者及IoT/ AI Maker的議題上,接續上一場《趨勢篇》勾勒出Embedded ML的「美好前景」並剖析現況挑戰,第二場於9/10(五)舉辦的線上社聚,由《平台篇》接手,邀請Arm、意法半導體及QuickLogic等提供MCU for AI開發平台的代表性廠商進行分享,探討如何在MCU上建構AI能力。
比較、分析、選擇、專屬IP的最佳解方
第一位講者是Arm主任應用工程師彭彥龍( Julian Peng),他開宗明義的說:「Arm的宗旨希望為系統的架構師提供自由、彈性又適合的IP進行設計,以達到更高的產品利潤和專案的效能,並且能夠更省電!」 Julian指出市面上充斥著各種IP可以挑選,為了可以更適當地去選擇,Arm把客戶的考量列入後,制定五大類流程以簡化選擇的過程。
第一點是功能,首先檢視Arm的IP是否有專屬、適合的介面,與客戶的產品設計和其他的IP是否相容;第二點是實用性,例如IP的可用性是否能在特定期限內取得,以及技術和品質;第三點是架構師最常考量的PPA(Power, Performance, Area),也就是功耗、效能、面積,所選擇的IP及IP的list是否符合PPA的規劃;第四點是設計工具和支援的實際問題,例如是否有偵錯工具或搭配軟體一起推出,可以在IP上執行工作負載去評估和決策;第五點是商業和財務的考量,例如IP的成本和適用條款等問題。
Julian也提到,特定用戶能根據Arm提供的資料,或透過自行上網查閱資料即可選擇IP來進行SoC的開發流程;但也有部分客戶會想透過Arm的IP執行客製化的工作負載,並於評估IP的效能後,再進行決策與開發SoC。「這是我們希望能夠簡化和克服的問題,讓用戶可以更簡便的評估客製化軟體的效能,並透過在IP上面執行工作負載來迅速做出決策。」
此工具的後端是Arm部署已久的成熟技術,Julian提到這是由兩種不同的Models構成,一個是Arm Fast Models,其特性是運算速度快且適合做軟體開發;第二種是建立在Arm後端的Arm Cycle Models,其特性是週期完全精確,能將已經在Fast Models驗證過的軟體放到Cycle Models去跑。
「這個工具不需要費時設定環境,最重要的是能夠立即得到自訂代碼的分析結果,並可分析工作負載等高階的指標;也能分析中階的統計數據,如頻寬及記憶體使用率;而針對底層的軟體功能,透過該工具,架構師即可簡便地蒐集效能的數據。」Julian強調善用工具( Arm DevSummit 2021即將發表最新一代工具,敬請報名參與)能有效節省工具環境的設定時間、加速建置一套系統來進行分析,也能大幅縮短移植程式的時間。
STM32加速邊緣運算與AI運用
第二位講者是意法半導體亞太區技術行銷專案經理王柏雄(Daniel Wang),他指出,STM32Cube.AI是一套專為嵌入式AI而設計的開發工具,提供許多好用的AI解決方案讓開發者來使用,例如FP-AI-VISION1,顧名思義就是影像辨識,包含人或食物的識別;FP-AI-SENSING1可用於辨識人的身體狀態是靜止或是移動的,也能用來辨識聲音的類型;FP-AI-NANOEDG1則強調用在工業上預測性的設備維護。
「嵌入式神經網路背後的關鍵步驟,依序是蒐集資料清理、標記數據且建構神經網路拓撲、訓練神經網路(NN)模型、將NN轉換為MCU的優化代碼、處理和分析新的神經網路數據(有訓練過的)。」Daniel分享若將上述步驟相對應到ST的產品,在第一步蒐集資料時,ST有提供具備工業等級感測器的開發版,第二步的標記數據提供手機APP來執行,第三步有STM32.Cube.AI該工具可以做轉換和最佳化,適用於STM32在M4和M7這樣中高階等級的MCU都有支援。
至於好處是什麼呢?Daniel指出以MCU此類已是非常侷限的資源來講,使用STM32Cube.AI此項最佳化工具,能夠在相對侷限的記憶體裡進行最佳化;另一個特點是STM32Cube.AI已整合到STM32CubeMX,STM32CubeMX是一個非常完整的工具,包括選擇需要的MCU、接腳配置、時鐘樹初始化等,都可以從STM32CubeMX去下載STM32Cube.AI來做使用和操作。
IoT to AIoT: Deployment and Application
第三位講者是QuickLogic亞洲業務總監連文賢(Edward Lien),他認為開發AI應用最困難的是寫程式,因為除了要會寫程式,還要能夠對數據資料做分析和理解。若要解決此問題,需要有個能預建在低功耗MCU裡的AI模型,而SensiML就是一套可自動建好AI Model來辨識裝置狀態的工具。
「QuickLogic目標希望以SensiML搭配低功耗的MCU,提供客戶更好的選擇。去年時我們認為這套簡單好應用的軟體僅能支援公司的MCU有點可惜,便開放支援其他的MCU廠商。」Edward表示:「在思考解決方案的方向時,我們發現開發者要做AIoT時有三個挑戰,分別是以雲端為中心的AI、深度學習,以及寫程式。」
SensiML主要支援的是低功耗的應用,簡單來說就是非影像類的應用,近年AIoT的市場遠大於影像類的應用,這也是為什麼QuickLogic把解決方案專注在低功耗的應用上。「最重要的是不需要寫任何一行code,就可以利用這套工具建構出AI Model,非常簡單快速!」
小結
透過三位講師的分享,從開發平台、使用工具的介紹,以及實務應用,剖析MCU在AI的開發環境與應用,可以了解到有許多開發平台和工具能供開發者使用,並協助他們更快速地開發應用,也顯示出AIoT的廣泛發展和運用。
(活動連結;責任編輯:歐敏銓)
- 【活動報導】5G 智慧交通 On the Road技術社群線上交流會 - 2021/10/15
- 【活動報導】5G SDN/NFV網路技術基礎 - 2021/10/05
- 【活動報導】5G技術入門與商用平台介紹 - 2021/09/27