你知道TinyML运行效能谁说了算吗?

电子说

1.3w人已加入

描述

在AI芯片或神经加速处理器(Neural Network Processing Unit, NPU或Deep Learning Accelerator, DLA)领域中,大家也都说自家的芯片世界最棒,对手看不到车尾灯,难道没有一个较为公正衡量芯片运行(推论)效能,就像手机跑分软件一样,让大家比较信服的基准吗?

其实在AI芯片领域中所谓的「效能」,可能因关心的重点不同而会有不同定义和解读。分别可从硬件每秒可执行乘加的次数(又可细分FP32,FP16及INT8等)、对于特定模型在指定推论精度下每秒可执行次数或推论一次所需时间(包含有无模型优化处理)、特定模型推论功耗(推论一次耗费焦耳数)、每瓦特可执行乘加指令次数及其它特定规范时的表现,甚至有用每块美金获得算力来当成基准。所以常会遇到谁也不服谁,老王卖瓜自卖自夸的现象。

目前较被大家接受的就是ML Commons所提出的MLPerf规范,其中包含训练及推论两大项,而推论部份又可细分为数据中心(Datacenter)、边缘(Edge)、行动(Mobile)及微型(Tiny,大多为MCU)。前不久(2023/6/27)才刚公布了Tiny v1.1测试结果报告,接下来就帮大家解读一下这份报告,让大家能更了解未来单芯片运行AI的方向及可行性。

评测场景及项目

目前ML Commons在Tiny部份先前已经过三轮(v0.5, v0.7, v1.0)测试,此次公布的是v1.1结果。测试时分为封闭(Closed)及开放(Open)型式,前者依官方规范测,而后者厂商可提出依自己规范测试更优的结果,不过不是每轮评测都会有开放型式。

目前主要评测项目如Fig.1 所示,共有四个项目,包含关键词侦测(Keyword Spoting, KS)、视觉唤醒字(Visual Wake Words, VW)、影像分类(Image Classification, IC)及异常侦测(Anomaly Detection, AD)。而每个项目都是采单串流数据(Single Stream)方式进行,即推论完一笔再取下一笔进行推论。依照不同项目,分别使用对应的数据集和模型,并在指定的推论质量下进行评量。

Cortex-M4

Fig.1 MLPerf v1.1 工作场景及效能评量项目

参与评测公司、硬件及软件

本次参与评测的项目共有32项,以下依不同项目分别介绍。

参与评测公司:共有10家,Krai, Nuvoton(新唐科技), STMicroelectronics(简称STM), Skymizer(台湾发展软件科技), cTuning, fpgaconvnet, Plumerai, Syntiant, Robert Bosh GmbH, kai-jiang(个人)。

参与评测开发板:共有14种,规格下如下所示。

STM NUCLEO-H7A3ZI-Q, Arm Cortex-M7(DSP+FPU) @280MHz

STM NUCLEO-L4R5ZI, Arm Cortex-M4(DSP+FPU) @120MHz

STM NUCLEO-U575ZI-Q, Arm Cortex-M33(DSP+FPU) @160MHz

STM NUCLEO-G0B1RE, Arm Cortex-M0+ @64MHz

STM DISCO-F746NG, Arm Cortex-M7(DSP+FPU) @216MHz

Nordic nRF5340 DK, Arm Cortex-M33(DSP+FPU) @128MHz

Nuvoton NUMAKER-M467HJ, Arm Cortex-M4F @200MHz

DIGILENT Cora Z7, Arm Cortex-A9 @667MHz

DIGILENT ZC706, Arm Cortex-A9 @650MHz

DIGILENT ZedBoard, Arm Cortex-A9 @650MHz

DIGILENT ZyBo, Arm Cortex-A9 @650MHz

Infineon CY8CPROTO-062-4343W, Arm Cortex-M4 (DSP + FPU) @150MHz

Syntiant NDP9120, HiFi3+M0 @30.7MHz/98.7MHz

ZCU106, RISC-V @20MHz

主要CPU规格:共有7大类。只有1项使用RISC-V,1项为MCU+NPU,其余皆是Arm Based。Cortex-M为单芯片(MCU)等级,Cortex-A为微处理器(MPU)等级芯片,用于手机或单板微电脑。

Arm Cortex-M0+ (1项)

Arm Cortex-M33 (4项)

Arm Cortex-M4/M4F (13项)

Arm Cortex-M7 (7项)

Arm Cortex-A9 (4项)

Syntiant HiFi3+M0 (2项)

RISC-V (1项)

主要软件及函式库:共有9种。

Skymizer ONNC

MicroTVM

Plumerai Inference Engine

Syntiant TDK+SDK

Bosch Hardware-Aware Lowering Engine(HALE)

STM X-CUBE-AI

fpgaConvNet(Model+Optimiser)

Arm CMSIS-5

TVM

评测结果:

由于芯片等级落差颇大,单从推论时间(毫秒ms)及能耗(微焦耳uJ 比较可能会有点不公平,所以这里依CPU等级及工作频率来分会更清楚些。Fig. 2分别列出各等级中推论速度表现最好的。

Cortex-M4

Fig.2 MLPerf Tiny v1.1各等级CPU及不同应用表现最佳清单。

另外从此次提交的项目亦可看出Arm Cortex-M4已成为TinyML的主流,若推论仍不够快时,则可再提升到Cortex-M7。而新上市的Cortex-M33效能已高过Cortex-M4,略低于Cortex-M7,让使用者有多一点性价比的选择空间。

小结

在边缘智能(Edge AI)装置及智能物联网(AIoT)应用中使用单芯片(MCU)来运行AI(TinyML)已是现在进行式,透过此次的评比结果,可让大家更了解各家芯片性能及模型优化工具的进展,未来随着MCU+NPU的普及,相信下一次的评比结果可能就有更大跃升,就让大家一起期待吧!



审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分