Needle 2 14 MB Agentic LLM 为 200 美元以下设备带来端侧工具调用功能

Needle 2 为 200 美元级设备提供全会话 LLM

Needle 2 将一个 45 M 参数的模型封装进 14 MB 的二进制文件中,在 28 MB RAM 中运行完整的推理会话,并在 Raspberry Pi 5 上达到 500 tokens/sec 的解码速度。这使得在廉价手机、可穿戴设备、微控制器和机器人上实现功能完备且保护隐私的 AI 成为可能。


核心技术成就

1. 无损 2-bit 量化实现 14 MB 占用

Needle 2 使用 Cactus Quants 进行端到端训练,这是一种自定义的 CQ2-bit 格式,在预训练期间对权重、激活值和 KV cache 进行量化。由于模型从未见过全精度权重,2-bit 表示不会造成质量损失,使得 45 M 参数在磁盘上仅占用 14 MB。

2. 简单的注意力网络减少每个 token 的算术运算

该架构使用固定的 Walsh-Hadamard 变换和学习到的对角矩阵取代了密集的 MLP 投影,将矩阵乘法(matmul)激活参数从 82 M 减少到 35 M。由此产生的计算成本为 每个 token 70 MFLOPs,与同等规模的传统 Transformer 相比,减少了约 2-3 倍。

3. 字节级语法和 engram 查找精简词表

编译后的字节级语法限制了每一步的合法 token 集合,为结构化 token 跳过了高达 98% 的 softmax。Engram 层从哈希后的 n-gram 表中读取少量行(≈8 M 参数)而无需任何算术运算,进一步降低了 FLOPs 和内存带宽。

4. 固定大小的滑动 KV cache 保证 28 MB RAM 上限

256-token 的滑动窗口限制了 KV cache,因此会话内存不会随对话长度增长。系统提示词和工具 schema 被固定为永久存储,确保模型永远不会忘记其工具定义。

5. 单二进制文件、硬件自适应运行时

C++ 引擎在启动时探测 CPU 并选择最佳内核(SDOT, NEON, AVX2, RISC-V vectors, WASM SIMD 或 scalar)。所有权重在磁盘上保持压缩状态;它们仅在寄存器内部展开,使驻留内存保持在 14 MB blob 的大小。


边缘硬件性能

设备 Prefill 速度 Decode 速度
Raspberry Pi 5 800 tok/s 500 tok/s
Meta Quest 3S / Apple Vision Pro 400–1,500 tok/s (取决于核心)
200 美元级手机 (Samsung A-Series) 300–700 tok/s
ESP32-S3 (带外部 PSRAM) 在 28 MB RAM 上限内运行

这些数据表明,Needle 2 可以在缺乏 GPU 或 NPU 的设备上完全离线运行,为语音控制助手提供交互级延迟。


工具调用准确率对比大型模型

Needle 2 是专为 agentic tool use(智能体工具使用)和结构化提取而构建的。尽管规模小 5-70 倍,但在五个公开基准测试中,它能达到或超过规模大得多的模型。

Mobile Actions (961 行)

  • Needle 2 准确率: 63.7% (名称准确率 98.3%)
  • FunctionGemma 270M: 总体 64.0%,名称准确率 87.3%
  • LFM2.5 230M: 总体 69.1%,名称准确率 93.0%
  • Apple FM (端侧): 总体 57.6%

DroidCall (200 行)

  • Needle 2: 总体 17.0%,名称准确率 36.5%
  • FunctionGemma 270M: 总体 17.5%,名称准确率 37.5%
  • LFM2.5 230M: 总体 11.0%

Seal-Tools (领域内, 700 行)

  • Needle 2: 32.6% 总体,64.9% 名称准确率
  • LFM2.5 230M: 总体 26.9%,名称准确率 45.4%
  • FunctionGemma 270M: 总体 16.3%,名称准确率 56.0%

Seal-Tools (领域外, 654 行)

  • Needle 2: 28.7% 总体,58.7% 名称准确率
  • LFM2.5 230M: 总体 17.0%
  • FunctionGemma 270M: 总体 15.6%

BFCL v4 单轮 (3,641 行)

  • 总体得分: Needle 2 42.6 vs Apple FM 61.7, LFM2.5 60.8, FunctionGemma 46.1
  • 格式正确率: Needle 2 93.4% (与 FunctionGemma 的 100% 相当)

结论: 当任务是 精确 的工具调用时,Needle 2 的专门训练和语法强制执行使其能够与规模大 5-6 倍的模型竞争。


实际部署案例

Pebble 的 Index 01 可穿戴设备在本地运行 Needle 2,无需任何网络依赖即可将语音指令转换为动作。该设备没有屏幕,因此可靠性和延迟至关重要;14 MB 的模型同时满足了这两个约束。

"Pebble Index Ring 没有屏幕。因此当你对它说话时,无论是否有互联网连接,动作都必须每次都发生。我们在应用中本地运行 Cactus Needle,而不是依赖云端。该模型的占用空间极小,且性能从未让我们失望。" — @Pebble engineering team


社区反馈亮点

"微型 LLM 领域被低估了;一种由大型智能体训练小型专家的模型层级结构可能会成为一种常见模式。" — @nater5000

"置信度门控至关重要。在模糊的查询中,模型有时会返回一个低置信度的调用,而不是放弃回答。" — @grenli

"在 ESP32-S3 上运行是可能的,但目前还缺少烧录二进制文件的文档。" — @forsalebypwner

"模型的推理字段出现在函数调用之后,这可能会让下游流水线感到困惑。" — @alex7o

"选择 2-bit 格式而不是 4-bit 是为了将二进制文件保持在 14 MB 以下;4-bit 会增加体积,但无法带来成比例的质量提升。" — @r0ze-at-hn

这些评论既体现了对端侧智能体范式的热情,也反映了对工具链、置信度校准和部署易用性的实际担忧。


局限性与开放问题

  • 通用知识 – Needle 2 不是聊天模型;它缺乏设备动作之外的世界知识,因此开放式查询经常返回低置信度或错误的调用。
  • 置信度校准 – 升级到云端的阈值是学习得来的,但尚未公开记录;用户报告偶尔会出现过度自信的错误调用。
  • 工具 Schema 灵活性 – 添加新功能需要在 Mac/PC 上进行微调;过程很快(几分钟到几小时),但对非技术开发人员来说仍是一个障碍。
  • 硬件支持 – 该二进制文件目前针对 Cortex-M、x86 和 WASM;部分用户尝试在通用的 64 位 ARM 桌面端运行失败。

为什么 Needle 2 对边缘 AI 生态系统至关重要

Needle 2 证明了当问题被界定为结构化函数映射时,智能体能力不需要数十亿个参数。通过对架构、量化和运行时的协同设计,Cactus Compute 提供了一个能够适应大多数 IoT 设备内存和计算包络的模型(≈80% 的边缘硬件成本 < 200 美元)。这将 AI 部署模式从以云端为中心的 API 转向了私密、即时且离线的助手,为助听器、智能家居、机器人和低成本智能手机开辟了新的用例。


开始使用

  • 模型权重 – Hugging Face 上的 Apache 2.0 许可检查点:Cactus-Compute/needle-2
  • 运行时 – 无依赖的 C++ 二进制文件(GitHub 提供源码),自动选择最佳内核;也可作为浏览器用的 WASM 模块使用。
  • 微调 – Python 包 needle 允许你在笔记本电脑上通过几小时的训练添加自定义工具定义。
  • Demo – Web 游乐场展示了可穿戴设备、智能家居和机器人的语音转动作场景。

Needle 2 证明了 14 MB 的 LLM 可以可靠地执行端侧工具调用,为在现有的数十亿廉价边缘设备上实现普及、隐私优先的 AI 提供了一条切实可行的路径。

Sources

相关