大模型都在追求更大,这个14MB的”小东西”偏要反着来

大模型都在追求更大,这个14MB的”小东西”偏要反着来

最近 GitHub 上有个项目特别有意思,叫 Needle(cactus-compute/needle)。14MB,整个二进制文件装进手机里,跑工具调用(Tool Calling)能跟几百兆的模型打平手。

你可能会问:这有什么稀罕的?

稀罕在背后的思路——作者做了一个非常反直觉的决定:整个模型没有 FFN(全连接层)。就是纯 Attention,硬是把参数从几百兆砍到几十兆,精度还不掉。

他们的解释很直接:工具调用本质是「检索+装配」,不是推理。你告诉手机”设个闹钟、给老婆发条消息”,模型需要做的是:匹配工具名、提取参数、组装 JSON。这事儿,Attention 够用了,FFN 反而是”记忆负担”。

实测表现怎么样?

官方给的数据是这样的:

  • Needle 14MB,在单轮工具调用基准上跟 FunctionGemma 270M、 Granite 350M、LFM2.5 230M 打平
  • 手机上跑到 1200 tok/s(解码速度)
  • 体积小 5 到 70 倍,精度是 2-bit,对方是 FP16

而且它是完全离线的,不联网,推理全在本地跑。配合内置的置信度门控,每次调用会带一个 calibrated confidence 分数——低于阈值就自动升级给大模型,失败模式是”升级”而不是”乱执行”。

怎么用?

三步搞定:

  • 用 @needle.tool 装饰器把函数注册成工具
  • docstring 写清楚描述,模型自己读
  • agent.run() 自动选工具、执行、回填结果

还内置了完整的微调流程:合成数据 → LoRA 微调 → 合并导出单个 .cact 文件。Playground 跑在本地 7860 端口,改 prompt 改工具直接测,UI 里点一下”Finetune on these tools”就能一键训练。

适合谁?

想给手机 App、可穿戴设备、智能手表加本地 Agent 能力,但又被模型太大、延迟太高、必须联网这三件事卡住的朋友——这个项目值得翻一下。

端侧 AI 一直是”大模型”的天下,但这波小模型的思路正在打破这个格局。Needle 证明了一件事:不是所有任务都需要”会思考”的模型,专精一件事、做到极致,有时候比全面更重要。

GitHub 链接:https://github.com/cactus-compute/needle


GitHub: https://github.com/cactus-compute/needle

评论区

0 条评论

登录后可评论。

沈星河 550 阅读