麦斯科技 · 2021年04月14日

利用适用于微控制器和CMSIS-NN的TensorFlow Lite加速对Arm微控制器的推理

https://blog.tensorflow.org/2021/02/accelerated-inference-on-arm-microcontrollers-with-tensorflow-lite.html
2021年2月10日

Arm的Fredrik Knutsson的客座帖子

微信图片_20210414224104.png

MCU世界

微控制器(MCU)是为我们的技术环境提供动力的微型计算机。每年制造的产品超过300亿种,嵌入到从家用电器到健身追踪器的所有产品中。如果您现在在家中,周围有数十个微控制器。如果您开车,每次开车都会陪伴数十人。使用TensorFlow Lite for Microcontrollers(TFLM),开发人员可以将TensorFlow模型部署到许多此类设备中,从而实现全新形式的设备上智能。

尽管无处不在,但微控制器被设计为廉价且节能的,这意味着它们具有少量的存储器和有限的处理能力。一个典型的微控制器可能具有数百千字节的RAM,以及一个运行速度低于100 MHz的32位处理器。随着TFLM在机器学习方面的进步,在这些设备上运行神经网络成为可能。

微信图片_20210414224127.png

用最少的计算资源,对微控制器程序进行优化以使其尽可能高效地运行很重要。这意味着要充分利用其微处理器硬件的功能,这需要仔细调整应用程序代码。

流行产品中使用的许多微控制器都是基于Arm基于Cortex-M的处理器构建的,该处理器是32位微控制器的行业领导者,出货量超过470亿。Arm的开源CMSIS-NN库提供了常见神经网络功能的优化实现,可最大限度地提高Cortex-M处理器的性能。这包括利用DSP和M-Profile Vector Extension(MVE)指令来实现硬件加速(例如矩阵乘法)的操作。

关键用例的基准

Arm的工程师与TensorFlow团队紧密合作,开发了TensorFlow Lite内核的优化版本,这些内核使用CMSIS-NN在Arm Cortex-M内核上提供了极快的性能。使用TensorFlow Lite的开发人员只需使用库的最新版本即可使用这些优化的内核,而无需进行其他工作。Arm已在开放源代码中进行了这些优化,并且它们对于开发人员而言是免费且易于使用的!

以下基准测试显示了针对TFLM示例应用程序中的几个关键用例,使用CMSIS-NN优化的内核相对于参考内核时的性能提升。测试已在基于Arm Cortex-M4的FPGA平台上执行:

微信图片_20210414224145.png

Arm Cortex-M4处理器支持DSP扩展,使处理器能够执行类似DSP的指令以加快推理速度。为了进一步提高推理性能,新型Arm Cortex-M55处理器支持MVE(也称为Helium技术)。

使用CMSIS-NN改善性能

到目前为止,以下优化的CMSIS-NN内核已与TFLM集成:

微信图片_20210414224202.png

CMSIS-NN库将有定期更新,以扩展对优化内核的支持,其中改善支持的关键驱动因素是,对于给定的用例,它应该显着提高性能。对于有关内核优化的讨论,一个很好的起点是在TensorFlow或CMSIS Github存储库上提出一张描述您的用例的凭单。

大多数优化是专门针对8位量化(int8)操作实现的,这将是未来改进的重点。

您可以按照示例随附的说明轻松尝试优化的内核。例如,要使用CMSIS-NN内核为SparkFun Edge构建人员检测示例,可以使用以下命令:

make -f tensorflow / lite / micro / tools / make / Makefile TARGET = sparkfun_edge OPTIMIZED_KERNEL_DIR = cmsis_nn person_detection_int8_bin

TensorFlow Lite Arduino库 的最新版本包括CMSIS-NN优化,并包括与基于Cortex-M4的Arduino Nano 33 BLE Sense兼容的所有示例应用程序。

神经处理的下一个飞跃

展望2021年,通过引入包括与微控制器一起工作的microNPU(神经处理单元)的设备,我们可以期待神经处理的显着增长。这些microNPU旨在在嵌入式和IoT设备的约束下加速ML推理,与以前的微控制器相比,使用Arm Cortex-M55 MCU和新的Ethos-U55 microNPU的设备可将性能提高多达480倍。

较小的,受功率限制的设备中的ML处理能力达到了前所未有的水平,将在从智能家居和城市到工业,零售和医疗保健等一系列应用中释放出巨大的创新能力。这些不同领域中每个领域的创新潜力都是巨大的,有数百个细分领域和成千上万的潜在应用将对人们的生活产生真正的影响。

推荐阅读
关注数
5759
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息