NXP:微控制器在边缘人工智能中扮演着越来越重要的角色

2020-09-15来源: EEWORLD关键字:MCU  人工智能

就在几年前,人们还认为机器学习(ML)甚至深度学习(DL)只能在高端硬件上执行,在边缘侧需要通过网关、边缘服务器或数据中心执行训练和推理,这在当时是一个主流观念,因为在云和边缘之间研究如何分配计算资源还处于早期阶段。但由于工业界和学术界的深入研究和开发努力,这种情况已经发生了巨大的变化。


如今,最新的微控制器(其中一些带有嵌入式ML加速器)可以将ML带到边缘设备中,性能也很强大,已经可以达到数TOPS了。


这些设备不仅可以执行ML,而且还可以以低成本、低功耗、仅在绝对必要时才连接到云端的特性。简言之,集成了ML加速器的微控制器代表了下一步,将计算应用到麦克风、摄像头和监控环境条件的传感器上,这些传感器产生的数据将在模块中就实现数据处理,从而给物联网带来额外好处。


边缘有多远?


虽然边缘被广泛认为是物联网网络中最远的点,但它通常被认为是高级网关或边缘服务器。这并不是边缘真正结束的地方,它将在用户侧附近的传感器端结束。把尽可能多的分析能力放在用户端是合乎逻辑的,微控制器最适合这项任务。


image.png

MobileNet V1模型的变宽乘法器示例显示了对参数数量、计算和精度的巨大影响。仅将宽度乘数从1.0更改为0.75,只会最小程度地影响TOP-1精度,但会显著影响参数和计算的数量(Image:NXP)


单板计算机也可以用于边缘处理,因为单板计算机具有卓越的性能,并且在集群中可以与小型超级计算机相媲美。但它们仍然太大,成本太高,无法部署到大规模应用程序所需的成百上千个单元中。此外,它们还需要一个外部直流电源,在某些情况下可能超出可用的范围,而MCU只消耗毫瓦级功率,可以由纽扣电池甚至几块太阳能电池供电。


因此,对于在边缘执行ML的微控制器已经成为一个非常热门的话题,这一点也不奇怪。它甚至还有一个名字——TinyML。TinyML的目标是允许在资源受限的小型低功耗设备(尤其是微控制器)上执行推断和最终训练,而不是在更大的平台或云中。这就需要减小神经网络模型的规模,以适应这些设备的相对适度的处理、存储和带宽资源,但是也不会显著降低功能和准确性。


这些资源优化方案允许设备摄取足够的传感器数据以满足其应用,同时可以微调精度并减少资源需求。因此,虽然数据可能仍被发送到云(或者可能先发送到边缘网关,然后再发送到云),但是由于已经进行了大量的分析,因此数据量将少得多。


TinyML的一个常见例子是基于摄像头的目标检测系统,虽然能够捕捉高分辨率图像,但存储空间有限,需要降低图像分辨率。但是,如果相机包含设备上的分析,则只捕获感兴趣的对象而不是整个场景,并且由于相关图像较少,因此可以保留其较高的分辨率。这种功能以往只能在更大、更强大的设备上执行,但微TinyML技术允许它在微控制器上实现。


小而有力


尽管TinyML是一个相对较新的范例,但它已经在以最小的精度损失进行推断(即使是相对较小的微控制器)和训练(在更强大的微控制器上)方面产生了令人惊讶的结果。最近的例子包括语音和面部识别、语音命令和自然语言处理,甚至并行运行几种复杂的视觉算法。


实际上,这意味着一个成本不到2美元的微控制器,配备500MHz的Arm Cortex-M7内核,内存从28kb到128kb,可以提供使传感器真正智能化所需的性能。


即使在这样的价格和性能水平上,这些微控制器也有多种安全功能,包括AES-128,支持多种外部存储器、以太网、USB和SPI,并且包括或支持各种类型的传感器,以及蓝牙、Wi-Fi、SPDIF和I2C音频接口。再多花一点钱,这个设备通常会有一个1GHz的Arm Cortex-M7、400MHz的Cortex-M4、2MB的RAM和图形加速。3.3伏直流电源的功耗通常不超过几毫安。


image.png

机器学习用例(图片:NXP)


关于TOPS的几句絮叨


消费者喜欢使用单一的指标来定义性能,开发者也总是这样做,营销部门也很喜欢。这是因为规范使设备之间的区别变得简单,或者看起来似乎如此。一个典型的例子是CPU,多年来它是由时钟频率来定义性能的。幸运的是,如今无论是开发者还是消费者,情况已不再如此。仅仅用一个指标来评价一个CPU就相当于用发动机的红线来评价汽车的性能。这并非毫无意义,但与发动机的功率或汽车的性能没有多大关系,因为许多其他因素共同决定了这些特性。


不幸的是,对于神经网络加速器,包括那些在高性能微处理器或微控制器中的加速器来说,情况也越来越严重,因为这是一个很容易记住的数字,因为它是每秒数十亿或万亿次的运算。但在实践中,GOPS和TOPS本身是相对无意义的度量,它们代表的只是在实验室中进行的度量(无疑是最好的度量),而不是表示实际的操作环境。例如,TOPS不考虑内存带宽的限制、所需的CPU开销、前后处理以及其他因素。当考虑到所有这些和其他因素时,例如实际操作中,特定板卡使用时的性能,系统级性能可能是数据表中最高值的50%或60%。


所有这些数字告诉你的是硬件中计算元素的数量乘以它们的时钟速度,而不是当它需要工作时它有多少可用的资源。如果数据总是立即可用,功耗不是问题,内存限制不存在,并且算法无缝地映射到硬件上,它们将更有意义。但现实世界没有这样理想的环境。


尤其是到了微控制器的ML加速器时,该指标的价值甚至更低。这些微型设备的值通常为1到3个TOPS,但仍然可以提供许多ML应用程序所需的推理功能。这些设备还依赖于专门为低功耗ML应用设计的Arm Cortex处理器。随着对整型和浮点运算的支持以及微控制器中的许多其他特性的支持,TOPS或任何其他单一的度量标准都无法单独或在系统中充分定义性能。


结论


随着物联网领域向尽可能多地在边缘执行处理越来越近,直接在传感器上或与传感器相连的微控制器上执行推断的愿望正在出现。也就是说,微控制器中应用处理器和神经网络加速器的发展速度很快,而且越来越熟练的解决方案不断出现。趋势是在不显著增加功耗或体积的情况下,将更多以人工智能为中心的功能(如神经网络处理)与微控制器中的应用处理器结合起来。


如今,模型可以在更强大的CPU或GPU上训练,然后使用TensorFlow-Lite等推理引擎在微控制器上实现,以减小模型的大小,满足微控制器的资源需求。缩放可以很容易地执行,以适应更大的ML要求。很快,在这些设备上不仅可以进行推断,还可以进行训练,这将有效地使微控制器成为更大、更昂贵的计算解决方案的竞争对手。


本文作者:NXP人工智能和机器学习技术主管Markus Levy

关键字:MCU  人工智能 编辑:冀凯 引用地址:http://news.eeworld.com.cn/mcu/ic510253.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:HEYKUBE借助Cypress开发第一个可编程魔方
下一篇:最后一页

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MCU,DSP,ARM学习方法经验分享
难度不大的行业使用,比如小家电。不过现在的MCU也很便宜的,几块钱都几十k的FLASH ROM,在现在技术人工那么贵的情况下,估计还是C语言比较迎合市场。学习这些理论知识的同时,都需要动手做实验,不怕搞错,最怕就是懒得搞。  会编程之后,怎样切入单片机?  初学者学了编程语言的之后,又或者搞纯软件想转单片机的人,都会有个共同的特点就是,下一步不知道如何入手?那么我就会问,你懂硬件吗?要求不高,略懂就好,不求很精,因为硬件这东西是越老越辣,越久越醇,锻炼多了,自然会精。假如你一点都不懂,那请看上面的一段,学硬件基础去吧。假如略懂,那么你现在的切入点就是在五花八门的单片机中找一款合适的入门单片机,初学者做任何决定都是以“易入手”为标准,入手
发表于 2020-09-22
基于stm32的mcu和pc的usb通讯技术
  就通信方式讨论:(以下不论ARM核嵌入式低端高端均称为单片机)  单片机间通信可用UART或SPI串口通信,UART适合速率不高,为了兼容低端单片机的场合。SPI比较通用,而且速率可高至单片机核心时钟的1/4(但单片机IO速率低的要注意不能超过单片机IO速率)。高端单片机,如STM32F103系列,带有DMA,可减轻CPU负担。  单片机与PC通信,一般用串口或USB接口。串口或用MAX232芯片与PC串口相连,或用USB转UART芯片(PL2302等)桥接。USB口需单片机带USB接口模块,或USB桥接芯片,或用软件模拟(仅业余使用,商品或工业使用不推荐)。  就USB接口讨论:  单片机所带USB接口多为device接口,很
发表于 2020-09-22
MSP432 MCU 提供多个实时操作系统 (RTOS) 解决方案
当你需要提升产品性能时,你也许会考虑将你现有MSP430 MCU设计移植到TI全新高性能MSP432 MCU平台上。或者,当你需要降低产品功耗时,你也许会考虑将现有的ARM设计移植到我们全新的低功耗MSP432 MCU平台上。用32位ARM系统进行开发时通常需要立即应对多个操作—在这种情况下,实时操作系统 (RTOS) 会派得上用场。MSP432 MCU提供与数个TI RTOS解决方案(其中包括TI-RTOS和ENergia MT)和第三方RTOS解决方案(其中包括FreeRTOS,ARM CMSIS-RIX和Micrium-OS)的兼容性。 由于无需从头开始创建基本系统软件函数,RTOS的使用可以加快开发进度
发表于 2020-09-21
MSP432 <font color='red'>MCU</font> 提供多个实时操作系统 (RTOS) 解决方案
单片机、ARM、MCU、DSP、FPGA、嵌入式之间都有什么联系
通俗讲解单片机、ARM、MUC、DSP、FPGA、嵌入式错综复杂的关系!首先,“嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。但是主要思想是一样的,就是相比较PC机这种通用系统来说,嵌入式系统是个专用系统,结构精简,在硬件和软件上都只保留需要的部分,而将不需要的部分裁去。所以嵌入式系统一般都具有便携、低功耗、性能单一等特性。然后,MCU、DSP、FPGA这些都属于嵌入式系统的范畴,是为了实现某一目的而使用的工具。MCU俗称”单片机“经过这么多年的发展,早已不单单只有普林斯顿结构的51了,性能也已得到了很大的提升。因为MCU必须顺序执行程序,所以适于做控制,较多地应用于工业。而ARM本是一家专门设计MCU的公司
发表于 2020-09-21
单片机、ARM、<font color='red'>MCU</font>、DSP、FPGA、嵌入式之间都有什么联系
详解单片机程序的运行过程
  从单片机上知道,在上电的那一刻,MCU的程序指针PC会被初始化为上电复位时的地址,从哪个地址处读取将要执行的指令,由此程序在MCU上开始执行(当然在调用程序的 main之前,还有一系列其他的的初始化要做,如堆栈的初始化,不过这些我们很少回去修改)。PC在上电时,和MCU差不多,不过读取的是BIOS,有它完成了很多初始化操作,最后,调用系统的初始化函数,将控制权交给了操作系统,于是我们看到了Windows,Linux系统启动了。  如果将操作系统看作是在处理器上跑的一个很大的裸机程序(就是直接在硬件上跑的程序,因为操作系统就是直接跑在CPU上的,这样看待是可以的,不过这个裸机程序功能很多,很强大),那么操作系统的启动很像MCU
发表于 2020-09-21
详解单片机程序的运行过程
低功耗MCU动态时钟分析
  本文结合MSP430系列微处理器,详细论述了通过控制改变MCU的时钟频率来降低功耗的设计方法。  1 功耗产生的原因  在CMOS电路中,功耗损失主要包括静态功耗损失和动态功耗损失两部分。其中静态功耗主要是由反偏PN结的漏电流和晶体管的亚阈值电流引起的,其最主要的形式就是漏电损失。其实CMOS电路理论上不会有静电功耗损失,因为从供应电源到地面没有直接的路径,但实际上晶体管总会有漏电电流的出现,从而出现漏电损失。在0.18μm工艺水平之下,其在功耗中所占比重大约为5%~10%,一般可以忽略(但是随着工艺的提高,供电电压的降低,又使其所占比重逐渐上升)。这样,在CMOS电路中,动态功耗就成了这个系统功耗的主要组成部分,约占整体功耗
发表于 2020-09-18
低功耗<font color='red'>MCU</font>动态时钟分析
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved