AI嵌入式项目如何从模型准备走到设备部署?分阶段任务与验证方法
AI嵌入式项目的交付难点,通常出现在模型训练完成之后。模型要在有限的内存、算力、功耗和实时约束下运行,还要能证明输出没有跑偏。把工作拆成六个阶段,并为每个阶段设一道验收闸门,项目才容易推进。
读完这篇文章,你可以得到三样东西:一张阶段任务与交付物表,一套从离线模型到现场设备的验证顺序,以及判断何时回退的条件。
AI嵌入式项目的六个阶段
这里的 AI嵌入式项目,指模型推理直接运行在设备上,并参与识别、控制或告警的项目。阶段可以拆成下面六步。
- 需求与约束:明确输入传感器、输出动作、工作环境、延迟、功耗、内存和精度要求。
- 模型基线:固定数据切分、输入输出格式,训练并评估一个浮点模型。
- 压缩与转换:做剪枝、蒸馏或量化,转换成目标工具链支持的格式。
- 设备集成:把预处理、推理、后处理和业务调用接成一条可运行路径。
- 台架验证:测内存、延迟、功耗、温升和长时间运行。
- 现场发布:用真实数据灰度验证,保留监控和回退能力。
阶段之间会反复迭代。转换报错时,可能要回到模型结构;板端延迟超标时,也可能要回到算子选择或输入分辨率。
| 阶段 | 主要任务 | 交付物 | 通过条件 |
|---|---|---|---|
| 需求与约束 | 明确场景、传感器、功耗、延迟、内存和精度要求 | 验收指标表 | 指标可测量,且有优先级 |
| 模型基线 | 固定输入输出,切分数据,评估浮点模型 | 浮点模型、数据说明、误差样本 | 留出集与现场切片达到门槛 |
| 压缩与转换 | 剪枝、蒸馏、量化、格式转换、算子核对 | 转换模型、校准集、对比报告 | 输出误差与任务指标在门槛内 |
| 设备集成 | 接通预处理、推理、后处理和业务调用 | 可运行固件、接口说明 | 单帧和多帧流程稳定 |
| 台架验证 | 测内存、延迟、功耗、温升和长稳 | 性能报告、问题清单 | P95 与峰值满足约束 |
| 现场发布 | 真实数据验证、灰度、监控、回退 | 发布包、监控项、回滚包 | 现场指标稳定,回滚可用 |
模型准备阶段要留下哪些基线
模型准备不只包含训练。对部署有用的,是一个可以复现的浮点基线。后面每次量化、转换和优化,都要拿它作对照。
- 数据切分:训练、验证、测试分开,再留一组来自真实设备环境的现场切片。
- 评估指标:总体指标之外,记录关键类别、边界样本和小目标等切片结果。
- 输入输出约定:固定尺寸、颜色格式、归一化参数和输出解码方式。
- 版本记录:数据、训练代码、模型文件、转换脚本和校准集都要能追溯。
- 资源预算:尽早估算 Flash、RAM、单帧延迟和功耗上限,避免模型做完才发现放不下。
基线阶段还要收集失败样本。只记录一个准确率,很难解释量化后为什么某些场景变差。保存混淆矩阵、漏检样本和置信度分布,后面的排查会快很多。
量化与转换怎样避免精度走样
模型转换成功,只能说明文件被工具读懂了。 真正要验证的是,同一个输入经过浮点模型、转换模型和板端模型后,结果是否仍然接近。
量化是常用的压缩手段。意法半导体在 STM32Cube.AI 的技术说明中,用 FD-MobileNet 做了示例。量化后,Flash 和 RAM 占用约为原来的四分之一。执行速度约为原来的 3 倍,精度约下降 0.7%。这个结果来自单个模型示例,不能直接当成项目承诺。
PTQ 适合已有模型快速验证,需要一批有代表性的校准数据。QAT 在训练中模拟量化误差,通常更费力,但对精度更敏感的任务更合适。
校准集不要只用训练图。灯光、角度、噪声、遮挡和类别不平衡,都要按现场分布覆盖。校准数据偏离实际,量化误差会被放大。
转换时重点核对三件事。
- 算子:TensorFlow Lite Micro 以推理为主,不负责训练;模型用到的算子要逐个确认。
- 形状:动态 shape、未固定 batch、复杂后处理,常导致转换失败或回退到 CPU。
- 预处理:训练、PC 仿真、板端三处的 resize、归一化、通道顺序要一致。
对比时不要只看一个总准确率。准备同一批固定输入,比较任务指标、最大绝对误差、余弦相似度或每层输出。地平线开发者文档中的 PTQ 排查流程,也建议对比浮点与量化输出。还要查看节点落在加速器还是 CPU。
发现误差集中在少数层时,可尝试混合量化、保留敏感层精度,或回到 QAT。如果量化后仍达不到门槛,先回到数据和模型结构,不要靠调高阈值掩盖问题。
设备部署先打通哪条数据链
板端第一次跑通,建议只做单帧推理。确认模型能加载、输入能送入、输出能解释,再接摄像头、传感器和业务线程。
- 内存:模型权重、张量 arena、预处理缓冲和后处理缓冲分开统计,记录峰值。
- 数据格式:摄像头常见 YUV、RGB、BGR 等格式,转换放在哪一层要固定。
- 推理路径:确认哪些算子走 NPU 或加速器,哪些回退 CPU,回退是否可接受。
- 调度:推理线程优先级、锁、队列长度和丢帧策略要提前设计。
- 功耗与温升:持续推理和间歇推理分别测,别只测冷启动。
性能测试至少记录冷启动加载时间、预热后的单帧延迟、P50/P95/最大延迟、吞吐、内存峰值、CPU/NPU 占用、功耗和温升。
平均延迟好看,不代表实时任务能按时完成。 控制、避障、告警这类 AI嵌入式项目,要盯尾延迟和最坏情况。
四道验收闸门怎么设
为了避免把问题带到现场,可以把验证分成四道闸门。每道闸门都要有输入、比较对象和失败动作。
- 数据与浮点基线:确认切分无泄漏,浮点模型在留出集和现场切片上达标。失败则补数据或改模型。
- 转换一致性:同一批输入分别跑浮点、转换后和板端,比较任务指标与输出误差。失败则查算子、量化参数和预处理。
- 板端资源与实时性:看内存峰值、P95/最大延迟、功耗、温升和长稳。失败则减模型、改分辨率、换算子或调整调度。
- 现场泛化与回退:用真实分布、灰度和长稳测试,确认监控、告警、回滚可用。失败则回退旧模型或关闭功能。
每道闸门的阈值来自产品约束,不存在通用数字。 消费设备可能更在意功耗,工业检测更在意漏检率,机器人更在意尾延迟。阈值要在项目开始时就写进验收表。
现场验证和发布要注意什么
台架通过后,模型还要面对真实数据分布。灯光、角度、传感器噪声、遮挡和季节变化,都可能让离线指标失效。
- 影子运行:新模型只记录结果,不直接控制执行器。
- 灰度发布:限定设备、场景或时段,比较新旧模型。
- 分布监控:置信度整体下滑、类别比例突变时触发告警。
- 长稳测试:覆盖连续运行、反复启停、网络中断和断电恢复。
- 版本绑定:模型、固件、预处理配置和后处理参数作为一套版本发布。
- 回退路径:保留旧模型和旧固件,确认回滚不依赖网络。
模型更新还要考虑兼容性。新模型改了输入尺寸或输出格式,旧的后处理代码可能直接失效。发布包中应写清模型版本、算子依赖和最低固件版本。
工具链和硬件怎么选
工具链选择从约束出发,不从名气出发。 先确认模型能不能被目标工具链完整解析,再比较量化、性能分析和调试能力。
- 模型规模小、追求低功耗和常开检测,可优先看 MCU 与轻量推理框架。
- 视觉、语音或多模型并发,通常需要 MPU、GPU 或 NPU,重点看算子覆盖和内存带宽。
- 需要跨平台移植,可看 TensorFlow Lite Micro 这类通用运行时;更在意目标芯片的极限性能,可评估厂商工具链。
- 必须确认工具能否给出逐层性能、内存占用和量化误差报告。
- 还要确认许可证、版本升级和长期维护责任。
意法半导体的技术文章提到,STM32Cube.AI 的默认运行时针对 STM32 优化。TensorFlow Lite 运行时更侧重跨平台移植。两者都能用于 MCU,但适用条件不同。AI嵌入式项目的选型,要把可移植性、性能和维护成本放在同一张表里比较。
瑞芯微 RKNN 工具链资料也把 PC 仿真、量化报告和板端验证分开。先比输出,再上板,能减少无效调试。
常见问题
没有 NPU 能做 AI嵌入式项目吗?
可以。小模型、低频推理和简单分类可以在 MCU 上运行。要先算清内存、延迟和功耗,再决定是否值得本地推理。
量化一定会掉精度吗?
不一定。量化可能带来精度变化,幅度取决于模型、校准数据和任务。必须用留出集和现场切片验证,不能只看转换是否成功。
PC 仿真通过就能上线吗?
不能。PC 仿真不能替代板端的内存、调度、功耗和温升测试,也不能替代现场数据验证。
模型转换失败先查什么?
先查不支持的算子、动态 shape、输入输出格式和预处理差异。再核对工具链版本与量化参数。缩小到单层或单算子复现,通常比反复重转整模型更快。
验证集要多大才够?
没有统一数量。验证集要覆盖真实场景的主要分布和高风险边界,并与上线后的监控数据对照。样本很少时,宁可缩小功能范围,也不要用一个漂亮指标代替现场验证。
项目应该先选硬件还是先做模型?
两者要交替推进。先用目标硬件的内存、算力和功耗上限约束模型规模,再用候选模型反推硬件配置。只定一头,后期返工概率更高。
参考资料
- Silicon Labs. TensorFlow Lite for Microcontrollers. https://docs.silabs.com/gecko-platform/4.0/machine_learning/tensorflow/overview
- CTIMES. STM32 MCU最佳化的 STM32Cube.AI library. http://www.ctimes.com.tw/dispart.asp?O=HK63P973MFEARASTDO
- 地平线开发者社区. 智能小车模型部署实践流程概要. 2025-06-01. https://developer.horizon.auto/blog/13033
- 21ic. RKNN工具链入门,模型转换、量化与RK3588部署. 2026-09-23. https://www.21ic.com/a/1012789.html
更多推荐



所有评论(0)