AI 基础
什么是 TinyML?微控制器上的机器学习
TinyML 将机器学习推理带到高度受限的设备上,例如微控制器、小型数字信号处理器和低功耗传感器。这些系统的内存可能只有千字节或兆字节,能源预算严格,无法保持持续的网络连接,并且需要实时截止时间。
其价值并非仅仅是模型更小。靠近传感器进行处理可以降低延迟、带宽以及原始数据的暴露,同时使产品能够在电池或收集能源上长时间运行。
要点摘要
- TinyML 由完整的硬件与软件预算决定,而非单一模型大小阈值。
- 量化、紧凑架构、优化内核以及精心的缓冲使部署成为可能。
- 在设备上进行推理可以提升隐私,但安全更新和数据治理仍然重要。
- 在基准测试时需同时考虑准确率、延迟、峰值内存、能耗、占空比和鲁棒性。

TinyML 技术栈
传感器捕获音频、运动、振动、图像或其他信号。固件将其预处理为特征或张量;紧凑模型在嵌入式运行时中运行;应用逻辑决定是唤醒更大的系统还是在本地执行。
这是一种受限形式的 edge AI。硬件可能包括 MCU、内存、传感器接口,有时还会配备神经加速器。每个缓冲区、算子和拷贝都在争夺有限资源。
让模型适配
量化将高精度数值替换为更小的整数表示。剪枝、蒸馏、特征工程和架构搜索可以降低计算量或存储需求。目标运行时对算子的支持限制了实际可用的模型。
训练通常在更强大的硬件上进行,然后将模型转换并编译至设备。迁移学习可以减少数据需求,但必须在转换后评估最终产物,因为数值变化可能影响准确率。
数据与环境漂移
实验室录音很少能覆盖所有麦克风、安装位置、温度、振动模式、口音或背景情况。应从具有代表性的设备和环境中收集数据,保持训练和测试来源独立,并包含“以上皆非”情况。
误触发会浪费能量或扰乱用户;漏检异常则代价高昂。应根据真实错误成本选择阈值,并在适当情况下通过保护隐私的汇总或抽样诊断来监控现场表现。
测量整机性能
模型的运算次数并不等同于产品性能。应在明确的占空比下报告唤醒频率、预处理时间、推理延迟、峰值 RAM、闪存使用、平均和峰值功耗、热行为以及对电池的影响。
规划签名固件和模型更新、回滚、设备身份以及漏洞响应。微型设备可能部署多年,因此可维护性是模型质量的一部分。网络安全控制不能因为设备体积小而被延后。
内存与计算预算
闪存用于存放固件、模型权重和常量;RAM 保存传感器缓冲区、中间激活以及运行时状态。峰值激活内存可能超过权重大小,尤其在早期卷积层。内存规划器会复用生命周期不重叠的缓冲区,而流式特征则避免存储完整的信号窗口。
运算次数是初步估计,但内核效率取决于张量形状、对齐、指令支持和内存访问。深度可分离卷积虽能降低算术量,但在缺乏优化内核的硬件上表现不佳。应在目标板上对编译后的模型进行基准测试,而不仅在桌面分析器中。
占空循环在许多产品中占主导。传感器和 MCU 可进入睡眠,仅在触发时唤醒,运行小模型,并在需要时激活无线电或更大的处理器。应测量完整的占空循环,包括传感器、转换、预处理、唤醒、推理、通信以及空闲泄漏。
模型开发与转换
从部署约束出发,收集具有代表性的传感器数据。训练中使用的预处理必须与定点或嵌入式实现完全一致。采样率、窗口化、颜色转换、归一化或特征提取的差异,即使转换成功,也可能导致模型失效。
后训练量化利用代表性样本校准范围;量化感知训练在学习过程中模拟低精度。每通道权重尺度通常比单一尺度更能保持卷积质量。不受支持的算子可能被改写、近似或转移至较慢的回退实现,每种情况都需要重新评估。
压缩应基于假设进行。剪枝非结构化权重可能无法加速密集的嵌入式内核;结构化通道移除更易被硬件利用。蒸馏将大型教师模型的行为迁移,但也可能迁移其偏差和错误。应与信号处理和阈值基线进行比较。
应用、现场测试与维护
常见的 TinyML 任务包括关键词检测、唤醒词识别、手势识别、振动异常检测、占用检测、声学事件以及简易视觉。模型可以充当门控而非最终决策,在节省带宽的同时将不确定或重要的情况发送至更强大的系统。
现场测试应覆盖设备容差、传感器老化、安装方式、电池状态、温度、天气、用户以及背景干扰。应记录每小时的误触发次数或每个运行周期的漏检事件,而不仅仅是平衡的测试准确率。实验室选定的阈值可能需要针对产品进行校准。
应规划签名的 OTA 更新、回滚、模型版本遥测以及长期支持周期。如果无法更新,则使用保守模型并记录预期的环境漂移。退役时必须撤销设备凭证并处理存储数据,而不仅是停止销售产品。
案例示例: a TinyML vibration monitor
电机上的小型加速度计在正常负载和已知故障条件下对振动进行采样。设备对信号进行窗口化、去除偏置,计算紧凑的时域或频域特征,并运行异常检测器或分类器。采样率必须捕获相关的轴承和轴频率,同时不致超出内存或功耗。标签应来源于经过验证的检查,而非仅凭可能错误的报警。
训练在工作站上进行,随后进行量化、转换并为目标微控制器编译。需在实际设备上测量模型的闪存占用、峰值 RAM、执行时间、能耗和准确率。整数运算和算子可用性可能导致输出与训练模型不同。应测试传感器方向、安装方式、温度、电压、元件差异以及真实的背景振动,而非仅使用精选的实验室文件。
部署的设备需要校准、安全固件更新、版本报告、故障安全行为以及漂移应对方案。它可能仅传输健康分数或选定特征以节省能量并保护原始数据,但本地误报仍会产生维护成本。应使用分阶段阈值、要求持久性,并将模型证据与运行状态相结合。当本地延迟、隐私、连接性或能耗限制能够证明其工程价值时,TinyML 的价值最大。
生产测试应包括掉电恢复、时钟漂移、传感器断连、输入损坏、内存耗尽以及更新中断。需定义模型无法运行或置信度崩溃时的处理方式:安全默认值、明确的故障指示或传统规则可能优于静默猜测。跟踪整机硬件和固件版本,以便将新出现的错误定位到特定的设备版本、环境或模型发布。
实用实施清单
将概念转化为有界、可测试的工作流:感知 → 预处理 → 推理 → 决策 → 行动 → 更新。指定负责人员,记录数据及其依赖,建立简单基线,设定接受和停止标准,测试具有代表性的故障,并在扩大范围前定义监控、回滚和审查。记录版本和假设,以便其他团队能够复现结果并了解变更情况。
在发布前,进行有文档记录的准备审查,参与者包括构建、运营、保障以及受系统影响的人员。测试正常情况、边界条件、依赖故障和误用;保存证据和未解决的风险。明确谁有权批准发布、修改阈值、覆盖输出或停止运行。实地数据到来后需重新评估决策,因为技术上成功的试点并不保证在更大规模上的可靠性能。
- MEMORY: 权重、激活和缓冲区。
- ENERGY: 占空比和数据传输。
- QUALITY: 真实条件下的现场准确率。
常见问题
TinyML 与移动 AI 相同吗?
并非完全相同。移动设备是具备相对较大处理器和内存的边缘系统。TinyML 则专注于更为严格的嵌入式和微控制器级约束。
TinyML 模型能在设备上学习吗?
大多数部署在其他地方进行训练,然后在设备上进行推理。虽然可以进行有限的适应,但内存、能耗、稳定性、隐私以及回滚等因素使得在设备上训练更加困难。












