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