将CNN硬件加速器集成进通用MCU,ADI的MAX78000和MAX78002实现高能效边缘AI应用 2023-02-25

 要实现人工智能,必然要进行大量的矩阵计算。而大量的矩阵计算依赖于大量的存储空间、强大的计算能力和高速的数据交互,因此通常只能在云端的大型服务器集群中可以进行部署。

但在很多垂直的边缘端要实现AI赋能,调用云端的AI能力的成本较高,而且整个链条的响应时间也较长,对于连接质量的依赖程度也较高,因此并不能做到较为实时的计算和处理,这与端侧的低功耗、低延时的系统设计目标并不相符。但其实剖析大部分端侧的AI应用场景,并不需要非常复杂的模型运算,例如识别车牌、物体,进行语音指令识别等等,这些应用已经沉淀了成熟的AI模型,因此只需要在端侧计算单元中部署一个资源够用的卷积神经网络(CNN)加速器,就可以承担起端侧的AI任务,而且也释放了更擅长做计算任务的CPU等资源,从而在增加AI运算的同时,还保证了达到端侧高能效目标。

在百亿IoT设备中,大部分的计算单元是MCU。而在MCU中集成CNN加速器,已经成为了MCU的一个发展方向。目前诸多MCU厂商都已经推出了AI集成的MCU产品,其中也包括ADI的边缘AI微控制器产品MAX7800X系列,目前该系列产品型号包括MAX78000和MAX78002。

 

CNN加速器集成,实现高能效边缘AI计算

据预测,2025年75%的数据产生在边缘侧进行处理,端侧AI MCU市场潜力巨大。MAX7800X系列也因此应运而生。据ADI中国技术支持中心高级工程师辛毅介绍,该系列产品由两个微控制器内核(ARM Cortex M4F和RISC-V)加上一个卷积神经网络(CNN)加速器构成。这一架构针对边缘AI应用进行了高度优化,数据的加载和启动由微控制器内核负责,而AI推理由卷积神经网络加速器专门负责。

据ADI MCU产品线资深业务经理李勇介绍,Cortex-M4F内核主要是做一些应用和通信,同时内部还配有FLASH和SRAM。而RISC-V则是一颗小内核,采用32位精简指令集,主要是配合CNN来工作。比如图片、声音、波形等数据通过通信接口或者图像Camera接口输入进来后,会由RISC-V内核将这些数据搬运至存储空间,再让CNN来使用。CNN经过硬件计算,将原始的数据通过矩阵的乘法和加法得到一些特征值,再放到内存里来进行比对。

借助于CPU和CNN两类硬件的分工合作,MAX7800X系列一不需要联网,二支持电池供电,完美地满足了边缘AI的要求,是AIoT应用的理想产品。

目前MAX7800X提供了MAX78000和mAX78002两种产品型号,MAX78000可支持多达3.5M的模型权重,MAX78002则支持多达16M的模型权重。如果把AI看成一个工作的大脑,那么模型权重就相当于这个大脑里储存的知识。因此,MAX78002和MAX78000相比,不仅可以做到图像的识别,还可以进行复杂的视频分析。“总的来说,ADI的边缘AI解决方案具备速度快、无需外部存储、时钟控制灵活和超低功耗等四大特色,因此对于需要使用电池供电、需要及时决策的物联网设备来说特别合适。”辛毅介绍到。

 

更完美平衡的边缘AI方案

边缘AI的计算平台,可以选择FPGA、GPU、DSP或其它专用ASIC,但ADI的MAX7800X凭借着针对性的架构设计,提供了更高的能效和性能表现。

对比传统的MCU+DSP的方案,ADI的MAX7800X的CNN加速器可以将功耗降低99%以上,而且算法在CNN上执行的效率也比DSP上更高。对于单纯采用微控制器的方案,MAX7800X的CNN加速器具备更高的数据吞吐量,可以将速度提高100倍以上;而且释放了CPU的工作负载,使其专注于更擅长的计算任务。而对于FPGA等方案,虽然可以处理更复杂的细节,但其成本、功耗和面积都并不适合更边缘侧的部署,MAX7800X也具备更大的优势。

如下图所示,将最新的MAX78000,与ADI的通用MCUMAX32650,以及竞争对手的某个MCU放在一起进行对比。当执行相同的人脸识别(也就是图像识别、视觉识别)和关键字识别(也就是音频识别、听觉识别)的AI推理时,MAX78000中的CNN在50MHz的主频下就可以达到280亿次每秒的运算速度,而另外两颗MCU则在内置的带CMSIS-NN的DSP上运行相同INT8网络,速度远不及MAX78000中的专用CNN。而在功耗表现方面,竞品MCU还要增加外部3.3V SDRAM和控制器的功耗,远高于MAX78000和MAX32650。总的来看,在执行AI运算时,不论是推理速度和推理功耗,MAX78000在都大幅领先于另外两颗没有内置CNN的MCU。

 

硬件CNN集成,边缘AI MCU的技术趋势

当前边缘AI的实现,有多种不同的方案,但考虑到更低的功耗表现,MCU内部集成专用的CNN硬件加速器是必然的选择。因为AI需要的大量矩阵计算,在Cortex-M7或RISC-V等内核上运算的效率并不高,势必带来大幅的功耗上升。而集成的CNN是专门针对矩阵计算设计的,因此执行效率非常高。据李勇介绍,ADI的硬件CNN有64个8位处理器,里面有很多存放权重数据的Memory,这些Memory都分布在64个处理器周围,并不需要那么多寄存器去进行管理,CNN的处理器直接取值,运算了再放出来,这一过程就会省很多时间,运算也非常快。因为全是硬件完成的,比传统微控制器的处理速度要快得多。CNN工作在50MHz的频率上,可以非常快完成AI工作,然后进入到睡眠状态。因此集成来硬件CNN的MCU做这类运算,会比其他传统MCU控制器更加省电。

为了实现可穿戴级别的低功耗,MAX7800X系列在设计上针对低功耗的进行了全面的考量。首先,选择的Cortex-M4F和RISC-V内核本身就是低功耗的取向,每个芯片有不同的工作模式、功耗模式,可以针对不同工况来关断不需要的资源和接口,确保芯片一直保持在更低的功耗水平。其次,ADI的设计中包含有多个时钟源,不仅有100MHz,还有7MHz和4MHz的。采用低频率时钟源的时候,功耗可以实现显著降低。第三是提高集成度,ADI将电源管理、通信接口、比较大的Memory、甚至是电频转换芯片都集成在芯片里面, 输入一个2.0V到3.6V的单电源,可以实现多路电源输出,内部供给内核、Memory或者GPIO使用,从而帮助客户提升了系统的整体功耗表现。

目前MAX78000支持的模型已经有一些客户成功案例,比如用来做山火监测的安全摄像头,有些地方经常突发山火,需要一些远程监控设备,但又不需要传输大量的图像。另外比如城市里的管道漏水、漏气,是通过声音和管道震动来检测的。还有一些特殊产品,比如摩托车头盔上的摄像头,需要采用语音控制等等。其实ADI已经无形中将AI应用到方方面面。

 

结语

随着AI在边缘的落地,硬件CNN在端侧MCU的集成已经成为一种技术趋势。这种AI MCU的发展,将会迎来巨大的市场机遇。


勘误纠正/技术交流/采购需求/批量供应(Correction/Technical/Perchase/Wholesale)(共0条评论)
  • 暂无评论
E-mail:
AA:
Contents:
  Code: captcha