大模型都在追求更大,这个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
评论区
登录后可评论。