在MCU上部署AI/ML模型的挑战及方案

 行业动态     |      2023-11-20 11:43:25    |      作者

1 在MCU上部署AI/ML模型的机会与挑战

IAR 专注于嵌入式设备和应用的软件开发。在嵌入式人工智能(AI)和机器学习(ML)领域,我们专注于在微控制器(MCU)上部署AI/ML 模型。当前,该行业正趋向于将AI/ML 模型尽可能地靠近数据生成源,这通常比将数据发送到边缘设备或云端进行处理更快速、更便宜和更节能。这一趋势主要受到工业控制领域的推动,该领域利用ML 进行预测性维护、货物视觉检查以及基于模糊数据进行控制决策。各种类型的可穿戴设备也正在部署机器学习,以理解设备生成的数据。然而,为了实现这一切,软件开发工具也必须做到更快速、更便宜和更节能。实现这些目标的一个重要组成部分就是编译器和构建链。

1700444122901429.png

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月期)