在MCU上部署AI/ML模型的挑戰及方案
IAR 專注于嵌入式設備和應用的軟件開發。在嵌入式人工智能(AI)和機器學習(ML)領域,我們專注于在微控制器(MCU)上部署AI/ML 模型。當前,該行業正趨向于將AI/ML 模型盡可能地靠近數據生成源,這通常比將數據發送到邊緣設備或云端進行處理更快速、更便宜和更節能。這一趨勢主要受到工業控制領域的推動,該領域利用ML 進行預測性維護、貨物視覺檢查以及基于模糊數據進行控制決策。各種類型的可穿戴設備也正在部署機器學習,以理解設備生成的數據。然而,為了實現這一切,軟件開發工具也必須做到更快速、更便宜和更節能。實現這些目標的一個重要組成部分就是編譯器和構建鏈。
Anders Holmberg(IAR首席技術官)
在將機器學習模型部署到盡可能小型和經濟型的控制系統上時,工程師和設計人員面臨多個挑戰。第一個挑戰便是ML 模型。一旦創建了符合要求的合適模型,就需要將其生成為C 或C++ 代碼,進行適當的量化,以避免浮點計算。
完成這一步后,生成的代碼需要適配MCU。為了獲得最高效的結果,構建鏈必須能夠生成快速運行且體積小的目標代碼。這會給編譯器帶來沉重的負擔,需要以最佳方式進行代碼體積大小和代碼運行速度的平衡優化。
另一個挑戰是系統很可能通過Wi-Fi 或藍牙連接,這使其容易受到網絡安全攻擊。這意味著,根據一些地區的法律要求,系統必須具備遠程更新的能力,并且必須能保護設備上的敏感數據。此外,ML 模型通常是解決方案的核心要素,ML 知識產權(IP)必須受到保護,以防止再造工程(re-engineering)和其他竊取IP 的企圖。
2 IAR的解決方案
為實現體積小、運行速度快且高效的代碼目標,軟件開發工具必須發揮重要作用。實現這些目標的一個重要組成部分是編譯器和構建鏈,它們必須能夠去平衡這些常常相互制約的因素,以實現特定ML 模型的最佳輸出結果。在開發階段出現問題時,易用性和出色的調試能力也至關重要。
IAR 提供高性能的軟件開發工具,包括編譯器、構建鏈、調試器以及靜態和動態分析工具。這些工具有助于確保符合行業標準,如CERT C 和MISRA C,以實現軟件的安全和可靠運行。這些工具也預先經過了功能安全認證,可用于安全關鍵型軟件開發。
此外,IAR 提供用于保護嵌入式設備上部署的軟件和數據知識產權的工具。這包括主動IP 保護、防止過度生產、防回滾以及防克隆。這些解決方案涵蓋產品全生命周期,從產品設計之初的原型階段一直擴展到批量生產和部署階段。
(本文來源于EEPW 2023年11月期)
評論