Needle 2: 14MB微型设备智能体LLM
Show HN: Cactus Needle 3: 8-29MB automation models can match DeepSeek V4 Flash
今天发布Needle 2,一款专为微型设备打造的4500万参数智能体LLM。整个模型仅14MB二进制文件,运行会话仅需28MB内存,可在Raspberry Pi 5、Meta Quest 3S甚至ESP32-S3等低成本硬件上流畅运行。基于Simple Attention Network架构与CQ2-bit压缩技术,它在工具调用和设备控制任务上表现卓越,解码速度高达500 tokens/sec。无需GPU或NPU,即可为可穿戴设备、智能家居和机器人提供实时、私密的本地AI能力。
我们押注的是将On-Device AI带到200美元以下的设备:边缘计算不应只属于Mac和PC,而应覆盖那210亿台廉价的IoT设备。
HN 评论区
91- IanCal
好奇如果用这些指令会不会把卫生间的灯打开:
"I need a wee"(我想尿尿)-> 试图播放音乐,因为 "wee" 被当成了音乐流派
"I need a wee wee"(我想尿尿尿)-> 开始在卫生间启动吸尘器
"I'm going to the toilet"(我要去厕所)-> 说它会打开马桶,我不太确定这具体意味着什么。
"I'm going to the toilet and can't see"(我要去厕所但看不见)-> 推理出卫生间应该开灯,然后又选择打开马桶。
"I'm going to the toilet and can't see where I'm going"(我要去厕所但不知道往哪走)-> 推理结果是 "'going to the toilet' -> control_device with device 'coffee maker' (toilet implies coffee maker)"(去厕所 -> 控制设备,设备为'咖啡机'(厕所暗示咖啡机))
"I'm going to the toilet and can't see where I'm going because it is too dark"(我要去厕所但看不见往哪走因为太黑了)-> "'dark' -> direction 'dark'; adjust_lights with brightness 100 for darker light"('dark' -> 方向 'dark';调整灯光亮度为 100 以获得更暗的光)",并选择将客厅灯光调至 "dark",结果失败了。
到了这一步,吸尘器在黑暗的卫生间里,客厅灯光 100% 亮度,还在播放 "wee"。至少还有咖啡喝。
- gs17
"turn all the lights on/off"(打开/关闭所有灯)和 "it's too dark in the bathroom"(卫生间太暗了)对我来说是有效的,但任何不那么直接的指令都不行。"it's too cold"(太冷了)实际上让它把恒温器调低了("it's cold"(冷了)让它……把灯光调低了?)!虽然这些错误回复的置信度相当低,所以也许值得给演示版加个阈值。
或者它只是对恒温器有个奇怪的向下偏差?"make it hot"(让它变热)也让它把温度调低了(具体是从 20 降到 18,或者至少是试图这么做,UI 上仍然显示 20),而且置信度很高。可能还有点摄氏度和华氏度的混淆。概念很酷,但我目前可能不想让它控制烤箱。
笔记本电脑演示效果不错,直到我试图打开邮件应用。"Check mail"(检查邮件)一直打开浏览器并报错,"check email"(检查电子邮件)会创建一个文本为 "email" 的便签,"open email"(打开电子邮件)会在我的真实浏览器中跳转到 "https://api.email.com/v1/email",但 "open mail"(打开邮件)倒是能正常工作。
而且我推测 "reasoning"(推理)部分不太可靠?在车里我得到了 "'turn it up' means lower volume -> set_volume with lower value."('turn it up' 意思是降低音量 -> 用更低的值设置音量)。对于房子,推理会正确地说我想关闭警报,但它实际上并没有这么做。
- raybb
我有个关于这个应用的想法,想知道你觉得是否合理,或者对这种方法有什么看法。
我是 OpenStreetMap 的忠实粉丝,喜欢在电脑上编辑它。但在手机上,要确保电话号码输入完全正确并反复核对,或者从 Upredor 提供的大量字段列表中找到并选择正确的字段,我觉得相当繁琐。
通常的工作流程是:我看到一家餐厅,有个招牌。我知道上面写着:"只收现金。这是电话号码。这是营业时间。" 如果我能直接对着手机说话,说 "嘿,这是关于这家店的信息",那将非常酷。它会自动利用你的位置检测附近的地点,甚至可能检测出你正在谈论哪家店,然后告诉你:"好的,这是我推测你想做的修改,或者你陈述的这些内容会生成差异。" 这将仅限于某些预定义值集中最常见的 20 个左右的关键字段。比如 cuisine=x 应该只匹配最常见的值,而不是凭空捏造新的。
当然,大型语言模型也能做到这一点,但如果在设备上运行,体验会更好,成本也更低。
- hirako2000
我的想法是,越来越多的可疑声明声称微型模型能击败 LLM,这会让任何有用的创新都被忽视。
比资源需求更重要的是,要突出说明该模型根本无法尝试去做那些通用 LLM 能做得相当不错的事情。
换句话说,请清楚地告诉我它的反用例(anti use case),这样我就不必自己去发现了。
- Scaevolus
这比 Needle 2 有了显著的改进,我曾尝试用它作为 Runescape 数据库站点的工具调用接口。不幸的是,与 FunctionGemma 相比,它对于我的目标来说仍然能力不足。
Model Correct tool shape Exact arguments
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━
FunctionGemma fine-tune, BF16 209/230 (90.9%) 196/230 (85.2%)
─────────────────────────────── ──────────────────── ─────────────────
Needle 3 fine-tuned W4A8 74/230 (32.2%) 47/230 (20.4%)
─────────────────────────────── ──────────────────── ─────────────────
Needle 2 fine-tuned W4 59/230 (25.7%) 43/230 (18.7%)