人工智能(AI)作为讨论的关键话题的出现可能是由于OpenAI等大规模AI引擎及其生成式预训练转换器(GPT)语言模型架构的能力不断增强。虽然这些系统在数据中心级别运行,GPU 提供处理能力,但较小规模的 AI 工作负载可以提高高度资源受限的嵌入式终端产品的性能和用户体验。
在支持人工智能的电子猫瓣中,ML可以被训练来区分一只猫和另一只猫,只为允许进入的猫打开门。
以支持 AI 的电子猫瓣为例。使用机器学习,首先要对其进行训练,以将猫与其他动物或物体区分开来。通过进一步的训练,它可以学会将一只猫与所有其他猫区分开来,并单独为那只猫打开大门。结果是家里对其他猫是安全的,我们的猫不需要戴RFID项圈或类似不舒服的旧技术就可以进入家。在这里,人工智能极大地改善了宠物及其主人的用户体验。
如果这个或其他人工智能增强的嵌入式应用程序要使用电池供电,那么低功耗是一个关键要求。如今,大多数此类小型且资源受限的应用都将基于通用微控制器。虽然可以使用微控制器实现机器学习功能,但这些设备难以快速执行 AI 任务,并且在执行 AI 功能时消耗过多的功率。服务器级 GPU 提供了嵌入式应用所需的处理能力,但远远超出了其成本和功耗预算。
为了创建电池供电、支持 AI 的产品,设计人员需要一种更好的方法来实现机器学习工作负载,同时仍保留通用微控制器的熟悉工具和指令集。Alif Semiconductor 开发的一种方法将新的处理架构与 Arm Cortex-M 实时内核相结合,以提供一类新的 AI 优化微控制器,轻松应对在电池电源上实现 AI 的挑战。我们将展示与传统微控制器相比,这种方法在执行 AI 工作负载时如何提高性能和能效。
AI 工作负载的特殊性
GPU 之所以用于大规模 AI 部署,是因为它们能够并行执行许多进程,这对于为 AI 创建有效的训练环境至关重要。神经网络通过同时处理多个大型数据集来学习。
例如,即使是单个图像也是一组大型数据集,这些数据集由图像的高度和宽度以及每个像素上的数据定义。当我们将其升级为视频时,我们将像素数据的变化作为时间的函数添加到此训练过程中。与并行处理 GPU 不同,通用微控制器中的标准 CPU 串联处理数据,一次扫描一个像素,而不是像 GPU 那样感知整个画面。这意味着,为了像相对较慢的GPU一样快速地执行相同的图像识别任务(例如,准确识别宠物猫),微控制器的CPU在扫描每个像素时必须以更高的速度运行。
这种操作往往会长时间将 CPU 内核驱动到其最大工作频率。由于现在几乎所有的处理能力都分配给了人工智能任务,微控制器的整体性能可能会受到影响。同时,设备的功耗将增加到电池运行不再可行的程度。这表明在基于传统通用微控制器的电池供电产品中实现有用的 AI 功能的难度。
TinyML 支持简单的 AI 工作负载,但可能无法解决猫瓣场景
虽然构建基于通用微控制器的 AI 增强型电池供电产品具有挑战性,但绝非不可能。一种解决方案是降低工作负载的复杂性,直到设备的功耗和性能可控为止。TinyML 是机器学习的一个子集,其运行功率约为毫瓦,而不是用于大规模 AI 工作负载的 GPU 消耗的数十瓦功率。
通过利用专门设计的软件库进行资源受限的 AI 训练和实施,TinyML 使电池供电的设备能够运行简单的 AI 工作负载,例如使用加速度计进行手势识别——这种类型的模型可用于智能可穿戴设备,以区分用户执行的不同练习。
也就是说,TinyML 工作负载很简单,并且比面部识别等高级 AI 任务需要更少的内存和处理能力。虽然有针对图像处理的 TinyML 工作负载,例如对象跟踪,但这些工作负载还没有达到为我们的 AI 增强型猫瓣识别单个猫的水平。TinyML在改善最终产品的用户体验方面具有许多优势,但电池供电所需的低功耗是以牺牲更高级别的AI功能为代价的。
Arm Cortex-M55 和 Helium 在一定程度上支持类似 GPU 的操作
在设计 AI 增强产品时,另一种解决方案是选择配备专为该任务而设计的处理内核的微控制器,例如 Arm Cortex-M55。得益于新的矢量指令集扩展,即 Arm 的 Helium 技术,Cortex-M55 器件能够并行执行算术运算,从而实现与 GPU 类似的操作,尽管规模较小。
这一点,以及微控制器架构的其他发展,如Cortex-M55浮点单元(FPU),使Cortex-M55内核能够处理比典型的TinyML应用更具挑战性的AI工作负载。虽然该解决方案标志着使用通用微控制器时可以实现的 AI 工作负载复杂性的显着提高,但仍然存在功耗问题,超出了电池供电产品的可行范围。
通用微控制器的 AI 加速器
解决这个问题的秘诀在于 Arm 设计的新处理架构:Ethos-U microNPU。这种专用的神经处理单元大大增强了 Cortex-M 内核的性能,可用作嵌入式物联网设备的 AI/ML 加速器。在需要 Cortex-M 微控制器控制功能的 AI 增强型最终产品中,AI/ML 计算可以直接在这种新的 microNPU 架构上运行,其效率比在 Cortex-M CPU 上要高得多。
将 AI/ML 工作负载转移到此特定于功能的内核还允许主 Cortex-M 内核在睡眠或低功耗模式下运行,从而在 AI 运行期间提供大量节能。此外,该 microNPU 可以使用 AI 筛选数据,因此只有在 microNPU 推断出应用中存在需求时,才会启动 Cortex-M 内核的更高功能。通过使用 Ethos-U microNPU,通用 Cortex-M 微控制器不会因 AI/ML 工作负载而负担过重,并且可以在不牺牲性能或电池寿命的情况下运行标准操作。
首批采用这种架构的微控制器是 Alif Semiconductor 的 Ensemble 系列器件。在实际测试中,发现与其他 Cortex-M 设备相比,它们将 Cortex-M55 实时内核和 Ethos-U55 microNPU 相结合,可将 AI 工作负载的能耗降低 90%。
得益于 microNPU 中的离线优化和先进的无损模型压缩算法,系统内存需求减少多达 90%,机器学习模型大小减少多达 75%,从而支持了这一点。该系列为 32 位微控制器领域增加了一类新的器件,这些器件保留了通用微控制器的熟悉性,但具有高能效 AI/ML 推理的额外优势。
在运行 8 位 16×16 矩阵乘法的 Alif Ensemble 开发套件上的真实示例的现场演示中,通过在 Ensemble E3 内的 Cortex-M55 上启用氦矢量加速,Arm 能够借助 CMSIS-DSP 原生库函数和编译器优化,将执行时间缩短多达 82%。
AI/ML 工作负载示例
通过堆叠多组 Cortex-M 和 Ethos-U 处理器配对,可以实现不同级别的 AI/ML 推理。例如,Ensemble 系列中最基本的器件使用单个 Cortex-M55 实时内核,并由单个 Ethos-U55 microNPU AI/ML 加速器提供支持。Ensemble E3 是这个新的硬件加速 MCU 系列中第一个进入生产的产品。基准测试表明,在 ImageNet 数据集上训练的 MobileNet V2 1.0 模型使用 Alif 的 microNPU 加速器执行速度比在单独工作的 Cortex-M55 MCU 上执行的速度快 135 倍,执行时间为 20 毫秒,而使用 Cortex-M55 内核时则为近 3 秒。
请记住,Cortex-M55 的运行性能比上一代 CM 内核高得多。每次推理使用的测量能量也急剧下降。加速操作的能效提高了 108 倍,功耗仅为 0.86mJ,而功耗为 62.4mJ。
真正有趣的是,当我们考虑该设备的双核版本时,它建立在以前的微控制器的机器学习功能之上,增加了第二个更强大的 Cortex-M55 内核,并带有自己的按比例缩放的 Ethos-U microNPU。与第一个内核结合使用时,可以创建两层推理系统,用于运行较低级别和较高级别的 AI/ML 工作负载。
在限制功耗的同时执行 AI/ML 任务的另一个关键是低功耗模式,在这种模式下,大部分芯片都处于断电状态。由于只有实时时钟和唤醒源仍处于活动状态,这些微控制器的功耗约为 1.0 μA,使其成为电池供电系统的理想解决方案。当系统需要唤醒时,Cortex-M55内核可以以超低功耗运行,只需指示Ethos-U microNPU执行推理任务,该任务将决定是否应该打开更多的Ensemble设备。
现在考虑一下这项技术对我们之前谈到的人工智能电子猫瓣的影响。在我们之前的例子中,我们可以预期猫最初是通过某种形式的运动感应、视频监控或两者的组合检测到的。持续的视频源和相关的 AI 推理会消耗大量电量,因为它试图识别我们的猫,无论这只猫是否还在帧中。
为了节省功耗,双核 Ensemble 微控制器可以使用第一个 Cortex-M55 内核的唤醒功能,首先使用低功耗传感器检测猫瓣前是否有运动。
一旦检测到运动,第一个 Cortex-M55 内核可以唤醒低级推理系统的 Ethos-U microNPU,以捕获几帧视频源并分析数据以检查是否有猫在那里;它可能是另一只动物或从相机前经过的异物。如果在查看视频后发现一只猫已经接近了猫瓣,第一个 Cortex-M55 可以唤醒更高级别的推理系统的第二个 Ethos-U,以检查它是否是我们的猫。
如果无法识别猫,系统可以通过恢复到较低级别的运动检测系统来节省能源,直到新物体进入框架。如果确定是我们的猫,那么第二个microNPU可以唤醒第二个Cortex-M55系统,并激活机制让猫进来。Cat 及其系列仍然可以获得支持 AI 的设备的卓越用户体验,但通过使用 Ensemble 设备中新颖的微控制器设计支持的两层 AI 推理系统,可以显着降低功耗。
当面临在电池供电的终端产品中实现机器学习的困难时,这种处理架构支持的两层推理系统可以解决高功耗和处理能力有限的问题。
审核编辑:刘清
-
微控制器
+关注
关注
48文章
7542浏览量
151316 -
mcu
+关注
关注
146文章
17123浏览量
350994 -
电池供电
+关注
关注
0文章
255浏览量
22150 -
机器学习
+关注
关注
66文章
8406浏览量
132567
发布评论请先 登录
相关推荐
评论