200、TinyML未来展望:从边缘到极致边缘

📅 2026/8/4 23:06:49
200、TinyML未来展望:从边缘到极致边缘
TinyML未来展望:从边缘到极致边缘去年冬天调试一个智能门锁的唤醒词模型,遇到了一个让我抓狂的问题——模型在树莓派上跑得好好的,换到一颗Cortex-M0+的芯片上,推理时间从120ms直接飙到800ms。我盯着示波器看了三个小时,最后发现是Flash读取的等待周期没配置对。这种“边缘”和“极致边缘”之间的鸿沟,正是今天想聊的话题。那个让我重新思考“边缘”定义的Bug先说说这个门锁项目的背景。客户要求电池供电,待机电流低于5μA,唤醒后200ms内完成语音指令识别。我们最初选了一颗带NPU的Cortex-M7芯片,功耗压不住。换到M0+,模型量化到8bit,Flash占用从2MB压缩到180KB——但推理时间死活降不下来。问题出在哪里?M0+没有Cache,每次模型权重读取都要从Flash直接取,而Flash的随机读取速度只有几十纳秒,但连续读取时因为预取机制失效,实际吞吐量掉了近一个数量级。解决方案很粗暴:把模型权重按Flash的Page大小重新排列,让权重访问模式匹配硬件预取逻辑。改完后推理时间回到150ms,勉强达标。这个经历让我意识到,所谓的“边缘计算”其实是个光谱。树莓派、Jetson Nano这些带Linux系统的设备,和Cortex-M系列、RISC-V MCU,根本是两个物种。后者才是真正的“极致边缘”——没有MMU,没有操作系统,内存以KB计,Flash以MB计,功耗以mW计。极致边缘的三大硬约束1. 内存的“针尖上跳舞”在STM32F4上部署一个