TinyML
探索 TinyML 并学习在低功耗微控制器上部署 Ultralytics YOLO26。发现如何通过量化和 Ultralytics Platform 优化用于 IoT 的模型。
微型机器学习,通常称为 TinyML,是机器学习的一个专门子领域,专注于将模型部署到超低功耗、资源受限的设备上,例如 微控制器 和小型 IoT 设备。与依赖巨大计算资源的传统云端系统不同,TinyML 完全在边缘侧运行。通过在功耗通常仅以毫瓦计量的设备上本地运行智能算法,这种方法最大限度地减少了延迟,确保了数据隐私,并大幅降低了带宽使用,这一范式得到了 TinyML Foundation 等社区的支持和推动。
为了成功将复杂的神经网络架构适配到诸如 ARM Cortex-M 处理器 等高度受限的硬件上,模型必须经过严格的优化。诸如 模型量化(将 32 位浮点权重转换为 8 位整数)和 模型剪枝 等技术被用于显著减小整体内存占用。如今,谷歌的 TensorFlow Lite for Microcontrollers 和 PyTorch 的 ExecuTorch 等专业框架促进了这些精确的压缩工作流程,将先进的视觉和听觉智能带到了日常嵌入式硬件中。
Link to this sectionTinyML 与 Edge AI#
虽然 TinyML 与 Edge AI 密切相关,但主要区别在于硬件规模和功耗预算。Edge AI 是一个更广泛的术语,涵盖了 AI 模型在本地的任何执行方式,通常使用诸如 Raspberry Pi 之类的单板计算机或诸如 NVIDIA Jetson 之类的强大嵌入式 GPU。相比之下,TinyML 特别针对那些依靠电池运行数月或数年的深度嵌入式系统,例如 Arduino 开发板或 STMicroelectronics 芯片。这些设备通常只有几百 KB 的 RAM,这使得激进的模型压缩成为必要。
Link to this section实际应用#
在微型硬件上直接部署智能的能力,为各行各业解锁了众多实际应用场景:
- 智能制造中的预测性维护:工厂将超低功耗的振动和音频传感器直接部署在机器上。这些 TinyML 传感器持续分析电机频率,以检测预示故障的细微异常,使维护团队能够在代价高昂的停机发生之前解决问题。
- 智能精准农业:电池供电的 TinyML 设备散布在广阔的农田中,用于监测局部的环境条件,并使用基础摄像头模块及早发现虫害或疾病的迹象,只传输轻量级的警报,而不是沉重的图像文件。
- 野生动物保护音频监测:研究人员使用由 TinyML 驱动的隐藏式 声学传感器阵列,来检测茂密森林中濒危物种的特定声音或非法砍伐活动(如链锯)。这些设备依靠太阳能或电池供电,在本地分析音频并即时触发远程警报。
Link to this section导出 TinyML 模型#
Preparing a model for a microcontroller requires strict export formatting. Using Ultralytics YOLO26, developers can build robust object detection pipelines and compress them down for embedded targets. You can manage your dataset and model versioning seamlessly on the Ultralytics Platform before exporting locally. The native TFLite integration allows effortless conversion to the 8-bit integer formats required for microcontrollers, complementing other hardware-specific model deployment options like Apple's CoreML, Google's Edge TPU, and NVIDIA's TensorRT.
以下示例展示了如何导出经过 INT8 量化特别优化的轻量级 YOLO26 模型,使其适合在兼容 TinyML 的边缘平台上部署:
from ultralytics import YOLO
# Initialize the lightweight YOLO26 Nano model for edge use cases
model = YOLO("yolo26n.pt")
# Export to TFLite format with INT8 quantization and a reduced image size
# This minimizes the memory footprint and accelerates inference on microcontrollers
model.export(format="tflite", int8=True, imgsz=160)





