Hacker News 的 Show HN 榜单上今天有个反差很强的项目:Cactus 放出 Needle 系列(官方页面标注为 Needle 3),一个 4500 万参数的模型,整个模型是一个 14MB 的文件,峰值会话内存 28MB,采用 Apache 2.0 许可。

一、先看几个硬指标

官方给出的数据是:在树莓派 5 上预填充超过每秒 800 token、解码每秒 500 token;在 Meta Quest 3S、Apple Vision Pro 这类头显上每秒 400 到 1500;在 200 美元以下的手机上每秒 300 到 700;28MB 的内存占用意味着它甚至能塞进 ESP32‑S3 这类微控制器。这些是官方自测数字,需要第三方复现,但量级上的差距很难靠调参造出来。

芯片裸片表面的显微结构

二、它为什么这么小还够用

关键不在于把大模型压小,而在于换了个问题。官方把目标任务定为工具调用与结构化抽取:开一盏灯、查一笔订单、从一段话里抽出几个字段。这类任务的难点不是世界知识,而是把一句含糊的话映射到 "调哪个函数、填哪些参数";参数一旦确认,答案就被格式约束住了。任务变窄,4500 万参数才够用——如果让同一个模型去聊天写作,那就是另一回事了。官方称在 Mobile‑Actions、Seal‑Tools 等基准上,它与 2.3 亿到 2.7 亿参数级别的小模型互有胜负。

三、三个值得抄的工程决策

第一,量化在训练时就做完。不是训完再压,而是权重、激活和 KV 缓存一起按 2bit 训练,部署的就是被训练的那个模型。小模型最怕事后量化掉点,这一条直接绕开了它。

第二,按 "固定内存设备" 倒推架构。注意力只保留 256 token 的滑动窗口,KV 缓存有明确上界;系统提示和工具声明被钉成常驻位置,保证 "我的工具有哪些" 永远不会被挤出上下文。这种从硬件约束反推设计的思路,比追求通用能力务实得多。

第三,速度来自 "拒绝计算"。2bit 权重不解压到内存,直接在向量寄存器里展开;输出结构由 schema 编译成语法约束,模型在生成前就知道哪些词是合法的,官方称在结构符号上能跳过最多 98% 的词表投影;一个二进制在启动时探测 CPU,自选内核实现。

四、端云协作的姿态比指标更重要

小模型不可能全对。官方的做法是:每个回答带一个可学习的置信度,调用方自己设阈值——高于阈值直接执行,低于阈值就再问一次或转云端;离题请求返回空调用,而不是硬猜一个函数。这比 "小模型也能做一切" 的宣传诚实,也更容易嵌进真实产品里。

五、对国内产业实践的意义

官方给了一组值得记住的对比:全球物联网设备约 210 亿台,PC 约 15 亿台,而大部分边缘设备成本低于 200 美元。这些设备没有 GPU、没有 NPU、内存只有几十 MB。对智能家居、穿戴、门店终端、工业面板这类 "能力早就以函数形式存在" 的场景,本地小模型意味着三件事同时成立:离线可用、数据不出设备、每次推理的边际成本接近于零。真正的门槛不在模型,而在数据——你得先把自己设备的工具调用语料整理出来,模型才有得微调,才可能超过通用大模型。