Arm ML 嵌入式評估套件綜合使用指南
開發機器學習(ML)應用頗具挑戰,尤其是涉及專用硬體。好消息是,Corstone-320固定虛擬平台 (FVP) 簡化了這個過程,無需實體的硬體即可開發和測試ML應用。
Corstone-320 FVP硬體模擬平台為開發先進的ML應用提供了強大基礎;本文將帶您了解如何開始使用Corstone-320 FVP,以及運用Arm Gitlab網站提供的Arm ML嵌入式評估套件(MLEK)。
FVP與Corstone-320 介紹
FVP 是成熟的硬體模擬模型,沒有實體的硬體也能進行軟體開發和測試,這在開發專案初期尤其有價值,讓開發人員能早在硬體到位之前就著手進行軟體開發工作。FVP能夠準確呈現最終的硬體,確保在該平台上開發和測試的軟體被部署到實體裝置之後,能夠如預期順利運作。這能大幅加速開發週期、降低成本,並減輕因依賴硬體而產生的風險。更多資訊請可參考 Arm Ecosystem FVPs。
Corstone-320則是一個預先整合的系統IP,結合了Arm Ethos-U85 NPU和Cortex-M85處理器核心。Ethos-U85 NPU 是一款專用ML處理器,其目的在於加速嵌入式和物聯網裝置中的ML運算,是高效率處理ML工作負載的理想選擇。更多資訊請參考 Corstone-320:實現高效率的 AI SoC 開發。
開發人員需要平台化軟體來充分發揮硬體的潛能,Arm可提供能與Corstone-320配合使用的一系列軟體元件和工具,包括:
- 以 CMSIS Core和CMSIS-Driver函式庫形式提供的基本裝置驅動程式和硬體抽象層;點此了解更多關於CMSIS技術的資訊。
- 與FreeRTOS和Zephyr等熱門即時作業系統(RTOS)的整合方案。點此了解更多上游專案以及FreeRTOS CMSIS-Pack中針對Corstone的FreeRTOS 支援。
- 例如Mbed TLS和Trusted Firmware-M等安全軟體,可提供強大的加密、安全儲存和安全的韌體更新。
- 為專業開發者打造的工具,例如Keil MDK。
- 能在Ethos-U85 NPU上執行終端AI應用的驅動程式和函式庫。
Arm的免費開源軟體讓開發人員可以在Corstone-320上建構和執行終端AI應用。
Arm ML嵌入式評估套件概覽與應用範例
Arm ML 嵌入式評估套件開源專案提供立即可用的ML應用開發套件,能讓使用者開發和評估在Arm Ethos-U NPU和Cortex-M CPU上執行的ML工作負載;該套件還包括用於測量包括推論週期數(inference cycle count)等性能指標的應用範例和工具。
MLEK提供可展示Ethos-U NPU和Cortex-M CPU功能的端對端軟體應用範例如下:
- 圖片分類:使用Mobilenet V2神經網路模型識別每個圖片中存在的物體。
- 關鍵字檢測(Keyword Spotting,KWS):使用MicroNet模型識別語音檔案中的關鍵字。
- 自動語音辨識 (ASR):使用Wav2Letter模型從語音中轉錄單詞。
- KWS和ASR:使用MicroNet和Wav2Letter模型,在檢測到關鍵字後以Cortex-M和Ethos-U進行轉錄。
- 異常檢測:使用MicroNet模型檢測機器聲音錄音檔案中的異常行為。
- 視覺喚醒詞:使用MicroNet模型識別圖像中是否有人。
- 降雜訊:使用RNNoise模型,在保留語音的同時去除音訊中的雜訊。
- 物體檢測:使用Yolo Fastest模型檢測圖片中的人臉並在周圍繪製邊界框。
- 通用推論執行器:使用你自己的模型為Ethos-U NPU開發自訂應用場景。
開始使用Corstone-320 FVP
第1步:安裝FVP
首先要安裝針對Arm Corstone-320的FVP,可按照Arm ML 嵌入式評估套件專案安裝指南來設定虛擬環境。
第2步:設置環境
接著設定你的開發環境。複製Arm ML嵌入式評估套件儲存庫並按照提供的設定說明來操作,確保已安裝所有必要的依賴項,並請參閱Arm ML嵌入式評估套件的完整文件。
第3步:探索範例應用
Arm ML 嵌入式評估套件專案提供了一系列ML應用範例,透過探索這些範例來了解Ethos-U NPU 和 Cortex-M CPU的使用方法,並執行提供的範例以查看推論週期數和性能指標。
第4步:在 FVP 部署和執行
選擇或開發ML應用後,就能在Corstone-320 FVP上進行部署和執行。首先,編譯你的應用程式碼並確保其與 FVP 環境相容,接著將編譯後的二進位檔案移至虛擬環境,並參考提供的指南,確保根據你的配置遵循對應的部署說明。
部署後,在FVP上開始執行該應用,監控輸出日誌並使用偵錯工具來追蹤模型的效能和功能,運用收集到的性能指標進一步微調和最佳化你的ML應用。
修改現有的Arm ML 嵌入式評估套件模型或整合你自己的自訂模型,以查看它們在Corstone-320 FVP上的表現。透過嘗試不同的場景來最佳化效能。
強化開發工作流程
為了進一步強化你的開發能力,請探索目標在於簡化工作流程的Arm專案和工具。
使用Arm Keil MDK v6工具
Keil MDK v6是Arm提供的全面性軟體開發解決方案,適用於以Cortex核心為基礎的微控制器,和以Ethos核心為基礎的NPU,提供了無縫創建、建構和偵錯應用所需的一切基本組件。Keil MDK v6 利用CMSIS-Pack提供裝置和電路板支援,並提供專案所需的軟體元件。新的Keil Studio IDE由一組 VS Code 擴展組成,全面支援CMSIS工作流程並提供整合除錯來實現高效率的開發體驗。
首先安裝Keil Studio Pack。對CMSIS-Pack的支援有助於加快開發和部署速度。在Visual Studio Code中安裝Keil MDK v6擴展時,會自動配置所有必要的工具,並自動安裝Corstone FVP,以提高便利性。GitHub上以CMSIS Pack為基礎的ML範例可幫助你探索Arm Keil MDK v6工具,這些ML範例使用了Keil MDK v6和 MLEK中的CMSIS-Pack。
其他專案和工具
除了上述步驟,還有其他一些重要資源可以提升你在使用Corstone-320 FVP時的開發體驗:
例如若想建構一個連接到雲端服務並內建安全功能的應用,Arm Corstone FreeRTOS 參考整合是一個很好的起點,其中包括提供了一個內含FreeRTOS核心和函式庫的完全整合堆疊,以及與 Trusted Firmware-M安全函式庫整合的AWS裝置管理服務。這符合嚴格的PSA Certified安全性要求,並提供與AWS託管應用程式的加密通訊、安全的終端儲存和裝置認證等功能。此外也可以透過 PSA韌體更新機制,安全地更新裝置韌體。
另一個模擬資源是Arm虛擬硬體(Arm Virtual Hardware)平台,可在雲端進行以開發和測試為目的來模擬硬體。利用這個平台,你可以在將應用部署到實際硬體之前,在虛擬環境進行測試,進而加快開發週期。
結語
隨著Arm Corstone-320硬體和軟體問世,開發人員可以更輕鬆地開始建構受人矚目、功能豐富的終端AI應用。Arm提供了一系列全面且易於使用的專案和教學課程,能幫助你充分利用 Arm的IP。在上述範例中,Corstone-320 FVP與Arm ML嵌入式評估套件相結合,為在嵌入式和物聯網裝置上開發和評估ML應用提供了一個強大的平台。透過這篇文章提供的指南,馬上就能利用預先整合的系統IP和Arm提供的各種工具,高效率地創建和最佳化ML工作負載。
還有Arm的開發者社群網站提供了豐富的教學課程、文件,並規劃了論壇,你可以在其中找到問題的答案並與其他開發人員分享見解。這些資源將有助於充分利用Corstone-320 FVP並強化ML應用開發能力。
(參考原文:Getting started with the Corstone-320 FVP for Arm Ethos-U85 NPU and Cortex-M85 processor,責編:Judith Cheng)
- 【Arm的AI世界】輕鬆運用虛擬平台與嵌入式評估套件加速終端AI應用開發 - 2025/06/06
- 【Arm的AI世界】以ExecuTorch和KleidiAI執行LLM推論 充分釋放行動端AI潛力! - 2025/05/02
- 【Arm的AI世界】三步驟輕鬆在Ethos-U85上使用PyTorch與ExecuTorch - 2025/03/25
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!