第一章:课程导论与硬件选型
低功耗AI推理的挑战——为什么这事不简单?
各位同学好,我是你们这门课的老工程师。今天咱们聊聊低功耗设备上的AI推理。
你想想看,一个智能门锁,电池就那么大点。你要它做人脸识别,还得撑半年不换电池。这难度,说白了就是「戴着镣铐跳舞」。
我刚开始接触这个领域时,踩过一个坑。当时给一个可穿戴设备做手势识别,模型在PC上跑得飞快,一移植到MCU上,直接卡死。为什么?因为内存只有64KB,模型参数就占了50KB。嗯,这里要注意——低功耗AI推理的核心矛盾,就是「算力饥渴」和「资源受限」之间的拉锯战。
核心挑战总结:
- 功耗墙:推理一次不能超过几毫焦,否则电池扛不住
- 内存墙:SRAM通常只有几十到几百KB,装不下大模型
- 算力墙:没有GPU,全靠CPU或轻量级加速器硬扛
- 精度与速度的权衡:量化、剪枝、蒸馏,每步都是取舍
我个人习惯,拿到一个项目先问三个问题:电池多大?推理频率多高?精度底线多少?这三个问题定下来,硬件选型才有方向。
主流低功耗硬件平台对比——MCU、NPU、FPGA
市面上能跑AI推理的低功耗平台,主要就这三类。我一个个说。
MCU(微控制器)
MCU是大家最熟悉的。像STM32、ESP32、NXP的i.MX RT系列,都属于这个范畴。它们的特点是:功耗极低(微安级待机),成本低,生态成熟。
但缺点也很明显——算力有限。我曾经在STM32F4上跑一个轻量级的人脸检测模型,推理一次要800毫秒。你说这能实时吗?显然不能。
不过,如果你用CMSIS-NN或TFLite Micro优化一下,再配合硬件乘加指令,很多场景还是能跑的。比如关键词唤醒、简单手势识别。
NPU(神经网络处理器)
NPU是专门为神经网络设计的加速器。像瑞萨的DRP-AI、恩智浦的eIQ、以及一些国产芯片里的NPU核,都属于这类。
我去年做一个工业缺陷检测项目,用的就是带NPU的MCU。推理速度从原来的500ms降到了30ms,功耗只增加了不到10mW。说实话,这效果让我挺意外的。
但NPU也有坑——它通常只支持特定的算子。如果你模型里有个自定义操作,NPU可能直接罢工,得回退到CPU跑。所以选型时一定要确认算子兼容性。
FPGA(现场可编程门阵列)
FPGA在低功耗AI领域是个「小众但强悍」的存在。像Lattice的iCE40、Xilinx的Spartan系列,功耗可以做到几十毫瓦。
FPGA的优势是灵活——你可以自己设计数据通路,把推理流水线做到极致。我记得有个做高速相机缺陷检测的朋友,用FPGA实现了微秒级的推理延迟,MCU和NPU都做不到。
但FPGA的缺点也很要命:开发门槛高,你得懂硬件描述语言;而且价格相对贵,不适合消费级产品。
| 平台 | 功耗典型值 | 算力 | 开发难度 | 典型场景 |
|---|---|---|---|---|
| MCU | 1-100 mW | 低(< 1 GOPS) | 低 | 关键词唤醒、传感器数据处理 |
| NPU | 10-500 mW | 中(1-100 GOPS) | 中 | 人脸识别、手势控制、工业检测 |
| FPGA | 50-500 mW | 高(可定制) | 高 | 高速视觉、定制化推理流水线 |
开发板选型建议——别光看参数,要看项目
选开发板这事,我见过太多人走弯路。有人一上来就买最贵的,结果发现用不上;有人图便宜买了个低配版,结果模型跑不动。
我个人建议,按项目阶段来选:
- 原型验证阶段:选STM32H743 + OV2640摄像头模块,或者ESP32-S3。成本低,生态好,TFLite Micro直接支持。我刚开始做低功耗AI时,就是用ESP32-S3跑通了第一个手势识别demo。
- 性能评估阶段:可以考虑瑞萨的RA8系列(带Helium加速),或者恩智浦的i.MX RT1170。这些板子算力够,而且有NPU或SIMD指令集,能让你摸到性能天花板。
- 量产预研阶段:这时候要选和最终芯片同系列的开发板。比如你打算用瑞萨的RZ/V系列,那就买对应的评估板。我曾经吃过亏——原型阶段用STM32,量产时换了国产芯片,结果模型量化后精度掉了5个点,折腾了两个月才调回来。
避坑指南:
我曾经选了一块带NPU的开发板,结果发现它的NPU只支持INT8量化,而我的模型用INT8精度不够。最后只能换方案。所以,选板子前一定要确认:
- NPU支持的量化格式(INT8、INT16、FP16?)
- 最大支持模型大小(参数数量、权重尺寸)
- 是否有现成的推理框架支持(TFLite Micro、TensorRT、OpenCV DNN?)
小结——选型没有银弹
说了这么多,其实就一句话:没有最好的平台,只有最合适的平台。
MCU适合简单、低功耗、低成本场景;NPU适合中等算力需求、对功耗敏感的场景;FPGA适合极致性能或特殊算子的场景。
我个人的经验是:先定功耗预算,再定算力需求,最后看生态和成本。按这个顺序走,基本不会出大错。
下一章,咱们聊聊模型量化——这是低功耗AI推理里最核心的一步,也是坑最多的一步。到时候我会分享一些我踩过的坑,保证让你少走弯路。