2、嵌入式AI基础:嵌入式系统简介、AI模型在嵌入式端的挑战、常见的嵌入式AI芯片
好,咱们正式开始第一课。说实话,每次带新人入门嵌入式AI,我都要先问一个问题:你理解的嵌入式系统,到底是什么?很多人觉得就是“单片机+传感器”,其实远不止这么简单。
2.1 嵌入式系统简介
嵌入式系统,说白了就是“专机专用”的计算机。它不像你的PC或者手机那样通用,而是为了完成特定任务而设计的。比如你家里的智能空调、汽车的ECU、甚至你手腕上的智能手表,这些都是嵌入式系统。
我个人习惯把嵌入式系统拆成三个核心部分来看:
- 处理器:大脑,负责算数、逻辑、控制。从低端的Cortex-M0到高端的Cortex-A系列,跨度很大。
- 外设:手脚和感官。GPIO、I2C、SPI、UART、摄像头接口、显示接口等等。
- 软件栈:灵魂。从裸机程序到RTOS(实时操作系统),再到嵌入式Linux,层级越来越高。
这里有个关键点:嵌入式系统的资源是受限的。内存可能只有几MB,Flash可能只有几十MB,CPU主频可能只有几百MHz。这和云端服务器动辄几十核、几百GB内存的环境完全不同。你想想看,要把一个几百MB的AI模型塞进去,是不是得动点脑筋?
核心认知:嵌入式AI的本质,就是在资源受限的硬件上,尽可能高效地运行AI推理任务。它不是简单的“移植”,而是一场精打细算的“资源博弈”。
2.2 AI模型在嵌入式端的挑战
好,既然资源受限,那AI模型落地时就会遇到一堆麻烦。我在项目中遇到过最头疼的问题,就是模型在PC上跑得飞快,一上板子就卡成PPT。为什么会这样?我们来拆解一下。
2.2.1 计算资源瓶颈
AI模型,尤其是深度学习模型,本质上是大量的矩阵乘法和卷积运算。这些运算在GPU上如鱼得水,但在嵌入式CPU上,那就是“小马拉大车”。
- 算力不足:嵌入式CPU的算力通常只有几GOPS到几十GOPS,而一个MobileNetV2模型就需要几百MOPS的算力。如果模型再大一点,比如ResNet-50,那就直接“爆缸”了。
- 内存墙:模型参数和中间特征图都需要内存。一个4MB的模型,在PC上不算什么,但在只有1MB SRAM的MCU上,连加载都成问题。
2.2.2 功耗与散热限制
嵌入式设备很多是电池供电的,比如无人机、智能门锁。你不可能让芯片满负荷跑10分钟就没电了。而且,高算力意味着高功耗,高功耗又带来散热问题。我见过一个项目,因为散热没做好,芯片跑着跑着就降频了,推理速度直接腰斩。
2.2.3 软件生态碎片化
这是最让人头疼的一点。PC端有CUDA、TensorRT这种统一的加速库,但嵌入式端呢?每家芯片都有自己的SDK和工具链。比如瑞萨的DRP-AI、ST的STM32Cube.AI、瑞芯微的RKNN Toolkit、NVIDIA的JetPack。你换一个芯片,可能整个推理框架都要重写。
我的建议:选型时,不要只看芯片的算力,更要看它的软件生态是否成熟。社区活跃度、文档是否齐全、有没有现成的模型库,这些比那几TOPS的算力差距更重要。
2.3 常见的嵌入式AI芯片
好了,理论说完了,咱们来看看市面上主流的几款嵌入式AI芯片。我挑了三款有代表性的,分别对应不同的应用场景。
2.3.1 STM32N6:MCU级别的AI新贵
ST(意法半导体)的STM32系列大家都很熟悉了。STM32N6是ST最新推出的、专门为AI加速设计的MCU。它最大的亮点是内置了NPU(神经网络处理单元)。
- 核心架构:Cortex-M55 + Ethos-U55 NPU。M55负责通用计算,U55专门跑AI推理。
- 算力:NPU可以提供约4 GOPS的算力。别小看这4 GOPS,对于轻量级模型(比如关键字唤醒、手势识别)来说,完全够用。
- 功耗:极低,典型应用场景下功耗在毫瓦级别。
- 适用场景:智能传感器、可穿戴设备、工业控制中的简单分类和检测任务。
注意:STM32N6的NPU只支持INT8量化。如果你想把模型跑上去,必须做量化训练或后训练量化。我曾经因为模型量化精度掉得太多,折腾了好几天才调好。
2.3.2 RK3588:中高端的“全能选手”
瑞芯微的RK3588,可以说是目前国产嵌入式SoC里的明星产品。它定位在高端AIoT和边缘计算。
- 核心架构:4核Cortex-A76 + 4核Cortex-A55 + Mali-G610 GPU + 6 TOPS NPU。
- 算力:NPU提供6 TOPS(INT8)算力,GPU也可以用来做通用计算加速。
- 内存:支持LPDDR4X/LPDDR5,最大32GB。这意味着你可以跑一些中等规模的模型,比如YOLOv5s、ResNet-50。
- 适用场景:智能安防、边缘服务器、智能NVR、高端机器人。
我个人觉得RK3588最大的优势是接口丰富。它有PCIe 3.0、SATA 3.0、USB 3.0、千兆以太网,甚至支持多路MIPI CSI摄像头。做多路视频分析项目时,这个芯片非常顺手。
2.3.3 Jetson Orin:边缘计算的“性能猛兽”
NVIDIA的Jetson系列,一直是嵌入式AI领域的标杆。Jetson Orin是当前的最新一代,性能非常强悍。
- 核心架构:12核Cortex-A78AE CPU + Ampere架构GPU(含Tensor Core)。
- 算力:从40 TOPS到275 TOPS(INT8)不等,取决于具体型号(Orin NX 16GB、Orin NX 8GB、Orin AGX)。
- 软件生态:这是Jetson最大的护城河。它支持完整的CUDA、TensorRT、DeepStream SDK。你在PC上用PyTorch训练好的模型,几乎可以无缝迁移到Jetson上。
- 适用场景:自动驾驶、高端机器人、实时视频分析、医疗影像。
一句话总结:STM32N6适合做“小模型、低功耗”的端侧推理;RK3588适合做“中等模型、多任务”的边缘计算;Jetson Orin适合做“大模型、高实时性”的复杂场景。选型时,先想清楚你的应用场景和预算。
嗯,这一章的内容就到这里。下一章我们会深入聊聊模型量化的具体方法,以及如何在STM32N6上部署一个简单的分类模型。到时候我会手把手带你走一遍流程,包括我踩过的那些坑。
公众号:蓝海资料掘金营,微信deep3321