账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
TinyML(MCU AI)运行效能谁说了算?
【vMaker Edge AI专栏 #07】

【作者: Jack OmniXRI】2023年07月31日 星期一

浏览人次:【2127】

在电影「食神」中,唐牛和史蒂芬周同时选了佛跳墙来争夺食神地位,结果唐牛抗议对方抄袭动作,结果裁判说:「比赛就是这样的!好像跑步游泳一样,还不是你做什麽他就做什麽!有什麽好抗议的?抗议无效!」。同样地,在AI晶片或神经加速处理器(Neural Network Processing Unit, NPU或Deep Learning Accelerator, DLA)领域中,大家也都说自家的晶片世界最棒,对手看不到车尾灯,难道没有一个较为公正衡量晶片运行(推论)效能,就像手机跑分软体一样,让大家比较信服的基准吗?


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


目前较被大家接受的就是ML Commons[1]所提出的MLPerf规范,其中包含训练及推论两大项,而推论部份又可细分为资料中心(Datacenter)、边缘(Edge)、行动(Mobile)及微型(Tiny,大多为MCU)。前不久(2023/6/27)才刚公布了Tiny v1.1测试结果报告[2],其中也包括了台湾新唐科技(Nuvoton)及台湾发展软体科技(Skymizer)提交的亮眼成果。接下来就帮大家解读一下这份报告,让大家能更了解未来单晶片运行AI的方向及可行性。


1.评测场景及项目

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


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



图1 : MLPerf v1.1 工作场景及效能评量项目。[2]
图1 : MLPerf v1.1 工作场景及效能评量项目。[2]

2.叁与评测公司、硬体及软体

本次叁与评测的项目共有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


3.评测结果:

由於晶片等级落差颇大,单从推论时间(毫秒ms)及能耗(微焦耳uJ 比较可能会有点不公平,所以这里依CPU等级及工作频率来分会更清楚些。图2分别列出各等级中推论速度表现最好的。如果想了解更完整测试资料可叁考[2]。



图2 : MLPerf Tiny v1.1各等级CPU及不同应用表现最隹清单。[2]
图2 : MLPerf Tiny v1.1各等级CPU及不同应用表现最隹清单。[2]

台湾这次也有两家厂商提交3个项目,其主要规格如下:


●台湾新唐科技(Nuvoton),


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


●台湾发展软体科技(Skymizer)


NUCLEO-L4R5ZI_zephyer, STM NUCLEO-L4R5ZI, ONNC, Arm Cortex-M4 @120MHz


NUCLEO-L4R5ZI_mbed-os, STM NUCLEO-L4R5ZI, ONNC, Arm Cortex-M4 @120MHz


这3项底层部份都是使用Skymizer的ONNC来进行推论优化,其中新唐在Cortex-M4等级评比中,在视觉唤醒词和关键词侦测部份获得最快推论速度,不过由於此次评比的Cortex-M4大多是120MHz,所以使用200MHz会略胜一畴。若把Skymizer的两项升速到200MHz时,则其表现会接近新唐的MCU,表示其ONNC的性能已达世界水准,值得台湾其它有生产Arm Cortex-M4 MCU的厂商叁考。


注:此次使用的ONNC为较新商用版本,而非Github上开源的版本[3]。


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


4. 深入了解测试规范


若想要更深入了解其测试规范的朋友可以叁考官方释出的论文[4],或官方Github提供的完整测试规范[5]。目前MLPerf在手机SoC晶片(Arm Cortex-A等级CPU)AI测试部份略嫌少了些,如果有兴趣了解的朋友可叁考[6]。


小结


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


(本文由VMAKER授权转载;连结原文网址


叁考文献

[1] ML Commons


https://mlcommons.org/


[2] ML Commons, Benchmarks - Inference: Tiny v1.1 Results


https://mlcommons.org/en/inference-tiny-11/


[3] Skymizer, Github - Open Neural Network Collection - ONNC/onnc


https://github.com/ONNC/onnc


[4] MLCommons, MLPerf Inference Benchmark


https://arxiv.org/abs/1911.02549


[5] MLCommons, MLPerf Tiny Inference Rules


https://github.com/mlcommons/tiny/blob/master/benchmark/MLPerfTiny_Rules.adoc


[6] 许哲豪,AI晶片如何评比效能


https://omnixri.blogspot.com/2019/03/ai.html


延伸阅读

[A] 陆向阳,【Benchmark】要如何衡量TinyML专案的执行效能?


https://makerpro.cc/2022/03/how-to-measure-the-performance-of-tinyml-projects/


[B] 陆向阳,TinyML效能基准测试:MLPerf Inference:Tiny 0.7版观察


https://makerpro.cc/2022/07/the-review-of-mlperf-inference-tiny-version-0-7-benchmark-for-tinyml-performance/


[C] 许哲豪,MCU携手NPU让tinyML迈向新里程碑


https://omnixri.blogspot.com/2022/10/mcunputinyml.html


[D] 许哲豪,有了TinyML加持MCU也能开始玩电脑视觉了


https://omnixri.blogspot.com/2022/12/tinymlmcu.html


相关文章
MCX A:通用MCU和FRDM开发平台
用ESP32实现可携式户外导航装置与室内空气监测仪
学童定位的平价机器人教材Arduino Alvik
【Maker玩AI】用Roboflow + Ultralytics HUB训练与管理 YOLO模型
Arduino推出支援Elastic的函式库
comments powered by Disqus
相关讨论
  相关新闻
» Seagate发布再生能源使用及实践永续循环成效
» 宜鼎独创MIPI over Type-C解决方案突破技术局限,改写嵌入式相机模组市场样貌
» 英业达以AI科技实践永续 携手台大保护云雾林生物多样性
» 震旦研发ESG绿色报表协助企业绿色减碳
» 研华AIoV智慧车联网解决方案 打造智慧交通与商用车国家队


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84RB67RUESTACUK7
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw