14MB 模型、28MB 内存,能在 ESP32 上跑:端侧 AI 正在重新定义“小”

2026-08-14·端侧 AI / TinyML / ESP32·WorkBuddy
当所有人都在比谁的模型更大,有一支小团队把模型做小到了”开发者随手就能烧进一块 30 块钱开发板”的程度。
上周(2026-08-11),一家叫 Cactus Compute 的小团队在 Hacker News 放出 Needle 2:一个 4500 万参数、打包成 14MB 单文件、完整推理只吃 28MB 内存的开源语言模型。最抓人的是这句话——它能跑在 ESP32-S3 这类微控制器上。
这不是”把模型权重量化后硬塞进去”那么简单。它代表了一种正在快速成形的技术路线:在 PC 之下的那一层硬件(几十亿台手机、树莓派、MCU、智能家居中枢)上,直接跑能”理解指令、调用工具”的 AI。
这篇文章讲三件事:Needle 2 到底牛在哪、它属于一个怎样的产品谱系、这件事会从哪里走向哪里。最后是我自己的几个判断,不藏着。
一、Needle 2 是什么,怎么做到的
小到什么程度
-
45M 参数,14MB 二进制(模型 + 分词器 + 语法编译器全在里面),会话峰值内存约 28MB。
-
对比一下:Llama-3-8B 即使压到 4-bit 也要 4–5GB。Needle 2 比它小了约 300 倍。
-
速度:树莓派 5 上约 500 tok/s 解码;200 美元以下的安卓机 300–700 tok/s;Meta Quest 3S 上 400–1500 tok/s。
怎么做到的(四个工程点)
-
训练时量化(Cactus Quants / CQ2-bit)。不是训练完再压成 2-bit,而是从预训练到后训练全程就在 2-bit 精度下训练——权重、激活、KV 缓存都是 2-bit。这样”你部署的模型就是训练出来的那个模型”,避开了小模型事后量化会崩塌的坑。
-
Simple Attention Network 架构。用固定的 Walsh-Hadamard 变换(几乎不读权重)替代常规 FFN 的上下投影;世界知识被搬到哈希 n-gram 表(engram),每 token 只读几行、不算浮点。结果:每 token 仅约 70 MFLOPs,而 LFM2.5-230M 约 460、FunctionGemma-270M 约 540。
-
256-token 滑动窗口 + 工具声明固定为 KV sink。内存有确定性上限,对话再长也不爆。
-
字节级语法约束。从你声明的工具 schema 编译出语法,每个生成的 token 都被约束,畸形 JSON 几乎不可能出现;并且每轮只把 top-5 工具渲染进上下文。
它的”人设”:专职工具调用
你说”拉各斯的天气”,它决定调用 get_weather(city="Lagos")。它不背世界知识、不写长文、不做通用聊天。可穿戴品牌 Pebble 已经在 Index 01 戒指的生产环境里用它做离线语音指令——创始人 Eric Migicovsky 的说法是:离屏设备上的模型”每次都必须生效”。
诚实的局限(这点很重要)
-
官方基准里”互有胜负”是和跑在 f16 的更大模型比的,且数字来自官方、尚未被独立复现。
-
ESP32 上约 11MB 运行是社区报告,不是官方保证。
-
它不是通用助手:离题请求直接返回空调用
[]+ 一个置信度分,由你决定本地执行还是上云。
我的态度:为它的工程勇气鼓掌,但用之前自己跑一遍基准。
二、同类玩家全景:这不是孤例
Needle 2 属于一个正在拥挤起来的赛道。把主要选手摆在一起看:
| 产品| 团队| 参数量| 体积 / 内存| 量化| 典型硬件| 定位
| Needle 2| Cactus Compute| 45M| 14MB / ~28MB RAM| CQ2-bit(训练时)| ESP32-S3/P4、STM32H7、i.MX RT| 工具调用专用,开源(多家媒体称 Apache 2.0)
| FunctionGemma 270M| Google| 270M| ~283MB / ~250MB RAM| f16(LiteRT-LM)| 手机、Jetson Nano| 函数调用,可微调
| LFM2.5 系列| Liquid AI| 230M–8B(含 8B-A1B MoE)| 不一| 混合(卷积+注意力)| 手机/笔电/车/MCU| device-native,主打端侧智能体
| Apple Foundation Model| Apple| ~3B| 2-bit QAT / ~3GB RAM| 2-bit 量化感知训练| A17 Pro / M 系列| 系统集成,Foundation Models 框架
| SmolLM2| HuggingFace| 135M–1.7B| Apache 2.0| 标准 transformer| 手机 / 边缘| 多框架、支持函数调用
| TinyLlama / Phi-3 Mini| 社区 / 微软| 1.1B / 3.8B| 需约 1GB+| INT8 / 常规| 边缘 / 低端机| 通用小模型参考点
| Tiiny AI Pocket Lab| Tiiny AI| 本地可跑至 120B| 80GB LPDDR5X / 65W| 稀疏激活(TurboSparse)| 300g 掌上”个人超算”| 离线 120B,迷你 PC 级
可以看到两条清晰路线:
-
“通用小模型”路线:SmolLM2、TinyLlama、Phi、Apple FM,目标是尽量在端侧复刻通用能力。
-
“专用动作模型”路线:FunctionGemma、Needle 2,目标是把”自然语言 → 函数调用”这件窄事做到极致、做到 MCU 上。
支撑它们的土壤也在成熟:引擎有 TensorFlow Lite Micro、llama.cpp(已支持 Cortex-M)、MicroTVM / tinygrad;芯片有 ESP32-S3(8MB PSRAM)、ESP32-P4(32MB PSRAM)、STM32H7、NXP i.MX RT,以及 Ambiq、Syntiant、BrainChip Akida(神经形态)这类超低功耗 AI 芯片。
表格里最后一行很有意思:Tiiny AI Pocket Lab 把 120B 模型塞进 300g、65W、80GB 内存的掌上设备,还拿了吉尼斯纪录。它是”个人超算”那一端,和 ESP32 不可同日而语,但和 Needle 2 共同说明一件事——AI 正在从数据中心往”设备原生”迁移,只是迁移到了不同的价位和功耗层级。
三、现状:已经过了”能不能”的阶段
到 2026 年,edge AI / TinyML 早已超出”实验”阶段。推动它落地的有三股力:
-
成本:把原始传感数据(音频、图像、遥测)持续传云,带宽和算力账单吃不消;本地只上报”事件”,流量断崖式下降。
-
延迟:工业异常检测、机器保护要 <100ms,云的往返延迟不可控。
-
隐私与合规:医疗、建筑、用工监控等场景,原始数据不允许出本地;GDPR、AI Act 在逼这件事发生。
本地推理真正擅长的,是那些具体、可重复、窄的任务:声学事件检测(漏水、玻璃破碎、咳嗽)、振动与预测性维护、简单视觉(人形计数、手势)、传感器融合、智能建筑信号(CO₂/ occupancy)。
现实是混合:云端仍负责大模型、高频重训、高清视频、复杂语义;端侧负责过滤 + 反射。绝大多数架构会是”端—边—云”协同,而不是非此即彼。
四、发展:从”塞进去”到”为小而生”
回望演进路线:
MCU 上的经典 ML/DSP → TFLM 关键词唤醒 → 蒸馏小 transformer(TinyLlama / DistilBERT / MobileBERT) → 训练时量化 / 2-bit → 架构创新(Hadamard MLP、Liquid/SSM、SAN)
三个关键转变值得记下来:
-
量化从”事后压缩”变成”训练目标”。Apple 的端侧 3B 模型也用 2-bit QAT,并用 KV-cache 共享省掉 37.5% 的 KV 内存;Needle 2 把这条路推到极端。评价一个端侧模型,先看它的 bit-width 是不是”训练出来的”,而不是看它有多少亿参数。
-
内存封顶让 MCU 变得可行。滑动窗口、KV 共享这类”给内存一个确定性上限”的设计,是 LLM 能跑在几十 MB 板子上的前提。
-
杀手锏是”工具调用 / 结构化输出”,不是”聊天”。不背知识,只做映射,模型就能缩 50–100 倍。这正是 Needle 2 和 FunctionGemma 的共同赌注。
五、趋势:接下来几年会怎样
把各方信号收敛一下,几条主线很清楚:
-
超紧凑 LLM 成主流:2026 年 sub-500MB 的模型在手机和 MCU 上接近云端精度。
-
端上微调 / 联邦学习:隐私 + 个性化的矛盾,靠”本地精调、只回传匿名梯度”解决。
-
神经形态 / 事件驱动:BrainChip Akida、Intel Loihi 主打常开设备的超低功耗。
-
跨设备编排:手机、车、中枢实时交接任务,谁有算力/有数据谁上。
-
隐私优先架构:加密推理、分割计算成为合规刚需。
-
实时多模态:相机 + 音频 + 传感器融合,离线完成手势/环境理解。
-
分层智能成为默认:MCU 做反射、手机做编排、云做战略;置信度门控决定”本地还是上云”——Needle 2 的”低于阈值就上云”就是这套范式。
六、我的观点(这部分是重点)
观点一:Needle 2 真正的突破不是”小”,是”不做聊天机器人”
行业最大的误区,是总想把一个迷你 GPT 塞进设备。但设备的价值从来不在”陪你聊天”,而在”把一句话变成一次动作”。当你把任务收窄到 自然语言 → 函数调用,模型就能小两个数量级。这是设计哲学的转变:智能是一种函数,不是一个人格。
观点二:训练时量化,比参数数量更值得关注
大家都盯着参数量,但小模型事后压到 2-bit 会崩。Needle 2 和 Apple 的 2-bit QAT 共同说明:未来属于”为生而量化的模型”。看一个端侧模型,先问”它的 bit-width 是训练出来的吗”,比问”它有多少亿参数”更有信息量。
观点三:别被”与 70 倍大模型互有胜负”带节奏
这个对比不公平(2-bit vs f16),数字没被独立复现,ESP32 跑分还是社区报告。我的判断很直接:Needle 2 是一个”真的很小、真的能用、但只是工具调用专家”的模型,不该被包装成通用助手。 对这类项目,鼓掌可以,盲信不行。
观点四:最便宜的边缘,才是最值钱的机会
媒体爱聊 300 克、能跑 120B 的掌上超算,但那还是”贵的边缘”。真正的大头是 210 亿台 IoT 设备对 15 亿台 PC——一块 3 美元的 ESP32 永远不需要为”开灯”连一次云,这才是 AI 变成基础设施的地方。
观点五:隐私 / 离线才是真卖点,混合架构是终局
对智能家居、健康、工业,“数据不出设备”比”响应快”更重要,合规会逼着它发生。也别幻想”全本地”——靠谱的架构是小模型处理 90% 常规、把 10% 难的丢给云。Needle 2 的”置信度低于阈值就上云”,是正确样板,不是妥协。
七、给开发者的建议
-
想上手:一块树莓派 5 或一部旧安卓机 + Needle 2(或 FunctionGemma / SmolLM2-360M),半天就能跑通一个本地工具调用 demo。
-
选型心法:先定义”设备要干什么”,再选模型;能窄就窄,能本地就本地,难的再上云。
-
一句话总结:端侧 AI 的竞赛,不在”更大”,而在”更小、更专、更省、更私密”。Needle 2 把标尺又往下推了一格——接下来,看谁能在更便宜的板子上,做更靠谱的事。
**资料与声明**:来源包括 cactuscompute.com/needle、HuggingFace `Cactus-Compute/needle2`、Hacker News Show(2026-08-11)、Google Blog(FunctionGemma)、Liquid AI(LFM2.5)、Apple《Foundation Language Models Tech Report 2025》、HuggingFace SmolLM2、Tiiny AI 官方发布等。文中未独立复现的性能数字均以官方/媒体报道为准,发布前请自行核验。本文归档于技术博客 · 2026-08-14 · 转载请注明出处
微信公众号
欢迎关注「字与码」
如果这篇文章对你有用,也欢迎在微信里继续关注后续更新。
X / Twitter
关注 @ax2_zicode
更即时的技术观察、新文章提醒和一些短想法会发在 X 上。