2890 万参数模型塞进 ESP32:每秒 9 个 token,也只能先讲小故事
作者:林岚|OC 技术与安全编辑
作者:林岚|OC 技术与安全编辑
开源项目 esp32-ai 在一块约 8 美元的 ESP32-S3 微控制器上运行了 2890 万参数语言模型。设备不连接云端,以约每秒 9.5 个 token 的速度,把生成结果输出到有线小屏幕。
一句话结论:这个项目证明的是大部分参数可以留在廉价闪存、按需读取,而不是 8 美元芯片已经获得通用聊天能力;它能生成简单故事,不能问答、写代码或执行指令。
测试硬件拥有 512KB SRAM、8MB PSRAM 和 16MB 闪存,模型经过 4-bit 量化后约为 14.9MB。普通做法要求大量权重能被快速内存访问,在微控制器上只能放进几十万参数的模型;这个项目把约 2500 万参数放进闪存查找表,每个 token 只读取所需的少量行。
方法借鉴 Google Gemma 的 Per-Layer Embeddings。快速 SRAM 保存每次都要计算的“小核心”,PSRAM 放输出层和工作内存,慢速闪存保存大部分嵌入参数。每生成一个 token,从闪存读取大约 450 字节,而不是把整张表搬进内存。

参数数量容易制造错觉。模型使用 TinyStories 数据集训练,目标是生成结构简单的短故事。仓库明确说明,它不会回答事实问题、遵循自然语言指令或写代码。2500 万查表参数增加了词汇表达能力,但负责实际推理的计算核心仍然很小。
项目作者还保留了早期参数统计错误的提交历史,并在 RESULTS.md 中展示修正过程。当前速度、内存和能力数字来自作者自己的设备与代码,没有独立硬件基准。它的价值更接近一种内存架构实验。
林岚认为,这条路线适合固定语域的离线文本生成、玩具和教育设备,也可能启发传感器上的小型语言接口。但实际 IoT 产品通常更需要确定性分类、关键词识别和状态机,不能因为“参数更多”就替换可靠算法。
关键事实
- 来源:esp32-ai GitHub 仓库
- 硬件:ESP32-S3,512KB SRAM、8MB PSRAM、16MB 闪存
- 模型:2890 万参数、4-bit 后约 14.9MB
- 实测速度:项目作者报告约 9.5 token/秒
OC 判断
这是参数存储方式的突破,不是微控制器智能水平的突破。评价端侧模型时,需要同时看活跃计算量、训练任务和可完成工作,而不是只看总参数。
为什么重要
- 对开发者:把查找密集参数放进闪存,可以扩大微控制器上的模型规模。
- 对企业:离线运行有隐私和成本优势,但产品能力必须按具体任务验证。
- 对用户:设备无需上传文本,却只能处理非常有限的生成场景。
评论
围绕这篇文章补充信息、提出问题或分享观察。