在低功耗MCU上实现人工智能和机器学习

admin 2025-02-23 10:01 行业动态
MCU不再局限于简单任务,而是正成为实现AI的强大平台。

资讯频道文章B

  人工智能(AI)和机器学习(ML)技术不仅正在快速发展,还逐渐被创新性地应用于低功耗的微控制器(MCU)中,从而实现边缘AI/ML解决方案。这些MCU是许多嵌入式系统不可或缺的一部分,凭借其成本效益、高能效以及可靠的性能,现在能够支持AI/ML应用。这种集成化在可穿戴电子产品、智能家居设备和工业自动化等应用领域中,从AI/ML功能中获得的效益尤为显著。具备AI优化功能的MCU和TinyML的兴起(专注于在小型、低功耗设备上运行ML模型),体现了这一领域的进步。TinyML对于直接在设备上实现智能决策、促进实时处理和减少延迟至关重要,特别是在连接有限或无连接的环境中。

  TinyML是指在小型、低功耗设备上应用机器学习模型,尤其是在微控制器(MCU)平台上,这些MCU经过优化,可以在设备有限的资源体系内运行。这使得边缘设备能够实现智能决策,支持实时处理并减少延迟。量化(Quantization)和剪枝(Pruning)等技术用于减小模型大小并提高推理速度。量化通过降低模型权重的精度,显著减少内存使用而几乎不影响准确性;剪枝则通过去除不太重要的神经元,进一步减小模型规模并提升延迟性能。这些方法对于在资源有限的设备上部署ML模型至关重要。

  PyTorch和TensorFlow Lite都是实现机器学习模型的主流框架。PyTorch是一个开源机器学习库,被广泛用于人工智能应用的开发,包括可以部署在微控制器上的应用程序。PyTorch提供了用于机器学习的工具和库,包括计算机视觉和自然语言处理,可用于低功耗和小尺寸设备。

  TensorFlow Lite for Microcontroller(TFLM)能够在非常受限的MCU类设备上运行具有Flatbuffer转换功能的TF Lite模型。这减少了模型的大小,并优化了它在MCU上的推理。

  另一个重要的工具是来自ARM的CMSIS-NN库,它为Cortex-M处理器提供了优化的神经网络内核来运行TFLM模型。CMSIS-NN库提高了性能并减少了内存占用,使其更容易在基于ARM的MCU上运行ML模型。

  此外,一些MCU还配备了专用的AI/ML硬件加速器,如Silicon Labs(芯科科技)的EFM32无线SoC和MCU,可以显著提高ML模型的性能,使更复杂的应用程序能够在这些设备上更快、更高效地运行。人工智能加速器擅长并行化任务,如矩阵乘法、卷积和图形处理。通过利用多样化的并行性,它们可以一次执行大量的计算。这使得人工智能工作负载的速度大大提高,同时保持低功耗。这些加速器还增强了内存访问模式,减少了数据传输开销,主CPU—CortexM可以进入低功耗睡眠模式,以节省更多的能量或管理额外的任务。通过使数据更接近计算单元,它们减少了等待时间。其结果是增强了性能、降低了功耗和延迟。

  实际应用

  TinyML的实际应用是多种多样且有影响力的。一个值得注意的示例是音频和视觉唤醒词,当说出特定的关键字或在图像中检测到某人时,设备会触发动作。这项技术被用于智能扬声器和安全摄像头,支持它们在识别到唤醒词或检测运动时激活。另一种应用是工业环境中的预测性维护。工厂设备上的传感器持续监测振动和温度等参数,可使用TinyML模型检测来异常并在故障发生之前预测维护需求,这有助于减少停机时间和维护成本。

  手势和活动识别是TinyML的另一种令人兴奋的应用。配备加速度计和陀螺仪的可穿戴设备可以监测身体活动,如走路、跑步或特定手势。这些设备使用TinyML模型实时分析传感器数据,为健身追踪或医疗诊断提供有价值的见解。在农业领域,TinyML被用于环境监测。智能农业系统分析土壤湿度和天气条件,以优化灌溉,提高作物产量和资源效率。

  TinyML还增强了健康监测功能。诸如连续血糖监测仪(CGM)这样需要长时间电池寿命和实时数据处理的设备,都能够极大地受益于这项技术。此外,智能床传感器可以在没有直接接触的情况下评估病人的呼吸模式,为远程观察提供不间断的健康数据。这一创新在管理老年人护理和慢性疾病方面特别有价值,因为持续监测有助于及早发现潜在的健康问题。

  启动开发

  要开始构建自己的TinyML应用,您需要了解TinyML的基础知识并选择合适的硬件。根据您的应用,您可能需要传感器来收集数据,例如加速度计、麦克风或摄像头。设置开发环境包括安装Simplicity Studio集成开发环境(IDE)、SDK和TinyML所需的资源库。

  下一步是收集和准备与应用相关的数据。例如,如果您正在构建一个手势识别系统,您需要收集不同手势的加速度计数据。收集数据后,您需要对其进行预处理,使其适合训练您的模型。训练模型需要在功能强大的机器上使用高级框架,如TensorFlow或PyTorch。一旦训练完毕,模型需要使用量化和剪枝等技术进行优化。

  在完成优化后,即可将模型转换为适合MCU的格式,如TensorFlow Lite格式。最后一步是将优化后的模型部署到MCU,将其与应用程序代码集成,并对其进行全面测试,以确保其满足性能和精度要求。基于实际性能的不断迭代和改进对于完善TinyML应用至关重要。

  利用芯科科技的解决方案在微控制器上实现人工智能和机器学习

  芯科科技提供了一系列解决方案,有助于在MCU上实现AI/ML。EFR32/EFM32(xG24、xG26、xG28)和SiWx917系列微控制器由于其低功耗和强大的性能而非常适合TinyML应用。以下是在芯科科技MCU上实现AI/ML的详细技术指南:

  数据采集与预处理

  数据采集:使用连接到MCU的传感器采集原始数据,例如加速度计、陀螺仪和温度传感器等传感器都可用于各种应用。

  预处理:对数据进行清理和预处理,使其适合训练。这可能包括过滤噪声、对数值进行归一化处理以及将数据分割到窗口中。为此,芯科科技提供了数据采集和预处理工具。

  数据采集工具则由合作伙伴SensiML提供。

  模型训练

  模型选择:根据应用选择合适的ML模型。常用的模型包括决策树(decision tree)和支持向量机(vector machine)。

  训练:在高性能云服务器或带有GPU的本地PC上使用TensorFlow训练模型。这包括将预处理数据输入模型并调整参数以最小化误差。

  模型转换:使用TensorFlow Lite转换器将训练模型转换为与TF Lite Micro兼容的格式。TensorFlow Lite for Microcontrollers (TFLM)中的FlatBuffer转换包括将TensorFlow Lite模型转换为FlatBuffer格式,这是一种紧凑的二进制格式,可以高效地存储和快速地访问。这个过程对于在内存和处理能力有限的微控制器上运行机器学习模型至关重要。FlatBuffers支持直接访问模型而无需解压。一旦采用FlatBuffer格式,该模型可以由微控制器执行,使其能够执行推理任务。这种转换减小了模型大小,使其适用于内存非常有限的设备,并且可以快速访问和执行模型,而无需进行大量解析。此外,它还确保该模型可以在运行速率低于1GHz、代码空间有限(通常低于3MB)、SRAM有限(约256KB)的MCU上被无缝集成和执行。

  模型部署

  与Simplicity SDK集成:使用芯科科技的Simplicity SDK将TF Lite Micro与MCU集成。

上一篇:商汤科技中标!为昆明打造智慧底座
下一篇:蓝色星际携手鲲鹏原生开发安消一体化物联管理平台,加速金融安防数字化转型

猜你喜欢

手机扫一扫添加微信

13594006930