摘要 机器学习(ML)模型需要强大的计算资源来进行训练和推理,因此,它们通常在可以进行大算力数据处理的PC或云服务器上运行。然而,在计算机架构的革命性发展和软件工具的突破性进步的引领下,嵌入式系统Al和ML应用正在经历转型期。ML应用和场景正迅速扩展到物联网和嵌入式系统领域。当视频和图像等数据利用深度学习ML模型时,这些应用需要高处理能力的运算单元和大量的内存。为了支持这些场景,有必要使用诸如Arm®Ethos™-U55等神经网络协处理器(NPU)来增强处理器的性能。 能耗效率和低成本是嵌入式ML应用的关键标准。除增强处理能力之外,还需要降低系统功耗和提供高效的软件开发环境。开发环境涵盖了用于模型开发、训练和部署的工具和优化器。 英飞凌的PSoC™Edge平台及其ModusToolbox™软件开发环境可以更好地利用平台硬件资源进行CPU密集型嵌入式ML推理。 目录 2摘要..........................................................................................................................................................................11 PSoC™Edge MCU.......................................................................................................................................32 Ethos™-U55 NPU.......................................................................................................................................42.1使用Ethos™-U55 NPU的优点...........................................................................................................52.1.1 ML性能提升.............................................................................................................................................52.1.2 CPU负荷率...............................................................................................................................................62.1.3功耗..............................................................................................................................................................72.2 Ethos™-U55 NPU加速流程.................................................................................................................73 ModusToolbox™..........................................................................................................................................83.1 ModusToolbox™ML..............................................................................................................................93.2 ModusToolbox™ML软件架构........................................................................................................103.3运行时软件流程........................................................................................................................................113.4 Cortex®-M55 CPU与Ethos™-U55 NPU通信.......................................................................123.5工具...............................................................................................................................................................133.5.1 ML配置程序..........................................................................................................................................133.5.2 ML CoreTools......................................................................................................................................133.5.3 Vela编译器............................................................................................................................................134 ML应用...........................................................................................................................................................145结语...................................................................................................................................................................15参考文献..............................................................................................................................................................16 10/2023 1PSoC™EdgeMCU PSoC™EdgeMCU是一个高性能、低功耗MCU产品系列,这些产品专为提升计算性能、人机界面(HMI)、机器学习(ML)、增强传感、实时控制和低功耗应用而设计。 这个产品系列中的双CPU微控制器都具备神经网络协处理器、DSP功能,并支持高性能内存扩展能力(OSPl)、可进行高性能模数转换的低功耗模拟子系统和低功耗比较器等。这些产品还提供了物联网连接、通信接口、可编程模拟和数字模块,以及音频和图形模块等。 ModusToolbox™开发环境包括可安装的SDK和库、Arm®行业标准工具、RTOS支持以及性能稳健且易于使用的ML和HMI软件和工具。支持的功能包括安全、通信和控制以及DSP功能。多域架构实现了细粒度功耗优化以及动态频率和电压按比例调节。 PSoC™Edge的常开域模块支持语音识别、触摸唤醒、电池监测和其他传感应用。提供这些功能仅需极低功耗。 PSoC™Edge高性能域系统级架构如图1所示。 2 Ethos™-U55NPU Ethos™-U55是第一代与Cortex®-M处理器兼容的microNPU。Ethos™-U55可支持以前不可能实现的新一代TinyML应用。使用它,仅需很小芯片面积和很低功耗即可实现神经网络加速推理计算。相比于单独使用Cortex®-M处理器,Cortex®-M55和Ethos™-U55组合起来可将ML性能提升至最高400倍。 凭借其内置Helium矢量处理扩展,Cortex®-M55能够在嵌入式微控制器平台上运行ML模 型 ,而 通 过与Ethos™-U55 microNPU集 成,它 还可 以提 供比前 几 代Cortex®-M处理器系列更出色的ML性能。采用相同软件堆栈的Ethos™-U55可将Cortex®-M55系统的ML性能提高至最多30倍。 Ethos™-U55NPU亮点概览: -内存占用空间小且效率最高-集成可配置MAC引擎(32位、64位、128位、256位),可满足卷积、深度池 化、矢量乘积以及最大池化所需的操作等要求。PSoC™Edge为Ethos™-U55配置了128位MAC-权重解码器和DMA用于动态权重解压缩-支持用于模型优化的离线工具-支持最常见的ML网络操作,包括CNN和RNN,并可灵活支持未来的ML创新-中央控制(CC)执行工作单元队列并调度至DMA控制器、权重解码器、MAC单元和输出单元-输出单元支持激活函数,包括:ReLU、ReLU1、ReLU6、Leaky ReLU、tanh、sigmoid和可配置查找表(LUT)-通过开放的Q-Channel从端口支持高级时钟和功率门控 2.1使用Ethos™-U55 NPU的优点 在PSoC™Edge平台中使用Ethos™-U55 NPU结合Cortex®-M55可实现: -更出色的ML性能-更低功耗-节省Cortex®-M55 CPU时钟周期用于其他任务,以便实现更复杂的ML应用以关键字识别(KWS)场景的ML应用为例,展示在系统中使用Ethos™-U55NPU带来的性能提升。 2.1.1ML性能提升 图3所示为Ethos™-U55 NPU结合Cortex®-M55 CPU带来的性能提升。数据来自关键字识别(KWS)应用测试。 图中比较了单独的Cortex®-M4、使能TCM前后的Cortex®-M55以及Cortex®-M55结合Ethos™-U55 NPU实现的性能。如图所示,相比于Cortex®-M4 MCU,具备Helium扩展指令集的Cortex®-M55可以为ML应用提供稍好性能。然而,将Cortex®-M55与Ethos™-U55NPU相结合,则可以大幅增强系统的ML性能,为开发基于嵌入式平台的复