2. TinyML基础

TinyML(Tiny Machine Learning)是把机器学习模型部署到毫瓦级、KB级内存的微控制器(MCU)上运行的一类技术总称。它的核心目标不是追求最高精度,而是在极低功耗、极小存储、极弱算力的约束下,让设备具备“本地感知—本地判断—本地决策”的能力。理解 TinyML,需要先厘清它的基本概念、常见术语,再区分它与边缘AI、MCU AI之间的关系。

一、核心原理:把推理压缩进MCU

TinyML 的本质是“模型小型化 + 推理本地化”。传统云端推理依赖网络上传数据、服务器计算、结果回传;TinyML 则把训练好的模型经过量化、剪枝、知识蒸馏等压缩手段,转换为可在 MCU 上执行的轻量格式,再由推理引擎在设备端完成前向计算。

其典型流程如下:

  1. 数据采集:通过传感器(加速度计、麦克风、摄像头、温度传感器等)获取原始信号。
  2. 特征提取:在 MCU 上完成滤波、分帧、FFT、MFCC 等预处理,降低模型输入维度。
  3. 模型训练:通常在 PC 或云端用 TensorFlow Lite、PyTorch 等框架训练。
  4. 模型转换与量化:转为 TensorFlow Lite Micro 等格式,权重从 float32 量化为 int8,模型体积可缩小约 4 倍。
  5. 部署推理:将模型数组嵌入固件,由推理引擎在 MCU 上执行,输出分类或回归结果。
关键约束:MCU 通常只有几十 KB 到几百 KB 的 SRAM、几百 KB 到几 MB 的 Flash,主频几十 MHz 到几百 MHz,功耗以毫瓦计。TinyML 模型必须同时满足“装得下、算得快、耗得起”。

二、常见术语速查

学习 TinyML 时,以下术语会反复出现,建议先建立统一认知:

术语 含义 典型数值/说明
MCU 微控制器,集成 CPU、Flash、SRAM、外设 如 STM32、ESP32、nRF52
TensorFlow Lite Micro 面向 MCU 的轻量推理引擎 无动态内存分配,纯 C++
量化 将浮点权重转为低比特整数 float32 → int8,体积约降 4 倍
算子 模型中的基本计算单元 Conv2D、DepthwiseConv、FC、Softmax
推理延迟 单次前向计算耗时 通常要求 < 100 ms,实时场景 < 20 ms
峰值内存 推理时最大 RAM 占用 由张量 Arena 决定,需小于可用 SRAM
唤醒词 语音唤醒的关键词检测 如 “Hey Siri”、自定义关键词
异常检测 判断设备状态是否偏离正常 常用于预测性维护、故障预警

三、典型应用场景

TinyML 适合“低带宽、低延迟、低功耗、隐私敏感”的场景,常见方向包括:

  • 语音唤醒与关键词识别:智能音箱、TWS 耳机、家电语音控制,MCU 常驻监听,仅唤醒后上传云端。
  • 振动异常检测:电机、泵、风机上部署加速度计,本地判断轴承磨损或失衡,提前预警。
  • 手势与动作识别:可穿戴设备通过 IMU 识别挥手、跌倒、步态。
  • 视觉唤醒:低功耗摄像头仅在检测到人形或车辆时才唤醒主控,降低系统功耗。
  • 健康监测:心率、血氧、呼吸事件的本地实时判断,减少隐私数据外传。
  • 农业与环境:土壤湿度、病虫害声音识别,在田间节点本地完成决策。
判断一个场景是否适合 TinyML,可以问三个问题:数据是否敏感?网络是否不稳定?电池是否必须撑数月?若答案偏向“是”,TinyML 往往比云端方案更合适。

四、TinyML、边缘AI 与 MCU AI 的区别

三者常被混用,但侧重点不同。边缘AI 是更大的范畴,指在靠近数据源的边缘设备上运行 AI;MCU AI 强调硬件平台是 MCU;TinyML 则强调“极小资源约束下的机器学习”,既包含 MCU,也包含极低功耗 SoC 和 NPU 加速的小芯片。

TinyML、边缘AI 与 MCU AI 的关系 边缘 AI(Edge AI) 靠近数据源运行 AI,覆盖网关、边缘服务器、终端设备 MCU AI 以 MCU 为硬件平台 强调芯片级部署 TinyML 毫瓦级、KB级资源 模型压缩 + 本地推理 边缘AI:范围最大 含边缘服务器、网关、终端 MCU AI:平台视角 强调在 MCU 上跑模型 TinyML:约束视角 强调极低功耗与极小内存

从集合关系看:边缘AI 包含 MCU AI 与 TinyML;MCU AI 强调硬件平台是 MCU;TinyML 强调资源约束极低,既可能跑在 MCU 上,也可能跑在带 NPU 的超低功耗芯片上。三者交集很大,但观察角度不同。

五、案例与误区复盘

案例:某工厂在电机上部署振动监测节点。若把原始振动数据全部上传云端,带宽和功耗都难以承受。采用 TinyML 后,节点本地提取特征并运行一个小型神经网络,仅当检测到异常时才上传告警和少量特征数据,电池寿命从数天延长到数月。

常见误区:

  • 误区一:模型越小越好。 过度压缩会导致精度骤降,应在精度、延迟、内存之间做权衡。
  • 误区二:TinyML 等于 MCU AI。 TinyML 还包含低功耗 SoC、NPU 等平台,范围更广。
  • 误区三:忽略预处理开销。 特征提取(如 FFT、MFCC)可能比推理本身更耗资源,必须一起评估。
  • 误区四:只看模型大小,不看峰值内存。 推理时的张量 Arena 往往才是 RAM 瓶颈。
部署前务必实测:模型 Flash 占用、峰值 RAM、单次推理延迟、平均功耗。任何一项超限,都可能导致系统无法稳定运行。