1. 嵌入式AI概述:从云端到边缘的AI部署趋势

各位同学好,我是你们这门课的主讲。在嵌入式领域摸爬滚打了十几年,我亲眼看着AI从云端一点点「下沉」到我们手边的单片机里。今天咱们先聊聊这个大趋势,以及为什么我最终选择了ARM Cortex-M和CMSIS-NN这条路。

1.1 从云端到边缘:AI部署的必然趋势

早几年做AI,大家第一反应就是上云。GPU集群、海量数据、高功耗——那是大厂的玩法。但实际项目做多了你会发现,很多场景根本不适合走云端。

举个例子。我之前做过一个工业振动监测的项目,传感器装在工厂的旋转设备上。如果每秒钟把振动波形传到云端去分析,先不说带宽够不够,光是网络延迟和设备成本就让人头疼。更别说有些工厂车间根本没有稳定的Wi-Fi覆盖。

所以这几年,行业里喊得最响的就是「边缘AI」。说白了,就是把推理计算从云端搬到设备本地。这样做有几个实实在在的好处:

  • 低延迟:数据不用上传,本地处理,毫秒级响应
  • 省带宽:只上传结果或异常事件,而不是原始数据
  • 保护隐私:敏感数据不出设备,合规压力小
  • 离线可用:断网了照样能跑推理

但问题来了——边缘设备的算力有限啊。你想想看,一个Cortex-M4单片机,主频撑死200MHz,RAM可能只有几十KB。要把一个几MB的神经网络模型塞进去,还要跑得动,这本身就是个技术活。

核心矛盾:云端模型追求精度,边缘模型追求效率。从云端到边缘的迁移,本质上是一场「精度与资源」的博弈。

1.2 为什么选择ARM Cortex-M与CMSIS-NN

市面上能做边缘AI的硬件不少。Cortex-A系列跑Linux,性能强但功耗高;RISC-V新秀崛起,但生态还不够成熟。我个人习惯,做产品选型时最看重三点:生态成熟度、工具链完善度、量产成本。

ARM Cortex-M系列在这三个维度上,目前没有对手。尤其是Cortex-M4和M7,带DSP和FPU,跑轻量级神经网络刚刚好。而CMSIS-NN,就是ARM官方为Cortex-M系列量身定做的神经网络推理库。

对比项 Cortex-M + CMSIS-NN Cortex-A + TFLite RISC-V + 自研
功耗 mW级 W级 mW级
成本 几元到几十元 几十到上百元 几元到几十元
生态成熟度 极高(Keil/IAR/STM32Cube) 高(Linux/Python) 低(工具链碎片化)
推理速度 中等(依赖量化优化) 快 慢(缺乏优化库)
适用场景 传感器、可穿戴、IoT 智能音箱、摄像头 极低成本定制

CMSIS-NN厉害在哪?它把卷积、池化、全连接这些算子,用ARM的DSP指令和SIMD指令做了深度优化。我做过对比测试,同样的量化模型,用CMSIS-NN比手写C代码快了4-6倍。嗯,这里要注意,CMSIS-NN只支持量化模型,不支持浮点。所以量化是绕不开的一步。

我的建议:如果你刚开始接触嵌入式AI,直接从Cortex-M4或M7入手。M0/M0+虽然更便宜,但算力太弱,跑不了什么像样的模型。M33也不错,支持TrustZone,安全性更好。

1.3 课程目标与前置知识准备

这门课的目标很明确:让你能独立完成一个量化模型的训练、量化、部署,最终在Cortex-M单片机上跑起来。不是纸上谈兵,是真正能烧录到板子上看到效果的那种。

具体来说,学完这门课你应该能做到:

  • 理解模型量化的原理(对称/非对称、逐层/逐通道)
  • 会用TensorFlow或PyTorch训练一个简单模型,并导出为量化格式
  • 会用CMSIS-NN的API编写推理代码
  • 能在STM32或类似开发板上跑通一个完整的AI应用

前置知识方面,我不要求你已经是AI专家,但有些基础还是得有:

  1. C语言基础:指针、结构体、内存管理——这些是嵌入式开发的命根子
  2. 单片机基础:GPIO、中断、定时器——至少用过STM32或类似平台
  3. Python基础:训练模型要用,不要求多深,能看懂脚本就行
  4. 机器学习基础:知道什么是神经网络、卷积、池化——不用精通,但概念得清楚

避坑提醒:我曾经遇到过学员连指针都搞不清楚,直接上手做量化部署,结果在内存对齐上卡了两周。C语言基础不牢的话,建议先花一周补一补。磨刀不误砍柴工。

1.4 本章知识体系总览

为了让你对整门课有个全局认识,我画了一张结构图。你可以把它当作地图,后面每学一章,就回来看看自己走到了哪里。

嵌入式AI部署知识体系 嵌入式AI部署知识体系 云端模型训练 模型量化(INT8) 量化方法 对称 / 非对称 · 逐层 / 逐通道 CMSIS-NN 算子优化库 部署平台 Cortex-M4/M7/M33 · STM32 · 国产MCU 单片机AI应用实战 本课程覆盖:模型训练 → 量化 → CMSIS-NN移植 → 板级验证 全流程 每章配有可运行的代码示例和避坑指南

从这张图你能看到,整个知识体系分四层。最上层是云端训练,这是AI的起点。然后通过量化,把浮点模型压缩成INT8格式。接着用CMSIS-NN在Cortex-M平台上做推理优化。最后落到具体的单片机应用上。

这门课30章,就是沿着这条路径一步步走下来。每一章我都会把我在项目中踩过的坑、总结的经验,原原本本地告诉你。量化参数怎么选?内存怎么对齐?算子调用有什么注意事项?这些实战细节,才是真正能帮你省时间的部分。