cactus-compute/needle
一个14MB的AI模型,让手机和可穿戴设备无需联网就能调用工具
Needle 2 是 Cactus Compute 打造的4500万参数模型,专门用于工具调用和从文本中提取结构化数据。整个模型压缩进单个14MB的二进制文件,运行一次会话只需约28MB内存。它被量化到2比特精度,并配有自己的轻量推理引擎,能在完全离线的小型设备上运行。
它做什么
- 做了什么:一个专注于工具调用、设备端运行和结构化提取(把文本转成JSON)的开源小型语言模型,面向手机、可穿戴设备、智能家居和机器人。
- 怎么做的:基于团队自研的'Simple Attention Network'架构(相关论文有详细说明),用团队自己的量化方法Cactus Quants压缩到2比特精度,打包进一个不依赖网络的自包含推理引擎。
- 结果:在论文提供的基准测试中,Needle 2 与 FunctionGemma 270M、LFM2.5 230M 和 Apple FM 等其他小模型互有胜负,但体积小5到70倍,精度只有2比特,而对比模型是16比特(f16)。
- 额外功能:每次回答都附带一个置信度分数,方便应用在分数低时转交给人工处理;内置的检索机制能从大量工具列表中每轮只挑出最相关的5个;256个token的滑动窗口机制让内存占用保持稳定,不会随对话变长而增长。
- 使用方式:通过pip安装后,给Python函数加个装饰器就能注册为工具,再调用agent.run()即可;开发者还可以用LoRA(只训练一个轻量附加模块而不重新训练整个基础模型的方法)在自己的数据上微调,并导出成新的紧凑模型文件。
为什么重要
在设备本地运行AI而不是依赖云端,意味着可以离线工作、保护数据隐私、还能省去服务器成本,这对经常无法联网的可穿戴设备、智能家居产品和机器人尤为重要。这个项目展示了一套把具备结构化输出能力的模型压缩到极小体积、适配受限硬件的可行方案。
本仓库术语
- LoRA · 一种轻量级微调方法,只训练附加在冻结基础模型上的小模块,而不是重新训练整个模型
- 量化/2比特(CQ2) · 把模型数值用更少的比特表示,从而缩小文件体积,但会牺牲一定精度
- 语法约束解码 · 强制模型逐个token生成时必须符合预先设定的JSON结构,避免输出无效数据
- KV锚点/滑动窗口 · 只在内存中保留固定量的对话记录,而不是让其无限增长的技术
- GQA(分组查询注意力) · 一种能降低内存占用的高效注意力机制变体,用于transformer模型
仓库简介(英文)
14MB foundation model for tiny devices; phones, wearables, smart home, and robots.
在 GitHub 打开热门仓库
- cathrynlavery/diagram-design让AI编程工具画出杂志排版质感图表,而不是千篇一律的圆角方框
- public-apis/public-apis一份由社区维护的免费API大全仓库
- semantica-agi/semantica一个让AI智能体的决策可追溯、可审计的开源图谱基础设施
- unslothai/unsloth一款让你在自己电脑上运行和训练AI模型的桌面应用,无需写代码
- macro-inc/macro把邮件、聊天、文档、任务和CRM互相链接、共享同一份AI团队记忆的一体化办公平台
- harry0703/MoneyPrinterTurbo只需一个主题或关键词,就能自动生成配好文案、素材、字幕和音乐的完整短视频的开源工具
- basecamp/omarchyDHH打造的、开箱即用且风格统一的Linux发行版
- mattpocock/skills一套可复用的提示词剧本,防止Claude Code等AI编程代理跑偏