辉光低功耗微控制器NXP编译器提供更优的神经网络bepaly体育版app

辉光低功耗微控制器NXP编译器提供更优的神经网络bepaly体育版app

机器学习,更具体深度学习的世界,是一个快速增长的领域。它的增长在市场上如何迅速扩大的感觉,尤其是深度学习移动到边缘。在我的恩智浦缩影,我看到了深度学习的客bepaly体育版app户群显着增加,如基于语音的越来越多的工程师构建的应用程序,其中包括某种形式的视力不佳或机器学习技术。深度学习框架,工具和其他功能,允许开发人员构建和部署神经网络模型也在不断扩大数量。

这种工具的一个例子是辉光神经网络(NN)模型编译器。深学习框架,如PyTorch的增殖对齐,NN编译器提供优化加速推理在一系列的硬件平台。五月2018年,Facebook的推出发光(图下降编译器)作为一个开源社区项目,并已在过去两年显著发展得益于130多个世界各地的努力贡献者

最近,我们推出了我们的这个夜光编译器的官方支持,我们非常兴奋的性能和内存的好处它提供了我们的设备。我们已经紧密集成会焕发我们的MCUXpresso SDK,它打包辉光编译器和工具,量化到一个易于使用的安装程序有详细的文档和实验室一起得到与自己的模型快速运行。

夜光灵活的功能

作为一个NN的编译器,辉光发生在计算图并经两相生成优化的机器码。在第一阶段中,它使用标准的编译器技术,例如内核融合,降低复杂的操作,以简单的内核和转置消除优化运营商和模型的层。在第二个,或模型编译的后端相,电热编译器使用LLVM模块,以使目标特定的优化。辉光支撑提前时间(AOT)编译,其中编译执行离线生成的对象文件(称为辉光束)稍后与用户的应用程序代码相关。当产生这个目标文件,所有的不必要的开销被消除,减少计算的次数以及内存开销。这是理想的内存受限的,低成本的微控制器进行部署。

目标特定的优化

而在我们的i.MX RT系列将运行的灼热编译模型中的任何设备,我们开始对i.MX RT1060 MCU我们的测试,因为我们也有TensorFlow在此设备上运行,它使我们有直接的性能对比。我们也开始与i.MX RT685 MCU,因为这是一个新的设备,也是唯一一个在我们的i.MX RT系列与处理神经网络运营商优化的DSP。所述i.MX RT1060 MCU包含一个600MHz的臂®皮质®-M7和SRAM的1MB。所述i.MX RT685 MCU包含一个600兆赫的Cadence®Tensilica公司®高保真4 DSP内核配对300MHz的的Cortex-M33芯和4.5 MB片上的SRAM。

辉光从GitHub的标准版本是设备不可知;它可以编译为感兴趣的基本架构。例如,对于交叉编译束用于将臂的Cortex-M7芯,使用命令行 -目标=手臂-mcpu =皮质-M7。但是,正如我所说,灼热的LLVM的后台支持,可以交叉编译为不同的目标架构包。bepaly体育版app恩智浦通过采用ARM CMSIS-NN利用了Cortex-M7的全部能力,以及利用i.MX RT1060设备的存储器子系统冤大头这一点。CMSIS-NN是ARM开发库支持的ARM Cortex-M0,-M3,-M4,-M7和-M33核心,它实现像卷积,完全连接,汇聚和激活标准NN操作。简单地建立量化束时所使用的编译标志-use-CMSIS,而且性能将提高显著高于标准汇编。例如,如由NXP上的CIFAR-10模型中所测量,按几乎bepaly体育版app2倍,使用该CMSIS-NN库来加速NN操作时,性能增加。

所述i.MX RT685设备上高保真4 DSP内核还能够与Cadence的NN库(NNLib)作为另一LLVM后端为辉光使用时加速了广泛NN运营商的。NN库是像CMSIS-NN,除了它提供了一组用于高保真4 DSP优化手动调整运营商更全面。出于同样的CIFAR-10例如,该DSP提供相比于辉光标准实现一个25倍的性能提升。

PyTorch嵌入式系统

PyTorch可以通过辉光直接导出模型到ONNX格式使用。另外,由于许多知名车型是在其他格式(例如TensorFlow)创建的,也有开源模式转换工具将它们转换到ONNX格式。格式转换最常用的工具是MMDNN,一套工具支持微软®不同深度学习的框架之中,帮助用户,操作间,和tf2onnx到TensorFlow模型转换为ONNX。此外,恩智浦upstreabepaly体育版appmed的辉光社区支持功能,使TensorFlow精简版车型直接发光。最近,夜光可以直接通过PyTorch访问,让用户在同一个开发环境中建立和编译他们的模型,从而消除步骤,简化了编译过程。

但是,由于公司如Facebook在数据中心的广泛应用,人们纷纷质疑PyTorch对作为嵌入式MCU的一个框架的能力。辉光成为从PyTorch直接访问,有没有理由担心,“PyTorch,因此发光,不针对MCU的?”简短的回答是“不”,尤其是考虑到AOT实施焕发。

为了解释这个进一步,这将是一个有效的印象,PyTorch本身并没有针对性的对MCU的。这是一个社区项目,没有人加紧尚未开发和维护这种做法。由于显而易见的原因,Facebook并没有对MCU的使用PyTorch,但嵌入式社区欢迎投稿,并添加针对MCU和一般的终端到终端支持的嵌入式平台。我怀疑这只是因为吸引力越来越大PyTorch时间的问题,尤其是在学术和研究用户。据统计1,PyTorch的统治力最强的视觉和语言会议(数量上超过TensorFlow以2:1和3:1分别),和PyTorch也比TensorFlow在一般机器变得越来越流行学习会议像ICLRICML。最终,一些研究者将迁移到工业用地和适应PyTorch的边缘计算环境。

为了专门解决PyTorch问题作为一个不错的选择MCU的,因为它可以产生ONNX模型可以通过辉光进行编译,处理平台的限制是最小的。并与辉光作为PyTorch的延伸,它会更容易产生束。用户可以生成直接从Python脚本束,而无需首先生成ONNX模型。不久,恩智浦bepaly体育版app将发布的应用笔记提供指导,以创建和部署使用PyTorch和光晕的典范。

我们最近推出了我们的辉光官方支持。事实上,它是紧密集成到我们的MCUXpresso SDK几个项目的例子。我们还打包灼热编译和量化工具到一个易于使用的安装程序有详细的文档和实验室,以帮助你起床,用自己的模型快速运行。有了这样显著的性能和内存的好处,该编译器将是嵌入式系统开发与恩智浦的i.MX RT系列交叉的MCU部署机器学习的一大福音。bepaly体育版app

想了解更多?

阅读新闻稿

浏览我们的EIQ机器学习软件开发环境

访问Medium.com/pytorch

注册我们即将推出夜光研讨会

1https://thegradient.pub/state-of-ml-frameworks-2019-pytorch-dominates-research-tensorflow-dominates-industry/

马库斯·利维
马库斯·利维
马库斯·利维在2017年加入了恩智浦作bepaly体育版app为AI的主任和机器学习技术。在这个位置上,他主要侧重于技术战略,路线图,以及AI和机器学习能力,恩智浦微控制器和i.MX应用处理器产品线的营销。bepaly体育版app此前,马库斯是EEMBC的董事长,他创立并跑了作为总统自1997年4月利维先生也是多核联盟,与他人共同创办于2005年以前的总统,他是高级分析师微处理器报告在EDN杂志的编辑。马库斯开始了他的职业生涯在英特尔公司,同时作为高级应用工程师和客户培训专家为英特尔的微处理器和闪存产品。马库斯自愿十三年作为第一个响应者 - 救火和救人。

评论被关闭。

立即购买