人工智能已经彻底改变了众多行业,这得益于它能够分析大量数据、提取复杂模型并自主做出决策的能力。尽管人工智能具有诸多优势,但迄今为止,大多数人工智能应用都是在高性能计算平台上实现的,例如配备强大GPU的云服务器或计算机。随着对分散式和高性价比解决方案的需求不断增长,人们开始着手将这些模型应用于运行功率更低的小型设备,例如基于MCU的低成本硬件平台。在MCU上直接运行人工智能模型的能力为物联网、汽车、工业、消费者、机器人、可穿戴设备以及所有必须最大限度降低能耗和成本的应用带来了无限可能。如今,由于技术不断进步,即使在没有强大计算能力的硬件上也可以实现人工智能算法。
MCU功耗和性能
MCU是集成到需要进行基本计算的硬件中的小型低功耗计算器件。它们使我们日常使用的数十亿台设备(如家用电器和移动连接设备)实现智能化,而无需依赖昂贵的硬件或可靠的互联网连接,也不受带宽和功耗的限制。MCU还有助于保护隐私,因为不会有任何数据离开设备。试想一下,智能家电能够适应我们的日常活动,智能工业传感器能够识别故障和正常运行之间的区别。
将计算能力从强大的集中式服务器转移到MCU是一种革命性的方法。MCU旨在集成到低功耗、资源有限的低成本设备中,其计算能力远低于PC或服务器。从硬件层面来说,MCU通常具有几十或几百KB的RAM、几兆赫到几十兆赫的时钟频率和32位(有时甚至是8位)架构,因此其性能不如通常用于执行AI模型的传统平台。
另一个需要考虑的方面是功耗。MCU通常用于电池供电系统,例如用于远程控制的无线传感器网络或便携式可穿戴设备,在这些应用中,每消耗一毫安电流都可能缩短电池寿命,从而降低性能。因此,AI技术不仅必须针对计算能力进行优化,还必须针对能效进行优化。MCU的功耗因型号和具体应用而异。一般来说,低功耗MCU(例如Arm Cortex-M0+系列MCU)在睡眠模式下消耗的电流只有几微安,运行时仅消耗几毫安。另一方面,功能更强大、更复杂的MCU(例如Arm Cortex-M4或M7系列MCU)在完全运行时可能消耗数十毫安电流。在设计中考虑电源管理以优化功耗始终是很重要的,尤其是对于依赖电池的应用。
通常,在边缘设备上实施AI应用的第一阶段是使用数据集训练模型,然后将训练好的模型直接部署在设备上。用户可下载公开的数据集或创建自己的自定义数据集。
在MCU上实现AI
片上AI集成可将智能本地处理直接带到边缘(即靠近数据采集点),而无需将信息发送到中央服务器进行处理。在MCU上实现AI的一个优点是减少延迟:由于数据处理在本地进行,因此对操作的响应时间非常快。事实上,数据通信是一个瓶颈,因为将数据上传到云服务器进行实时处理会产生延迟和隐私问题。具有AI功能的MCU可以实时处理从传感器获得的复杂数据。
边缘AI还可以提高能源效率。MCU旨在以最小的功耗运行,这对于便携式或电池供电的应用至关重要。避免密集使用网络可减少向远程服务器传输大量数据的能耗。由于处理过程在本地进行,敏感数据不必通过可能不安全的网络进行传输,因此还能提高数据的隐私性和安全性。
支持AI的MCU可以以相对较低的成本大规模部署,从而可以在各种设备和应用中实现智能系统。在MCU上集成AI还可以实现高级别的个性化,因为设备可以从数据和用户交互中学习,从而提供高度个性化的体验。
科技行业已经开发出新的解决方案来优化AI模型以在MCU上运行。近年来,Edge Impulse和谷歌适用于MCU的TensorFlow Lite这两个平台因其能够解决MCU的局限性并为开发人员提供持续支持而脱颖而出。这些平台的设计目的是在具有几千字节内存的MCU等器件上运行机器学习(ML)模型。
TensorFlow Lite(现为LiteRT)是一个跨平台、完全开源的深度学习框架,能够将预训练的TensorFlow模型转换为适合速度和内存优化的格式。该模型可以部署在基于不同操作系统(如Android、iOS、Linux或Raspberry Pi)的嵌入式设备以及MCU上,以执行本地推理。在MCU上运行TensorFlow模型的典型工作流程包括使用特殊库在目标设备上训练模型和运行推理。
Edge Impulse和适用于MCU的TensorFlow Lite平台为在嵌入式设备上实现AI模型铺平了道路。通过结合先进的模型压缩技术、特定于硬件的优化和直观易用的工具链,现在可以在资源非常有限的设备上运行神经网络。硬件的不断小型化和高效算法的开发减少了对计算能力和内存的需求,从而取得了进展。这些新技术的影响在智能家居等领域显而易见,其中带有嵌入式MCU的设备可以利用AI识别手势或语音命令,无需远程服务器即可分析视频流,或者使用通过光传感器获取摄像头数据的系统来检测人员。这些应用确实多种多样。即使在汽车行业,支持AI的MCU也可用于实时分析来自车辆传感器的数据,从而提高驾驶安全性并优化自动驾驶系统的性能。
Edge Impulse助力MCU普及AI
Edge Impulse是一个致力于普及AI的创新平台,专注于边缘计算设备(尤其是MCU)上的数据收集、模型创建、训练和部署。该公司成立于2019年,凭借其全面的工具套件,迅速成为MCU机器学习领域的领导者,这些工具套件有助于设计、训练和部署针对低功耗硬件优化的AI模型。Edge Impulse的显著特点之一是其“端到端”方法,允许开发人员直接构建从数据收集到最终部署的ML管道。得益于直观的Web界面,该流程得到了简化,该界面从连接到MCU的传感器获取数据,对其进行处理,训练AI模型并将模型部署到真实设备上,所有这一切都不需要高级编程或嵌入式软件开发知识。Edge Impulse可帮助完成边缘AI生命周期的每个阶段,从数据收集、特征提取、ML模型设计、模型训练和测试到将这些模型部署到终端设备(图1)。
图1:采用Edge Impulse的边缘AI生命周期。(来源:Edge Impulse公司)
由于边缘设备的处理能力、操作系统和支持的语言各不相同,实施可能是一个复杂的过程。因此,Edge Impulse提供了多种部署选项,用户可以在这些选项上构建应用程序。通常,这些部署是开源库,可以方便地与模型进行交互。Edge Impulse能够轻松连接到其他ML框架,允许根据需要扩展和自定义模型。例如,在实际应用中,Edge Impulse可用于为电池供电的可穿戴设备开发语音识别模型,该模型可以在本地识别语音命令,而无需将数据发送到远程服务器。通过针对硬件优化模型,功耗可保持在极低水平,从而延长了设备的电池寿命。
另一个值得注意的应用案例是使用Edge Impulse在工业工厂中进行预测诊断,其中集成了MCU的低成本传感器被编程为使用优化的模型,在低计算资源上运行,以监控机器的行为并实时检测异常。这使得公司能够减少停机时间并改善预防性维护。此外,该平台还支持从最简单的Arm Cortex-M器件到最先进的解决方案等各种MCU,并兼容现有的AI模型库。它的灵活性使开发人员能够在各种硬件上集成AI,从而使物联网智能解决方案的创建变得更加容易。
Edge Impulse Studio是一款基于Web的工具,具有图形界面,支持收集数据并将模型部署到终端设备(图2)。该采集工具可以对数据进行存储、排序和标记。
图2:数据采集。(来源:Edge Impulse公司)
Edge Impulse支持使用和修改标准特征提取方法以适应特定项目,并允许通过自定义处理块创建新方法。然后,可以使用学习块训练ML模型。该平台提供了预定义的学习块,也支持创建自定义学习块或使用专家模式修改ML代码。训练完成后,模型可通过保留集或连接设备进行实时数据测试(图3)。
图3:在Edge Impulse上测试模型。(来源:Edge Impulse公司)
该过程完成后,完成的模型可以以多种格式部署,包括C++库、支持硬件的预置固件等。该平台还提供一系列企业功能,用于构建完整的边缘ML管道并扩展部署,同时提供更快的性能和更多的训练时间,以便构建更大、更复杂的模型。
谷歌适用于MCU的TensorFlow Lite
在适用于MCU的AI领域,谷歌适用于MCU的TensorFlow Lite是另一个重要的参考平台。TensorFlow Lite是著名的TensorFlow深度学习库的简化版本,旨在为移动和嵌入式设备优化AI模型。谷歌适用于MCU的TensorFlow Lite代表着进一步的发展,其具体目标是在计算资源和内存容量极其有限的MCU上运行神经网络。
该平台的成功之处在于采用了量化技术,在不影响精度的情况下减小了AI模型的尺寸。量化技术将神经模型从32位表示压缩为8位版本,使其更轻便且计算成本更低。得益于这项技术,该平台可以在仅具有几千字节RAM和闪存的MCU上运行高级模型。
适用于MCU的TensorFlow Lite可以集成到智能农业传感器中。例如,设想这样一个试点项目——使用TensorFlow Lite编程的MCU可用于分析来自实时环境传感器的数据(例如土壤温度和湿度),并预测最佳灌溉时间,从而减少水浪费并提高作物产量。在这种情况下,直接在设备上运行AI的能力减少了与云端频繁通信的需求,从而降低了连接成本并改善了整体能效和延迟。
该平台还已成功用于健康监测设备,例如用于监测心率和生命体征的可穿戴设备。无需依赖集中式云处理即可在本地处理数据并提供实时反馈的能力,极大地提高了这些设备的响应能力,从而实现了检测健康问题的关键异常警报功能。
适用于MCU的TensorFlow Lite的另一个显著特点是其庞大的开发者社区和对各种硬件架构的广泛支持,包括Arm MCU、ESP32甚至第三方MCU和开发板。该平台拥有丰富的示例和文档,即使是经验不足的AI开发人员也可以轻松采用。
针对MCU优化的AI模型正在彻底改变我们与AI和边缘计算交互的方式。如今,AI平台和MCU之间的协同作用代表了一种成功的解决方案,可以克服计算资源有限的硬件的技术限制。Edge Impulse和适用于MCU的TensorFlow Lite等平台表明,未来不仅局限于云端,还可以在任何有MCU和具体项目想法的地方实现。该领域的持续创新有望将AI带到每个设备,使其无处不在,即使是在成本、能耗和性能方面最为关键的应用中也不例外。
(原文刊登于EE Times姊妹网站Embedded,参考链接:Optimizing AI for Microcontrollers,由Franklin Zhao编译。)
本文为《电子工程专辑》2025年4月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里。
