Needle 3 能切出 19 档模型,工具目录扩到 25 个就开始选错 | AGIDaily
AGI Daily
资讯日报词条论文人物新创

Needle 3 能切出 19 档模型,工具目录扩到 25 个就开始选错

2026-10-10 / 共 2,209 字

Cactus Compute / Hugging Face

10 月 2 日,一位开发者在 Needle 的 GitHub 仓库提交了 166 号 issue。他用官方权重跑三条简单指令:打开台灯、关闭台灯、把台灯亮度调到 35%。只给模型 5 个或 6 个工具时,三条都选对;工具目录扩到 25 个,三条都选成了不相干的媒体播放工具;把这 25 个工具倒过来排,又有两条选对,剩下一条选成了待办清单里的删除操作。同一天他升级到 3.1.0 版引擎重跑,结果和置信分数都没有变。

这是一组只有三条指令的合成测试,不能代表 Needle 3 的整体准确率。它说明的是另一件事:这个端侧模型在固定的小目录里表现不错,工具一多,选哪个工具就成了最容易出错的一步。错的调用里,设备名都抄对了,模型写的推理文字也是在说开灯、关灯和调亮度,只有工具名选错了。

同一套权重,可以导出 2 到 20 层

Cactus Compute 在 9 月 18 日发布 Needle 3,主打工具调用、结构化抽取和文本嵌入,不做通用聊天。它最特别的设计是 Cactus 所说的“智能阶梯”:20 个网络块按固定规则排序,先选首尾两块,再反复在已选块之间最宽的空档中点补一块。这样 2 层子网包含在 3 层里,3 层包含在 4 层里,一直到 20 层,一套权重就能导出 19 个深度。

这些子网在训练阶段就一起练过。按 Cactus 的博客,训练中有 20% 的步骤只更新随机抽到的较浅深度,浅层子网还要用自蒸馏去贴近完整模型的输出。Cactus 做过一组 18 层、3000 步的对照:带阶梯训练的完整模型验证损失为 1.958,不带的为 2.037;训练后期才打开阶梯,各个深度都更差。

部署时,needle build --layers N 只保留目标深度需要的网络块、对应的 n-gram 记忆表和置信头参数,写成一个 .cact 文件,由一个不到 1 MB 的引擎加载。KV 缓存按块分配,层数越少,缓存也越小。

文件大小,几处官方数字对不上

发布页写的是“8–29 MB”,同一页后文又写成“9 到 29 MB”。Hugging Face 仓库里的完整 needle3.cact 是 35,335,380 字节,约 35.3 MB。9 月首批生产构建的提交记录里,同名文件的 LFS 大小是 46,393,604 字节。这几个数字可能来自不同版本或不同统计方法,但官方没有把宣传区间、下载文件和运行时内存逐项对上。给内存很小的设备做预算,应当按准备上线的那个版本,实测文件大小、引擎大小和峰值内存。

输出格式有保证,选对工具没有

Needle 3 的用法是:应用把工具名称、描述和参数结构交给模型,模型返回 JSON 调用;没有合适的工具时,返回空列表。解码时有一层字节级语法约束,保证输出一定能解析。它只管格式,不管模型有没有选对工具、参数有没有填对。

模型本身为这类窄任务做了压缩。按 .cact 格式说明,大部分矩阵用 Cactus 的 CQ2 量化存储,平均每个权重 2.125 bit,引擎直接读量化后的字节计算。

另一道防线是置信分数。引擎默认把置信度低于 0.1 的调用放进 suppressed_calls,不直接执行,由应用决定是让用户确认还是拒绝。166 号 issue 里按原顺序出错的三条调用,置信度在 0.11 到 0.18 之间,都高于这条线。官方文档还写明两点限制:置信头只针对基础模型校准,本地微调后的权重会把置信值报成空;非英语请求要谨慎看待这个分数,正确的西班牙语调用曾被打出 0 分。

“超过 DeepSeek”的前提条件

Cactus 说 Needle 3 在手机工具调用上胜过大 10 倍的模型,在抽取任务上追平大 2 到 3 倍的模型;4 层以上的子网在单一任务上微调后,能超过通过云端 API 调用的 DeepSeek V4 Flash。比较用的是 Mobile Actions、DroidCall、BFCL v4 三个工具调用测试集,以及 DSTC8、SNIPS 两个抽取测试集。

测试条件并不一致。Needle 3 跑的是发布的 2 bit 文件,其他开源基线在 vLLM 里以 f16 精度运行,DeepSeek 走云端 API。微调对比里,微调前后都是强制模型输出调用。DroidCall 测试集只有 200 条。

在 DroidCall 上,20 层基础模型得分 47.0,DeepSeek V4 Flash 为 60.5。2 层子网开着置信门控时几乎拒绝所有调用,得分是 0;强制输出调用时是 20.5,在 DroidCall 上微调后升到 56.5。这组数字说明,小子网经过窄任务微调能补回很多能力,但前提是任务和工具都固定。

Cactus 自己的微调指南也给出了大目录的办法:先用完整目录跑一轮,让模型选出工具;再只带这一个工具跑第二轮,让语法约束把输出锁定在这个调用上。这等于用多一次推理来弥补模型在大目录上的不足。

上线前要测的四件事

Needle 3 适合工具集合稳定、参数能直接从用户的话里找到、数据不该离开设备、或者没有网络的场景,比如智能家居控制、通知抽取和设备内搜索。权重用 Apache-2.0 许可,引擎覆盖多个平台,子网可以按设备预算导出,嵌进现有产品的门槛不高。

在固定版本上,团队至少要测四件事:

  1. 目标硬件上的文件大小、峰值内存和首个 token 延迟。
  2. 按真实工具数量、真实排列顺序测精确调用率,并逐步加入名字相近的工具。
  3. 换成产品实际使用的语言、换成微调后的权重,置信分数还能不能用来区分执行、确认和拒绝。
  4. 参数是否确实来自用户输入,选错工具时业务权限能否拦住。

166 号 issue 里的现象,到 3.1.0 版引擎仍能复现。目录从 6 个扩到 25 个就出错,几十上百个相近工具的情况还没有公开数据。

来源

  • Needle 3 release page · Cactus Compute
  • Needle 3 model card · Hugging Face
  • Needle 3 initial production build · Hugging Face
  • Intelligence Ladders: One Set of Weights, Every Depth a Model · Cactus Compute
  • The .cact Format · Cactus Compute
  • Leveraging Needle's Confidence · Cactus Compute
  • Fine-tuning Needle · Cactus Compute
  • Needle 3 selects unrelated tools with a 25-tool synthetic catalog; result changes with order · GitHub

评论

登录后即可参与评论。

加载评论中…

相关文章

  • Cactus 公布的六项评测柱状图:Needle 3 各档子网与 DeepSeek V4 Flash、LFM2.5、Qwen3.5 等基线在 Mobile Actions、DroidCall、BFCL v4、DSTC8 和 SNIPS 上的得分

    Needle 3 一套权重导出 19 档,只做工具调用和抽取

    2026-09-18

  • CADWorld 论文展示同一三棱柱任务的人类参考结果与多种 Agent 输出对比,外观相近的模型仍可能因结构或建模过程错误而失败

    CAD Agent 画得像还不够,CADWorld 把工程文件纳入判分

    2026-09-21

  • Kimi K3 模型发布视觉主图

    Kimi K3 开放模型权重,完整文件约 1.56TB

    2026-07-27

AGI Daily跟踪世界 AI 进展
邮件栏目主题RSS
定制投稿招聘广告
关于MCPTermsContact
蓝黄云层背景上的 WeatherNext 3 标题图

Google 天气模型加入逐小时短期预报,补入卫星观测

2026-09-03

  • SWE-bench 排行榜分辨率审计流程图:从逐题结果与不完整元数据,分析共同成败、模型与 scaffold 组合以及相邻排名能否区分

    SWE-bench 前 30 名挤成两到三档,小数点名次证据不足

    2026-09-15

  • DeepSeek V4 系列模型性能基准对比图,包含 V4-Flash、V4-Pro 与 Opus、GPT、Gemini 等前沿模型的多维度比较

    DeepSeek V4 Flash 社区适配提速,量化与推测解码降低本地部署门槛

    2026-08-04