Needle:将 Gemini 工具调用能力蒸馏进 26M 参数的微型模型

如果你在过去一年里尝试构建过 Agent 工作流,你肯定清楚其中的核心矛盾:工具调用需要足够的智能,而智能通常意味着庞大的模型。我们已经习惯了将函数调用请求发给臃肿的 API,或者默默忍受着千兆级本地权重带来的高延迟。
今天,这种范式被打破了。Cactus Compute 在 Hacker News 上的一个 "Show HN" 帖子立刻抓住了我们的眼球:Needle,一个拥有 2600 万(26M)参数的超高度专业化模型,完全从 Google 的 Gemini 3.1 Flash Lite 蒸馏而来。它既不能写诗,也不会生成 Python 脚本。它只做一件事:根据工具的 Schema 解析用户意图,并输出完美的 JSON 格式。而且,它的速度快得令人发指。
#到底发生了什么?
Cactus Compute 采用 MIT 协议开源了 Needle,并在 Hugging Face 上发布了模型权重。仅仅 26M 的参数量,让这个模型的体积小得惊人。打个比方,比起之前被认为是“微型”的模型(比如 FunctionGemma-270M 或 Qwen-0.6B),Needle 的尺寸只是它们的一个零头。
尽管体积小巧,Needle 在其本职工作上却表现得异常强悍。它支持 15 个不同类别的单次(single-shot)工具调用——从智能家居控制、消息收发,到导航和计时器,无所不包。通过将 Gemini 3.1 Flash Lite 的潜在能力蒸馏到一个极度专注的架构中,团队向我们证明:解析 Schema 和提取参数,根本不需要几十亿参数的模型。
#为什么这很重要:边缘侧的极致效率
Needle 最引人注目的地方不仅仅在于它的尺寸,更在于这种尺寸所赋予的可能性。在量化为 INT4 后,整个模型大约只占用 14MB 的内存。
仔细品味一下这个数字。运行这个模型既不需要专用的 GPU 集群,甚至对现代 CPU 都没有什么要求。这为以前根本无法想象的场景解锁了复杂的、本地优先的工具调用能力:
- 智能穿戴设备: 智能手表和 AR 眼镜现在可以在本地直接将语音指令转换为结构化的 API 调用,完全避开了云端的网络延迟。
- 物联网(IoT)设备: 智能家居中枢可以在 ESP32 或低端 ARM 芯片上直接完成意图路由,无需再与服务器进行数据往返。
- 移动端应用: App 可以在原生层面嵌入该模型,实现零延迟的 UI 交互,同时通过在设备端保留查询数据来保护用户隐私。
在性能方面,Needle 简直就是一头猛兽。在消费级硬件上,它能达到 每秒 6000 个 token 的 prefill(预填充)速度 和 每秒 1200 个 token 的 decode(解码)速度。放到用户交互的实际场景中,这意味着生成并准备好执行 JSON payload 的速度,快到肉眼甚至都捕捉不到加载状态。
#技术启示:无 FFN 架构
作为工程师,Needle 背后的架构选择可以说是此次发布中最迷人的部分。Cactus Compute 团队引入了他们称之为简单注意力网络(Simple Attention Network,简称 SAN)的架构。
标准的 Transformer 架构通常由多头注意力机制(Multi-Head Attention)和前馈神经网络(FFN,或称 MLP)交替堆叠而成。深度学习界普遍认为,FFN 充当了模型的“记忆库”,用于存储世界知识和事实,而注意力机制则负责上下文的动态路由。
Needle 的突破性洞察在于它意识到:工具调用不是一项推理或记忆任务,它本质上是一项检索与组装任务。
当你将可用的工具 Schema 列表和用户的查询一并交给模型时,模型完全不需要知道法国的首都是哪里。它只需要将用户请求的语义片段(例如“关掉客厅的灯”)与所提供的 JSON Schema 中的必需字段对齐即可。
因此,Needle 彻底剥离了 FFN 层。它采用了一个 12 层的编码器(Encoder)和一个 8 层的解码器(Decoder),两者完全由纯注意力机制和门控机制组成。通过移除 MLP,他们砍掉了绝大部分的参数权重,在极大降低计算开销的同时,丝毫没有牺牲函数调用所需的专门路由能力。
#训练流水线
训练这样一个高度垂直的模型,需要一套非常巧妙的流水线:
- 预训练(Pretraining): 模型在 2000 亿个 token 上从头开始训练。由于其极其微小的尺寸,这个阶段在一个包含 16 块 TPU v6e 芯片的集群上仅仅花了 27 个小时。
- 后训练/蒸馏(Post-Training / Distillation): 团队使用 Gemini 3.1 Flash Lite 生成了 20 亿个极其复杂、由合成数据构成的函数调用 token。这个阶段只用了区区 45 分钟,就成功将 Gemini 强大的指令遵循和 Schema 解析能力迁移到了 SAN 架构之中。
#下一步是什么?
Needle 现已开放使用,且门槛几乎为零。你可以克隆代码仓库、安装依赖项,几分钟内就可以开始用你自己的本地 Schema 进行测试。
如果你想在本地进行测试,Cactus Compute 提供了一套极其精简的启动方案:
git clone https://github.com/cactus-compute/needle.git
cd needle && source ./setup
needle playground
这会启动一个本地的 Playground,你可以在其中注入自定义的工具 Schema —— 比如内部的微服务 API 或本地系统脚本 —— 然后观察模型如何瞬间将指令路由给它们。由于模型足够小巧,在专有的、特定领域的工具上对其进行微调,成本极其低廉,且速度飞快。
#总结
Needle 的发布是对“微型模型”理念的一次巨大印证。虽然基础的前沿模型还会不断膨胀,以不断拓宽通用推理的边界,但软件工程的执行层却正在向截然相反的方向演进。
通过对架构进行大刀阔斧的裁剪,以适配特定的运行模式(比如为了纯粹基于上下文的路由任务而剔除 FFN),我们正在步入一个超级优化、高度本地化的 AI 组件时代。Needle 证明了,在 Agent 系统的机械管道化建设中,模型蒸馏和极简架构远胜于纯粹的参数堆砌。在 Ichiban Tools,我们绝对会尝试将它嵌入到我们的本地工具管线中去。