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