雷竞技注册
新闻

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

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

在恩智浦工业技术日(Industry Tech Days)展示的问答环节中,开源神经网络编译器Glow引发了热烈讨论。为什么这个编译器对于将智能推向极致如此重要?

据一些预测,机器学习可能在未来五年内成为边缘设备的主要技术98%的边缘设备将具有某种智能功能到2025年。

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

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

从一开始就开源

2018年,Facebook发布了Glow作为一个开源社区项目,预示着“人工智能基础设施的社区驱动方法Cadence、世界语(Esperanto)、英特尔(Intel)、美满电子(Marvell)和高通技术公司(Qualcomm Technologies)立即加入了这一行列,承诺支持Glow在未来的硅硬件领域的应用。

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

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

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

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

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

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

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

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

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

当我们谈论机器学习时,我们经常看到一个神经网络模型,它反映了人类大脑中的突触活动。但在“工业技术日”(Industry Tech Days)的现场会议上,马库斯•利维(Markus Levy)(恩智浦公司人工智能和人工智能技术总监)对这项技术有不同的诠释。

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

不同层次的神经网络

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

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

这就是NXP对Glow的研究。

NXP称其基于mcu的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编译允许他们创建一个目标文件(“Glow bundle”),用户可以稍后将其链接到一个应用笔记。

如何创建一个发光束

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

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

从Github到全球供应商支持

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

Facebook的软件工程经理Dwarak Rajagopal解释说:“标准的、现成的GitHub版本的Glow与设备无关,用户可以根据自己感兴趣的基本架构灵活地编译神经网络模型,包括Arm Cortex-A和Cortex-M内核,以及RISC-V架构。”

ML Accelerator如何简化网络通信

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

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

他指出:“通过使用专门构建的软件库,利用其微处理器的计算元素,实现2-3倍的性能提升,恩智浦展示了在机器学习应用中使用Glow NN编译器的广泛好处,从基于云的高端机器到低成本嵌入式平台。”