所有关于电路
新闻

NXP对神经网络编译器发出的亮起将ML推到边缘设备

04年9月4日,2020年通过汉娜DeTavis

发光,开源神经网络编译器,在纽约州南委员会的行业技术日介绍期间搅拌对话。为什么这个编译器对将智能推向边缘这么重要?

根据一些预测,机器学习可能会在未来五年内成为边缘设备的重要组成部分98%的edge设备都将具备某种智能功能到2025年。

通过Edge Intelligence成为电气工程中越来越受欢迎的话题,这并不奇怪,这是迄今为止的行业技术日最受欢迎的最终会话之一是恩智浦的讨论使用发光神经网络编译器和Tensorflow Lite开发ML应用程序,用于i.MX RT Crossover MCU

在Q&A的一部分期间,将进一步探讨的共同数量的与会者:它是什么,可访问性及其对机器学习实施的影响。

从一开始就开源

2018年,Facebook将Glow作为一个开源社区项目发布,预示着“AI基础设施的社区驱动方法Cadence、世界语(Esperanto)、英特尔(Intel)、Marvell和高通技术(Qualcomm Technologies)立即加入,承诺支持辉光在未来的硅硬件中应用。

发光如何创建AI基础架构的插图

发光如何创建AI基础设施的插图。图片由Vijay Rao和Nadav Rotem

像Glow这样的编译器被用作像PyTorch这样的机器学习框架的软件后端,以有效地利用加速硬件。Glow的独特之处在于它能满足各种硬件加速器的需求。虽然Glow的某些部分专注于优化与数学相关的计算(独立于硬件),但其他实用程序被配置为直接支持多种硬件目标。

昵称“辉光”源自“Graph下降编译器”,因为它为多个硬件加速器创建代码,每个硬件加速器都有自己的内存配置。

发光:用于硬件加速器的乐队

硬件加速器是一种用于机器学习执行的Linchpin,以解决任意数量的问题。这些加速器分布到多个执行单元,应用程序特定电路和片上存储体中,以有效地执行这些工作负载。

发光编译器执行降低到机器代码的图形

发光编译器执行降低到机器代码的图表。屏幕截图使用的礼貌恩智浦

但有时,设计师需要专门的硬件来操作机器学习程序,在这些情况下,像Glow这样的编译器可以协调执行过程中的许多移动部分。

当我们谈论机器学习时,我们经常看到一个神经网络模型,它反映了人类大脑中的突触活动。但在Industry Tech Days live会议上,Markus Levy (NXP AI和ML技术总监)对这项技术有不同的看法。

他讨论了不同的操作(如池化、卷积和激活函数),比如信息在做出决定之前必须通过的各个层或过滤器。

神经网络的不同层次

不同层的神经网络。屏幕截图使用的礼貌恩智浦

超过两个阶段,发光拍摄计算图,并为这些图层创建优化的机器代码。第一阶段使用核融合等技术增强模型的层。这归结为倒置复杂的操作来转闭消除和简单的内核。第二阶段允许编译器使用LLVM模块访问专用硬件的后端功能。

这就是恩智浦对Glow的改进之处。

NXP宣称其基于单片机的Glow实现“第一”

恩智浦最近发布了ML软件支持,eIQ,发光。恩智浦声称这一合作是一个业界第一,在选择的NXP mcu上实现高性能、低内存占用的NN编译器- ImxT RT交叉设备。

eIQ-GLOW框图

eIQ-GLOW框图。图片由恩智浦

该公司通过使用两个NN操作员图书馆 - ARM CMSIS-NN和HIFI NN库来加速ARM Cortex-M芯和Cadence Tensilica Hifi 4 DSP的性能。反过来,这会扩大了NXP I.MX RT685,I.MX RT1050和RT1060的推理性能。

在一份关于如何为NXP的低功耗MCU进行优化NNS恩智浦解释说,用户可以很容易地在eIQ ML软件开发环境中访问Glow,该环境绑定在恩智浦免费的MCUXpresso SDK中。

Glow最吸引人的特性之一,称为预先编译(AOT),允许用户追溯地安排编译,这可以在稍后脱机进行。AOT编译允许他们创建一个对象文件(“辉光包”),用户可以稍后链接到一个应用笔记。

如何创建辉光包

如何创建发光捆绑包。屏幕截图使用的礼貌恩智浦

这个目标文件消除了繁琐的开销,最小化了计算量和不必要的内存存储—这对内存紧张的低成本mcu来说是一个好处。

从Github到全球供应商支持

从两年前的初始发布开始,发光已经走了很长的路。

Facebook的软件工程经理Dwarak Rajagopal解释道:“来自GitHub的标准、开盒即用的Glow版本与设备无关,它为用户提供了为感兴趣的基本架构编写神经网络模型的灵活性,包括Arm Cortex-A和Cortex-M内核,以及RISC-V架构。”

ML Accelerator如何简化网络通信

ML Accelerator如何简化网络通信。图片(修改)使用礼貌Facebook工程

但rajagopal说,这肯定不是发光的能力限制 - 特别是在全球130名贡献者。

他指出:“通过使用利用mcu计算元素的专用软件库,实现2-3倍的性能提升,NXP已经证明了在机器学习应用中使用Glow NN编译器的广泛好处,从基于高端云的机器到低成本的嵌入式平台。”