AI 见闻
精选· 重要性 4/5

Needle 2:14MB端侧智能体模型,让200美元以下设备跑起AI

Hacker News (AI)··HenryNdubuaku·约 8 分钟阅读
社区热度 518
中文导读

Cactus Compute发布Needle 2,一个仅14MB的45M参数开放权重模型,专为工具调用和设备使用设计,可在手机、可穿戴设备、智能家居和机器人上运行,推理速度最高达1500 token/秒,内存占用仅28MB,为低成本边缘设备带来本地AI能力。

今天,我们发布 Needle 2:一个开放的 45M 参数模型,用于工具调用、设备使用和结构化提取。整个模型是一个 14MB 的二进制文件,在 28MB 的 RAM 中即可运行完整会话。

它基于我们此前在 Simple Attention Network 上的研究成果,使用 Cactus Quants 压缩至 CQ2-bit,并集成到自研引擎中。

在工具调用和移动设备使用基准测试中,Needle 2 与 FunctionGemma 270M、LFM2.5 230M 和 Apple FM 等小型模型互有胜负,但体积小 5 到 70 倍,且仅用 2-bit 精度(对比它们的 f16)。

Needle 在 Raspberry Pi 5 上解码速度达 500 token/秒,在 Meta Quest 3S 和 Apple Vision Pro 等 VR 设备上为 400–1,500 token/秒,

在三星 A 系列等 200 美元以下的手机上为 300–700 token/秒。凭借约 28MB 的峰值会话内存,Needle 可运行于 ESP32-S3 等较新的微控制器上。Playground 让你在可穿戴设备、机器人、智能家居、手机和汽车场景中测试 Needle。

Needle 采用 Apache 2.0 许可,权重已上传 Hugging Face;仓库可让你快速上手。

- 45M 参数- 800+ token/秒(Pi 5 预填充)- 500+ token/秒(Pi 5 解码)- CQ2-bit 压缩- 14MB 文件大小- 28MB 会话内存

我们的赌注:将端侧 AI 带入 200 美元以下的设备。边缘 AI 近来常指 Mac 和 PC,但真正的边缘大多是廉价硬件:超过 210 亿台联网物联网设备,对比约 15 亿台 PC;而在新兴市场,大多数手机售价低于 200 美元。

算上廉价手机、Raspberry Pi、微控制器、可穿戴设备、Reachy Mini 等小型机器人以及联网家居设备,大约五分之四的边缘设备价格低于 200 美元。这正是 Needle 的目标硬件:没有 GPU、没有 NPU,只有几百 MB 的 RAM。

函数调用与设备使用:打开一盏灯并不需要前沿模型。手表、家居、机器人——每个设备都已将其能力暴露为带类型参数的函数,因此唯一困难的部分是将一句杂乱的话映射到这些函数上:调用哪个函数,使用哪些值。

从这个角度看,问题不需要世界知识,也不需要开放式文本生成,这就是为什么 45M 参数就足够,而聊天模型需要数十亿参数。这个更小的设定是后续一切的基础。

提取与结构化输出:模式(schema)即接口,同样的设定也适用于文档:一个模式加一段文本,返回类型化字段;枚举字段即分类器;数组字段在一次调用中收集列表。

我们通过契约而非约定来强制执行:每一轮回答都用一个调用信封(call envelope),空调用表示拒绝,并且从声明的模式编译出的字节级语法约束每个 token。语法承载了句法,因此全部 45M 参数都用于选择函数和将参数锚定到用户的话语中。

边缘-云协作:没有一个小模型能覆盖所有情况,所以 Needle 会明确表示,而不是猜测:每个响应都带有一个学习到的置信度分数,离题请求返回空调用。

高于阈值则执行;低于阈值则重新询问或升级到云端。大多数设备请求是常规控制,因此升级很少发生,默认路径保持私密、即时且免费。

无损 2-bit 量化:小模型在事后量化下会崩溃,因此我们从不事后量化:Needle 2 从预训练到后训练,对权重、激活和 KV 缓存都使用 Cactus Quants 进行训练。你部署的 2-bit 模型就是训练时的模型。

这就是将 45M 参数塞进 14MB 且毫无损失的原因。

协同设计的模型与推理:每个架构选择都在目标硬件上经过基准测试后才获得参数,交付物是模型与引擎的组合,而非仅权重:一个无依赖的 C++ 二进制文件,在启动时探测 CPU 并选择内核,模型、分词器和语法编译器都封装在内。

一个工件可从 Cortex-M 运行到 x86 再到 WebAssembly。无需安装,无需下载。

在你的 Mac/PC 上微调:每个产品都有自己的工具词汇表,而 45M 模型足够小,可以在运行的地方重新训练:仓库和 Python 包可在几分钟到几小时内,在你自己的电脑上完成微调和测试。交付一个能说你的设备工具的 Needle,而不是一个通用助手。

生产就绪:Needle 适用于需要最小 RAM 占用、低延迟、隐私和离线可靠性的产品。

Pebble——现代可穿戴行业的先驱——在 Index 01 应用中本地运行它,将语音请求转化为操作,而无需依赖网络连接。Pebble Index Ring 没有屏幕。所以当你对它说话时,操作必须每次都发生,无论有没有互联网连接。

我们在应用中本地运行 Cactus Needle,而不是依赖云端。该模型体积极小,性能从未让我们失望。

架构:Needle 2 在专有的 115B token 语料库上预训练,并在 38B token 上后训练,包含紧凑的推理轨迹和精心设计的数据集分布。

作为对比:LFM2.5-230M 在 19 万亿 token 上预训练,大约是 Needle 总量的 120 倍,而下面的评估显示两者互有胜负。每个组件都是为了在不增加带宽的情况下获得能力。

Hadamard MLP 用固定的 Walsh 变换和学习到的对角线取代了通常的密集上下投影,因此主导小模型权重读取的通道混合几乎不消耗参数。

engram 将世界知识从堆栈中移出,放入哈希 n-gram 表,每个 token 只读取几行:在解码时容量几乎免费,这对从闪存读取的每个字节都意味着延迟和电池消耗的设备至关重要。

多通道残差流为 27 层、512 宽的网络提供了更宽网络的路由灵活性,代价是每层几个点积,而不是更多的注意力或 MLP 容量。

内存系统是从固定 RAM 设备反向设计的。注意力使用 256 token 的滑动窗口,因此无论会话运行多久,KV 缓存都有界;系统提示和工具声明被固定为永久 sink,因此工具调用模型绝不能忘记的东西——它的工具——在结构上无法被驱逐。

缓存本身使用 QAT 训练,权重以 Cactus Quants 存储,平均每权重 2-bit。结果是,质量决策和部署决策保持解耦:一个训练好的模型,可针对目标设备能承受的任何精度和窗口进行专门化。

引擎的速度来自它拒绝计算的内容。权重从不解压到 RAM:2-bit 代码在向量寄存器内展开,融合为整数点积,因此常驻内存保持为 blob 大小,算术路径端到端为 int8——激活、KV 缓存和通道路由表都是如此。

语法是一种优化,而不仅仅是保证:因为匹配器在 logits 存在之前就知道哪些 token 合法,引擎只为候选行计算输出分数,在结构 token 上跳过高达 98% 的词汇投影,并在输出已被强制的步骤上完全跳过。

一个通用二进制文件在启动时探测 CPU,并自行选择其内核层级——SDOT、NEON、AVX2、RISC-V 向量、wasm SIMD 或标量——线程池在 token 的短串行段上旋转而不是休眠,仅此一项就使解码速度几乎翻倍。

这些技巧都不会改变任何输出:每个技巧要么是精确的,要么与参考路径逐 token 验证。所有这一切最终都是能量论证。

在设备芯片上,从闪存或 DRAM 移动一个字节的成本比乘加运算高出几个数量级,因此重要的预算是每个 token 的 FLOPs 和每个 token 的字节数之和。

架构削减了前者:一个与 Needle 相同宽度和深度的传统 Transformer 每 token 花费 164 MFLOPs,即使压缩到 Needle 的参数数量也要花费 87,因为它拥有的每个参数都必须通过 matmul 来使用。

Needle 花费 70,并保留了五分之一的参数……

原文出处
Show HN: Needle2: 14MB agentic LLM for phones, wearables, smart home and robots

本文为机器翻译辅以 AI 润色,仅供参考。原始事实以原文为准。

相关阅读