C
ChaoBro

Needle:把 Gemini 3.1 蒸馏成 26M 参数工具调用模型

Needle:把 Gemini 3.1 蒸馏成 26M 参数工具调用模型

26M 参数。这个量级,差不多是 GPT-3 的六万分之一。

Cactus Compute 开源了一个叫 Needle 的模型,用他们自己的话说,是把 Gemini 3.1 蒸馏成了一个能在手机、手表甚至智能眼镜上跑的函数调用模型。

这不是那种"理论上可以跑"的小模型。他们在生产环境(基于自研的 Cactus 推理框架)上实测的数据是:prefill 速度 6000 toks/sec,decode 速度 1200 toks/sec。

架构:Simple Attention Network

Needle 的架构他们叫 Simple Attention Network,核心设计思路是"极简":

  • 编码器 12 层,但每层没有 FFN(前馈网络),只有自注意力 + RoPE + 门控残差。
  • 解码器 8 层,在编码器的输出上做交叉注意力。
  • 整体维度 512,8 个注意力头,4 个 KV 头,词表大小 8192。

去掉 FFN 是一个大胆的选择。Transformer 的 FFN 通常占了模型参数的 2/3 以上,砍掉之后模型体积骤降。代价是表达能力下降——但 Needle 的定位不是"什么都能做",它只做一个任务:工具调用(function calling)。

训练数据

预训练用了 16 块 TPU v6e,跑了 200B token,27 小时。然后在 2B token 的单轮函数调用数据集上做后训练,45 分钟。

权重和训练数据都在 Hugging Face 开源。MIT 许可。

对标谁

论文里对比了几个小模型:FunctionGemma-270m、Qwen-0.6B、Granite-350m、LFM2.5-350m。Needle 在单轮函数调用任务上超过了所有这些模型。

但 Needle 自己也说了:这些对标模型的能力范围更广,在对话场景下 Needle 打不过。小模型就是这么任性——在特定任务上可以很厉害,但你不能指望它什么都干。

为什么这件事值得关注

工具调用是 Agent 的核心能力之一。目前的工具调用基本都是靠前沿模型(GPT-5.5、Claude Opus 4.7 这种)在线完成,延迟和成本都不低。

如果把工具调用模型压缩到 26M 参数、可以在本地设备运行,那整个 Agent 架构就可能发生变化:

  • 隐私:工具调用数据不用送到云端。
  • 延迟:本地推理,没有网络往返。
  • 成本:边缘设备免费推理。

26M 参数在手机上的内存占用大概也就 50-100MB(取决于量化方式)。这意味着它可以和主应用一起打包,不需要额外下载模型。

局限性

Needle 的定位很清楚:只做工具调用。它不会跟你聊天、不会写代码、不会做推理。你给它一个 query 和一组工具定义,它输出该调用哪个工具、参数是什么。

如果你需要的是通用的端侧 AI,Needle 不合适。但如果你需要在端侧做工具调用,这个量级和速度,目前确实没有太多竞品。


主要来源: