作者:Reinhard Keil,Arm 嵌入式技術資深總監
Arm是如何為開發人員與物聯網軟體生態系提供智慧、節能的機器學習(ML)邊緣裝置?物聯網(IoT)市場正在穩定成長,全新的AI技術創新更是讓人眼界大開。我們在物聯網事業部,致力於把AI創新擴展到那些通常是由微控制器驅動、小型且條件受限的機器學習邊緣裝置。
生成式AI與大型語言模型已成功吸引眾人的注意。大家如果嘗試過與AI聊天機器人互動,都會覺得很好玩,它的表現雖然很棒,但同樣也有缺點。顯而易見的是,存在於對話視窗中的AI聊天機器人有其侷限性,它與真實世界隔絕。
物聯網可以提供即時資料並與真實世界連結;它可以成為我們的耳目,提供我們觸覺、所有的感官知覺與肌肉。但機器學習邊緣裝置不只有感測與制動,它會採取本地化控制並調節關鍵的功能,在人類生物學裡,這被稱為自主神經系統(autonomic nervous system);即便雲端AI暫時離線,它的自主控制能力仍能讓一切運作如常。
雲端AI與機器學習邊緣裝置的結合,將為許多服務與產業帶來革命性的進展。此外,為了因應即時性、功耗及資料限制,智慧任務中有部分工作負載須在機器學習邊緣裝置上進行本地處理。
供機器學習邊緣裝置使用的Cortex-M 與Ethos-U處理器
針對邊緣裝置上的機器學習應用,Arm可提供具備多種選項、經最佳化的處理器。即使是最小型的Arm處理器核心Cortex-M0/M0+,也能執行簡單的機器學習演算法。從Cortex-M4開始,處理器會增加硬體的浮點運算與SIMD指令,以加速數位訊號處理與機器學習演算法。
Cortex-M52、M55或M85上的Helium向量延伸指令集能進一步強化這些演算法,並促成例如語言關鍵詞的辨識,或物件與異常檢測。Ethos系列的類神經網路處理器(NPU)則是個讓效能大幅提升的協同處理器,可支援具備即時物件分類功能的智慧攝影機等要求更高的應用。
上圖顯示了各種典型應用場景,但是要為個別應用選擇正確的處理器可能會是個挑戰。幸好,多數的機器學習模型都可以部署到各種Arm處理器上,而系統架構也因此一開始就可以專注於軟體工作負載。儘管如此,了解不同平台的記憶體與運算需求仍然相當重要。
在這個方面,產業標準組織EEMBC/SPEC的AudioMark基準很有幫助;它是以具備關鍵詞辨識功能的音訊控制應用為實作範例,就像大家可在智慧音箱看到的。個別機器學習演算法有了Helium或Ethos-U,運作起來雖然明顯快上許多,但Audiomark可以讓用戶在完整的應用層級上進行比較。
對開發者的支援
開發出一個完整機器學習邊緣裝置會是多年期的專案,想要加速此流程,程式碼的再利用與早期驗證相當關鍵。透過正確的架構選擇、整合與驗證,Corstone物聯網子系統能在系統單晶片(SoC)設計期間提供協助。各種Corstone系統以FPGA影像與Arm虛擬硬體的模擬模型形式提供給使用者,並在機器學習邊緣裝置的整個設計階段,為硬體架構師與軟體開發人員提供支援。
Corstone-315 (如下圖所示)整合了Cortex-M85以及選用的Ethos-U65 NPU與Arm Mali-C55影像訊號處理器(ISP),可打造低功耗、低成本、高效能的安全終端AI裝置,並且可以支援卷積神經網路(CNN);CNN是效能強大的人工類神經網路,適合用在例如智慧攝影機的影像辨識。
為了提供開發機器學習應用的最佳體驗,Arm提供涵蓋硬體元件、工具與軟體的各種解決方案,以便讓產品的開發更為簡易且更具生產力。在這裡有針對Cortex-M 處理器與Ethos-U NPU的機器學習開發人員指南,提供有關機器學習開發流程的概述,並介紹支援機器學習開發工作流程的Arm技術與產品,包括如何開始進行機器學習的模型訓練,到如何為硬體除錯。
以Cortex-M55、Cortex-M85及Ethos-U架構的微控制器已經上市供大眾使用,而成本低廉的開發板則可以讓您探索此一當代技術。以下是此類開發板的一些實例:
- 採用Ensemble E7基礎架構的Alif評估套件,搭載雙Cortex-M55、Ethos-U55與Cortex-A32;
- 以奇景光電(Himax) WiseEye2為基礎架構的Seed Studio Grove Vision AI,搭載雙Cortex-M55 與Ethos-U55;
- 採用RA8M1 微控制器架構的瑞薩(Renesas) EK-RA8M1,搭載Cortex-M85。
標準化軟體與工具
由於必須因應多元化的特定應用使用場景,因此嵌入式市場相當分散。不過,許多嵌入式系統包含類似的功能區塊,這些共同點的標準化能促成在許多系統間的程式碼再利用,並簡化產品生命週期管理。而Arm也積極促進軟體的標準化、開發工具與生態系夥伴關係建立。
開發工具:
- Arm嵌入式編譯器( Compiler for Embedded):搭載Helium自動向量化技術的商用編譯器。
- 供Arm開發人員使用的LLVM嵌入式工具鏈( LLVM Embedded Toolchain):搭載Helium自動向量化技術的開源編譯器。
- Vela:為Ethos-U編譯微控制器使用的TensorFlow Lite的類神經網路模型。
- 機器學習推論指引器(MLIA):協助機器學習模型的設計人員,針對Ethos-U進行最佳化。
- 架構在固定虛擬平台上的Arm虛擬硬體(AVH FVP):軟體驗證用的精準模擬模型。
軟體功能區塊:
工具套件:
- MLOps系統用的基礎性元件:供機器學習應用的整體開發流程使用的工具與軟體元件。
- Keil MDK微控制器開發套件:在Cortex-M上開發物聯網與機器學習應用的綜合工具組。
包括意法半導體(ST)、恩智浦半導體(NXP)與IAR等眾多生態系合作夥伴,都已在他們的開發工具中使用CMSIS、PSA與其他元件。像TensorFlow等機器學習框架,則是使用Arm編譯器與AVH以便針對Arm處理器產品選項取得驗證。此外,MLOps合作夥伴目前則把Arm基礎元件整合進入他們的MLOps系統中。
軟體開發作業
機器學習邊緣裝置的軟體與系統設計,可分為兩部份:
- 典型的嵌入式物聯網軟體,需要可以與輸入/輸出周邊裝置介接的高效率裝置驅動器、具備安全性的溝通堆疊,以及軔體的更新服務。
- 實作機器學習演算法的系統部份。此一機器學習部份,經常與機器學習作業(MLOps)系統一起進行設計,而此系統往往是個專供機器學習演算法開發使用的軟體即服務(SaaS)雲端環境。
感測器、音訊或視訊輸入通常會轉換成串列資料流進行處理,多數的機器學習應用會透過數個步驟來處理這些資料流(參考下圖)。訊號的調節與特徵的擷取,是使用資源最佳化化的DSP前端來實作;機器學習模型則透過輸入取得最佳化的資料流。
這種經過最佳化的機器學習處理流水線並不會偏好特定裝置,也不需要精確的實體目標,因此軟體開發更常使用測試與驗證期間可提供更多資源的軟體模擬模型,或是Superset板。我們一旦在Arm處理器上完成實作測試後,把此類通過驗證的機器學習處理流水線應用到不同的目標硬體,就會變得相對簡單。
開發作業期間,DSP開發人員與機器學習的訓練,需要邊緣裝置感測器收集到的真實世界資料。同步資料流(SDS)框架會支援此一資料收集,並允許記錄真實世界的資料,以及在驗證期間重播至AVH FVP。CMSIS-資料流則協助開發人員利用多種DSP演算法,來設計與最佳化處理的流水線。SDS與CMSIS-資料流結合起來,在軟體開發人員的開發週期內,會是個有效的支援工具。有了AVH FVP,就可以分析機器學習處理流水線內每道步驟的正確性與效能。
想了解更多開發作業流程中有關 SDS與CMSIS-資料流的使用,可參考此連結的網路研討會影片。
MLOps合作夥伴
機器學習的分類或機器學習模型本身的開發作業是項相當複雜的任務,通常是由領域內的專家與資料分析師來進行。幸運的是,市場提供許多鎖定Arm機器學習邊緣裝置且威力強大的機器學習模型。Arm攜手多家AI生態系合作夥伴,針對各種典型應用最佳化機器學習模型。以下是一些實例:
百度飛漿(Baidu Paddle)是來自中國的合作夥伴,與Arm針對最佳化的MLOps平台展開合作。
- Edge Impulse提供一個訓練平台,並為邊緣裝置致力於機器學習模型的最佳化。
- Plumeria提供預先訓練好的機器學習模型,以供人員偵測與熟悉臉孔偵測,並針對Arm處理器與Ethos-U NPU完成最佳化。
- TDK Qeexo AutoML是一種供微控制器感測器應用使用的機器學習模型與訓練平台,並具備直覺的工作流程。
(參考原文:Software, Tools, and Ecosystem for ML Edge Devices;本文中文版校閱者為Arm 主任應用工程師林宜均)
- 【Arm的AI世界】運用小語言模型在邊緣端實現生成式AI - 2025/02/13
- 【Arm的AI世界】供機器學習邊緣裝置使用的軟體、工具與生態系 - 2025/01/08
- 【Arm的AI世界】以TinyML為基礎的高效率嵌入式電腦視覺 - 2024/12/05