MCU AI/ML - 弥合智能和嵌入式系统之间的差距
人工智能 (AI) 和机器学习 (ML) 是关键技术,使系统能够从数据中学习、进行推理并随着时间的推移提高性能。这些技术经常用于大型数据中心和功能强大的 GPU,但是在资源受限的设备,例如微控制器 (MCU) 上进行部署的需求越来越大。
在本博客中,我们将探讨 MCU 技术和 AI/ML 的交集,以及它如何影响低功耗边缘设备。我们将讨论在电池供电的 MCU 上运行 AI 的困难、创新和实际用例。
AI/ML 和 MCU:简要概述
AI 创建可以执行类似人类任务的计算机系统,例如理解语言、寻找模式和做出决定。机器学习是人工智能的一个子集,涉及使用算法,让计算机从数据中学习并随着时间的推移取得进步。ML 模型可以寻找模式,对对象排序,并从示例中预测结果。
MCU 对于在边缘设备上实现 AI 和 ML 至关重要。
基于 MCU 的边缘 AI/ML 的一些用例包括:
- 关键词识别: 无需云连接即可识别特定词语或短语(例如语音命令)
- 传感器融合: 结合来自多个传感器的数据,比使用单个传感器解决方案做出更明智的决策
- 异常检测: 检测传感器数据中可能指示故障、错误或威胁的异常值或异常模式,以进行预测性维护或质量控制
- 对象检测: 识别和定位由摄像头或其他传感器捕获的图像或视频中的感兴趣对象(例如,人脸、行人、车辆)。
- 手势识别: 解读摄像头或其他传感器捕获的图像或视频中的人类手势(例如,手部动作、面部表情、身体姿势),以改善人类与计算机的交互
MCU 上的 AI/ML 挑战
深度学习模型,特别是深度神经网络 (DNN),对于计算机视觉和自然语言处理等复杂任务来说已经变得不可或缺。然而,它们的计算需求很大。这种资源密集型模型对于日常设备来说是不切实际的,尤其是那些由边缘设备中常见的低能耗 MCU 供电的设备。深度学习模型复杂性的增长是不可否认的。随着 DNN 变得越来越复杂,其尺寸会不断扩大,使其与 MCU 上可用的有限计算资源不再兼容。
什么是 TinyML?
TinyML 是指针对资源受限设备上的部署而优化的机器学习模型和技术。这些设备在生成数据的边缘运行,并在本地执行推理。TinyML 系统通常在低功耗 MCU 上运行,在节点对本地收集的数据执行推理。推理是 AI 模型的真相时刻,测试其运用训练中所学到知识的能力。本地推理使 MCU 能够直接执行 AI 模型,无需依赖外部服务器或云服务即可做出实时决策。
在 AI/ML 背景下进行本地推理至关重要,原因有以下几点:
资源限制: 许多嵌入式设备,特别是那些电池供电的设备,其内存、处理能力和能源效率等资源有限。传统的通用微控制器由于其有限的处理能力和内存、有限的能源资源或缺乏片上加速而难以有效地执行 AI 任务。本地推理允许这些资源受限的设备执行 AI 工作负载,而不会消耗过多的功率来提高诸如以下方面的效率和性能:
用户体验增强: 举一个例子:支持 AI 的电子猫门。通过训练它来区分猫和其他物体,它只能为授权的猫打开门。在这里,本地推理通过确保安全性和便利性来改善用户体验,而不需要 RFID 项圈等其他硬件。
效率和性能:GPU 通常用于大规模 AI 部署,因为它们可以并行执行许多流程,这对有效的 AI 训练至关重要。但是,GPU 成本高昂,超出了小型嵌入式应用的功耗预算。AI 优化的 MCU 具有专用体系结构,通过为 AI 工作负载提供更好的性能和功率效率实现平衡。Silicon Labs 将矩阵矢量处理器作为其对 AI/ML 支持的一部分。这种专用外围设备旨在提升 AI/ML 算法或矢量数学运算的性能,以缩短推理时间并以较低的功率执行这些关键任务。
总之,边缘的本地推理可以实现实时决策、降低延迟、强化安全性、为电池供电设备提供 AI 功能,并增强用户体验,使其成为现代计算系统的关键组件,同时尊重资源限制。
Silicon Labs 边缘先驱 AI/ML 解决方案:
在动态技术环境中,Silicon Labs 是将人工智能 (AI) 和机器学习 (ML) 引入边缘的开拓者。我们对创新的承诺带来了突破性的解决方案,使微控制器 (MCU) 等资源受限设备具有智能功能。
针对 TinyML 优化的设备
MCU 及 无线 MCU EFR32xG24、EFR32xG28 和 EFR32xG26 产品家族结合了 78 MHz ARM Cortex®-M33 处理器、高性能无线电、精密模拟性能和 AI/ML 硬件加速器,为开发人员提供了灵活的边缘智能部署平台。这些 SOC 支持广泛的无线物联网协议,具有市场领先的安全性和 RF 性能/能效比。
当今的开发人员经常因在边缘部署 AI/ML 而被迫付出高昂的性能或能源代价。xG24, xG28 和 xG26 产品家族作为首款配备专用 AI/ML 加速器的超低功耗设备,可降低总体设计复杂性,从而降低这些代价。这种专用硬件旨在处理复杂的计算,与仅采用固件的方法相比,推理速度提高 8 倍,能效提高 6 倍,与基于云的解决方案相比,性能更高。硬件加速器的使用减轻了主应用 MCU 推理的负担,留出更多的时钟周期为您的应用提供服务。
无线部产品营销经理 Mark Beechum 讨论了 Silicon Labs 如何帮助开发人员开始 AI/ML 开发功能丰富的低功耗设备。
简化 AI/ML 开发的工具
构建、测试和部署机器学习所需算法的工具与运行这些算法的 MCU 同样重要。通过与 TensorFlow、SensiML 和 Edge Impulse 等 TinyML 领域的行业翘楚合作,Silicon Labs 同时为初学者和专家提供了选择。开发人员可以将这一新 AI/ML 工具链与 Silicon Labs 的 Simplicity Studio 配合使用,创建可从各种连接设备中获取信息的应用程序,从而做出智能机器学习驱动的决策。
Silicon Labs 提供各种工具和资源来支持机器学习 (ML) 应用。以下是其中一部分:
机器学习应用程序: 该开发平台支持嵌入式机器学习 (TinyML) 模型推理,由 TensorFlow Lite for Microcontrollers (TFLM) 框架提供支持。存储库包含利用 ML 的嵌入式应用程序的集合。
机器学习工具包 (MLTK): 这是一个 Python 包,具有命令行实用程序和脚本,有助于为 Silicon Lab 的嵌入式平台开发机器学习模型。它包括从命令行界面或 Python 脚本执行 ML 操作、确定 ML 模型在嵌入式平台上的执行效率以及使用 Google TensorFlow 训练 ML 模型的功能。
Silicon Labs 提供 TinyML 解决方案作为机器学习工具包 (MLTK) 的一部分。该工具包包括 TinyML 基准测试使用的几种模型。这些型号可在 Silicon Labs GitHub 上使用,包括异常检测、图像分类和关键词识别。
AI/ML 驱动的边缘设备为我们如何与周围环境互动开辟了新的视野,它们很快将以令人惊叹的方式改变我们的生活。Silicon Labs 处于 TinyML 创新的前沿,能够以前所未有的方式将这些功能带入连接的低功耗边缘设备。
在我们近期的无线计算技术讲座“针对 AI/ML 边缘优化的平台”中,详细了解我们的 EFR 和 EFM MCU 平台如何针对 AI/ML 边缘进行优化。