最近,随着机器学习(ML, Machine Learning)的进步出现了分歧,分为两个规模:一个是传统的大型ML(云ML),模型越来越大,以实现准确性方面的最佳性能;另外一个是新兴的微型机器学习(TinyML)领域,其中模型被缩小以适应受限设备以超低功耗执行。由于TinyML是一个新兴领域,本篇文章将讨论在开发TinyML和当前行业标准纳入TinyML设备基准测试的系统时要考虑的各种参数。
系统指标要求根据正在开发的用例会有很大差异。我们来看下四个指标:准确性、功耗、延迟和内存要求。
准确性
在过去十年中,准确性一直被用作衡量机器学习模型性能的主要指标,较大的模型往往优于较小的。在TinyML系统中,准确性也是一个关键指标,但与云ML相比,与其他指标的平衡更为必要。
功耗
由于TinyML系统预计将长时间使用电池运行,因此考虑TinyML模型的功耗(通常为mW量级)至关重要。TinyML模型的功耗将取决于可用的硬件指令集,例如,由于采用了氦气指令集,ARM Cortex-M85比ARM Cortex-M7更节能。此外,功耗还取决于用于运行模型的底层软件,即推理引擎。例如,与参考内核相比,使用CMSIS-NN库可显著提高性能。
延迟
TinyML系统在端点运行并且不需要云连接,因此,此类系统的推理速度明显优于基于云的系统。在某些用例中,拥有超高的推理速度对于生产就绪至关重要(ms为单位)。与功耗指标类似,延迟取决于底层硬件和软件。
内存
内存是TinyML的一大障碍,它挤压了ML模型以适应资源受限的MCU(内存小于1MB的MCU更常见)。所以,降低内存需求一直是一个挑战。在模型开发过程中,会使用许多技术,例如:剪枝和量化。此外,底层软件发挥着重要作用,因为更好的推理引擎可以更有效地优化模型(更好的内存管理和用于执行层的库)。
由于这四个参数是相关的(往往是准确性和内存之间的负相关,但内存、延迟和功耗之间存在正相关),改进一个参数可能会影响其他参数。在开发TinyML系统时,仔细考虑这些因素很重要。一般的经验法则是根据用例定义所需的必要模型准确性,将各种开发的模型与其他三个指标进行比较。如下图所示,给定已训练的各种模型的虚拟示例。
不同标记形状表示具有不同超参数的模型架构(超参数,是指机器学习算法中的调优参数,需要人为设定)。这些超参数往往会随着架构大小的增加而提高准确性,但却牺牲了其他3个指标。根据系统定义的用例,显示一个典型的相关区域,由此,只有一个模型具有90%的精度,如果需要更高的精度,则应重新考虑整个系统以适应其他指标的增加。
在此,提一下“基准测试”(benchmark),它是设置可重复标准以比较不同技术、架构、软件等的必要工具。在AI/ML中,准确性是衡量不同模型的关键指标。在嵌入式系统中,常见的基准测试包括CoreMark和EEMBC的ULPMark用以测量性能和功耗。就TinyML而言,MLCommons作为行业标准越来越受到关注,它可以评估前面讨论的四个指标,并且由于TinyML系统的异构性,为了确保公平性,使用了4个具有4个不同AI模型的AI用例,并且必须达到一定水平的准确性才能获得基准测试资格。
作为端点AI领域的行业领导者,瑞萨计划将率先支持Cortex-M85内核的MCU推向市场,TinyML系统将进一步开发各种用例,让我们的生活更轻松。
-
mcu
+关注
关注
146文章
16984浏览量
350259 -
瑞萨
+关注
关注
34文章
22290浏览量
86037 -
AI
+关注
关注
87文章
30097浏览量
268369 -
机器学习
+关注
关注
66文章
8375浏览量
132398 -
TinyML
+关注
关注
0文章
42浏览量
1217
原文标题:开发TinyML系统必须考虑的四大指标
文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论