[其他ST产品] STM32Cube.AI 在 MLPerf Tiny v1.2 基准测试中的 latency、Flash/RAM 占用优化细节?

[复制链接]
477|11
Belle1257 发表于 2025-11-5 21:33 | 显示全部楼层 |阅读模式
STM32Cube.AI 在MLPerf Tiny v1.2 基准测试中的 latency、Flash/RAM 占用优化如何做?

t1ngus4 发表于 2025-11-18 16:27 | 显示全部楼层
STM32Cube.AI 是 ST 推出的 AI 模型部署工具链,可将训练好的机器学习模型转换为适配 STM32 微控制器的优化代码。在 MLPerf Tiny v1.2 基准测试中(针对边缘端低功耗设备的轻量级 ML 任务,如视觉唤醒词、异常检测等),STM32Cube.AI 针对 latency(延迟)、Flash/RAM 占用 的优化主要通过工具链自身特性、模型压缩技术及硬件适配策略实现

b5z1giu 发表于 2025-11-18 17:18 | 显示全部楼层
STM32Cube.AI 的模型转换器会自动分析模型结构,合并冗余算子(如 Conv2D+BN+ReLU 融合为单算子),删除无效层(如恒等映射层),减少计算步骤。

cen9ce 发表于 2025-11-18 19:56 | 显示全部楼层
优先使用 STM32 硬件支持的轻量化算子,降低单步计算复杂度。

ex7s4 发表于 2025-11-18 20:29 | 显示全部楼层
INT8/INT16 量化,默认将浮点模型量化为 8 位整数(INT8),相比浮点(FP32)计算,可减少 75% 的数据传输量和计算耗时,同时保持任务精度(MLPerf Tiny 任务对精度损失容忍度较高,通常 INT8 足够)。STM32Cube.AI 支持 “训练后量化” 和 “量化感知训练”,平衡精度与速度。

zhizia4f 发表于 2025-11-18 21:21 | 显示全部楼层
动态定点量化,针对部分对精度敏感的层(如输出层),可保留 INT16 量化,兼顾延迟与精度。

w2nme1ai7 发表于 2025-11-18 22:53 | 显示全部楼层
针对 Cortex-M4/M7/M33 等内核的 DSP 指令集(如 SIMD 指令)和 FPU,STM32Cube.AI 会生成优化的汇编代码,并行处理数据(如一次操作 4 个 INT8 数据),提升计算吞吐量。

y1n9an 发表于 2025-11-19 07:30 | 显示全部楼层
对于带硬件加速器的 STM32 型号(如 STM32H7 系列的 CORDIC、STM32L4+ 的 CRC 加速器),工具链会调度外设分担部分计算(如快速傅里叶变换),减少 CPU 负载。

tax2r6c 发表于 2025-11-19 09:51 | 显示全部楼层
将模型权重、激活值缓冲区在编译时静态分配,避免运行时动态内存申请的开销。

l1uyn9b 发表于 2025-11-19 10:24 | 显示全部楼层
将模型权重、激活值缓冲区在编译时静态分配,避免运行时动态内存申请的开销。

g0d5xs 发表于 2025-11-19 11:41 | 显示全部楼层
对于多输入任务(如传感器数据序列),将数据预处理(如归一化)与模型推理流水线并行,隐藏部分延迟。

l1uyn9b 发表于 2025-11-18 14:32 | 显示全部楼层
STM32Cube.AI 支持对模型权重进行剪枝(移除接近零的权重),生成稀疏矩阵,配合专用稀疏算子减少 Flash 存储量(例如,剪枝 50% 权重可减少约 40% Flash 占用,且对精度影响较小)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

1693

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部
0