手机、手表、机器人同跑一个 14MB 模型:Needle 把 AI Agent 端侧化带到了哪一步?
手机、手表、机器人同跑一个 14MB 模型Needle 把 AI Agent 端侧化带到了哪一步【免费下载链接】needleAutomation foundation model for tiny devices: 2-bit, 8-29 MB, tool calls, ASR, structured extraction and embeddings on phones, wearables, smart homes, robots, cars and microcontrollers.项目地址: https://gitcode.com/GitHub_Trending/needle20/needle当一个 45M 参数的模型被压进 14MB 的单文件二进制再配上一套免反序列化、直接 mmap 的 C 推理引擎AI Agent 就第一次有了手表级的落点。这正是开源项目 Needle 过去几周连续冲上 GitHub 趋势榜的原因它没有去卷参数规模而是把工具调用这一 Agent 最核心的动作压缩到了手机、穿戴设备、智能家居、机器人和微控制器都能本地运行的程度。仓库自述给出的范围是单个 8–29 MB 的二进制覆盖手机、可穿戴、机器人、智能家居、车载与 MCU本文结合仓库源码与社区热度拆解它的硬件版图、内存预算下的能力边界以及从演示到量产还差什么。一个模型多种设备端侧 Agent 的硬件版图Needle 的部署思路不是一个模型适配所有设备而是一个权重文件每种平台一份预编译引擎。在 needle/agent/fetch.py 里PLATFORMS枚举了 17 个部署目标macos-arm64、linux-x86_64、linux-arm64、linux-armv7、linux-riscv64、linux-mipsel、windows-x86_64、windows-arm64、android-arm64、android-armv7、android-riscv64、ios-arm64、ios-sim-arm64、tvos-arm64、watchos-arm64外加wasm与wasm-component两个浏览器目标。这份清单本身就回答了标题的问题手机android/ios、手表watchos、机器人linux-arm64/armv7/riscv64 常见于树莓派类控制器、车载linux-arm64 气隙部署都在射程内。支撑这张版图的是.cact容器的设计。在 needle/model/export.py 的格式说明里权重、分词器与量化码本被封装进一个自包含二进制固定 120 字节头部携带全部架构几何信息随后是无名单张量目录——张量按固定规范顺序排列运行时按位置索引不需要任何名字解析每个张量带 64 字节对齐偏移引擎可直接 mmap 后按偏移读取全程零反序列化。这意味着同一个二进制能加载任意深度的模型变体也意味着跨平台分发的核心是那几行下载逻辑needle build --platform folder会从 Hub 拉取对应平台的引擎 wheel 并把权重放在旁边Linux 下还区分 glibc 与 musl 两套构建连 Alpine 这种冷门环境都有musllinux_1_2的 tag 兜底。真正让一个模型多种设备成立的是训练端的统一架构。Needle 3 在 needle/model/architecture.py 中被定义为 Laddered Simple Attention Network用 Monarch Hadamard MLP 取代 FFNGQA 注意力叠加因果卷积抽头以 gather 方式读取 engram n-gram 记忆并通过多车道超连接组织 20 层网络。关键在于它训练了从 2 层到 20 层的每一个深度——ladder_layer_indices用二分法生成确定性的嵌套子网络每一层深度都是一个可部署的模型。于是手表跑 2 层、手机跑 8 层、机器人跑满 20 层不再需要三套训练流程同一个 checkpoint 切成不同深度即可。README 里那句121M 模型只做 50M 的算术量正是这套设计的卖点大部分参数躺在 engram 记忆表里按需 gather而不是参与每步的矩阵乘。28MB 内存预算下能做什么、不能做什么社区对 Needle 2 的实测数据是稳定占用 28MB 内存45M 参数、14MB.cact文件、W4A8 量化权重 4-bit、激活 8-bit、KV cache 压到 int8。这套数字不是靠单一技巧堆出来的而是内存预算在整个栈上被逐级规划的结果。首先看 KV cache。在 needle/model/architecture.py 里有一个硬约束KV_BUDGET_BYTES 11 * 1024 * 1024 512 * 1024即约 11.5MB 的 KV 预算上限。kv_budget_window根据这个预算反推可用的上下文窗口——对全注意力层按KV_GROUP32对齐截断对滑动窗口模型则把窗口外的注意力全部交给少数global_layers。也就是说上下文长度不是一个自由参数而是给你多少内存模型就算出能跑多长。这解释了为什么 Needle 面对超长对话会主动退化它宁可缩短窗口也绝不让内存越界。其次看量化。导出时权重按行预转置为 [out, in] 布局使 GEMV/GEMM 的归约轴连续量化组沿归约轴切分张量按层优先排列单层的计算工作集在内存中连续进一步降低 cache miss。needle/model/quantize.py 里的 CQCactus Quants采用 Walsh-Hadamard 旋转 Lloyd-Max 码本的组合量化解码时w (codebook[idx] * norm) H一次重建而 1-bit 与 1.58-bit 的码本干脆是解析解不需要额外存储。权重 4-bit、激活 8-bit 的配置在训练时通过fake_quant以 straight-through 方式注入保证量化不是事后补救而是训练时就对齐的。那么 28MB 内存预算下能做什么答案是 Agent 的完整闭环工具调用、结构化抽取、文本 embedding以及语音入口。README 展示了最核心的用法——给函数签名加一个装饰器run()自动完成理解意图 → 填参数 → 执行 → 返回结果import needle needle.tool def get_weather(city: str): Get the current weather for a city. return {city: city, temp_c: 27, sky: clear} agent needle.Needle(tools[get_weather]) print(agent.run(whats it like in Lagos right now?)[results])注意这里不是生成 JSON 文本而是语法约束下的结构化生成从你的 schema 编译出字节级 grammar约束每一个 token因此输出必然可解析——引擎返回的就是一个带function_calls、reasoning、confidence三字段的 JSON 信封。仓库还内置了六个验收环境needle/environments/smart_home.py、kitchen_appliance.py、wearable.py 等每个环境都带冻结的测试集包含缺失参数必须拒绝越界数值必须拒绝否定请求不得执行多任务并行调用等关键用例——这正是工具调用模型区别于聊天模型的地方。不能做什么同样清晰。README 明说它用通用聊天能力换取在手机工具调用上击败 10 倍规模模型、在抽取上追平 2–3 倍规模模型。社区对 Needle 2 的源码走读还指出三个不可变更部分置信度头未参与 LoRA 训练微调后其校准失效必须报confidenceNoneSentencePiece 分词器硬编码在.cact归档内不可替换非英语 token 数会膨胀约 1.7 倍.cact权重与 C 引擎版本强绑定。此外needle/init.py 的 grounding 校验揭示了另一层不做_annotate_ungrounded会扫描输出中的数字与日期参数凡是用户输入里没有出现过的数值——比如模型自己编造的150%亮度——都会被标记为 ungrounded 并在严格模式下拒绝执行_source_years则负责从自然语言中提取年份防止模型把date:参数填成幻觉日期。加上run()循环里max_steps对多轮工具调用的上限控制这套模型在不该动的时候表现得比大模型更克制而这恰恰是设备端 Agent 最需要的行为契约。从演示到量产端侧 AI Agent 还有多远先看社区热度与产出的差距。公开资料显示 Needle 2 已覆盖的工程实践包括Android/Linux 端的 ONNX/TFLite 转换与 Runtime Mobile 集成、气隙无网络设备的三类引擎落盘方式、异步推理与功耗控制、--platform-tag跨平台拉取。仓库里这些能力大多有对应实现needle fetch --platform-tag支持为另一台设备拉取构建needle/_worker.py 用子进程协议隔离微调模型的推理避免污染主进程needle/_telemetry.py 提供NEEDLE_TELEMETRY0与DO_NOT_TRACK1的隐私开关needle/playground/server.py 则把整个推理器搬进浏览器——wasm与wasm-component平台让端侧部署甚至不需要安装任何东西。从能跑到能量产微调链路是关键一环仓库给了两条路径。本地路径needle finetune只训练注意力五张投影矩阵q_proj、k_proj、v_proj、gate_proj、out_proj见 needle/model/finetune.py 的LORA_TARGETS的 LoRA 适配器基座冻结、导出时合并置信度头保持不动平台路径needle platform finetune则做全模型训练覆盖从 2 层起的每个深度并用原始数据集加固防遗忘。README 给出的证据是在 DroidCall 上微调后每个子网络提升 18–36 个点从 4 层起微调子网即可超过 DeepSeek V4 Flash而起点只有 29M 参数。这意味着手表级模型不是做不出来的妥协品而是经过微调后可以逼近桌面级模型工具调用能力的专用件。部署侧needle build --platform linux-arm64 --layers 8 --out ./pi一条命令就能为树莓派生成引擎 8 层权重的完整目录同一引擎还能加载 Whistle——一个 16.9MB 的语音转写模型与 Needle 共用.cact容器、量化方案和 C 引擎单次调用即可完成音频进、工具调用出音频全程不出设备。加上 README 中每种部署目标都附带预编译引擎启动时加载needle3.cact的描述这套权重一份、引擎按平台分发的模型已经在形态上非常接近量产 SDK。距离真正的量产剩下的更多是工程与生态问题而非架构问题。分词器不可替换限制了非英语场景needle.Needle(tools[...], generation2)的兼容层说明新旧引擎要长期并行维护DO_NOT_TRACK环境变量则提醒出海设备还要过隐私合规这一关。但方向上Needle 给出的答案是明确的端侧 Agent 不必等待更强的芯片它只需要把模型缩小到内存预算能装下、语法约束能兜住、行为契约能验证的程度。当 14MB 的模型能在一台手表上完成听懂语音 → 识别意图 → 精确填参 → 拒绝幻觉的完整循环时端侧 AI Agent 的竞争就不再是参数的军备竞赛而是谁先把足够小和足够可靠同时做出来。【免费下载链接】needleAutomation foundation model for tiny devices: 2-bit, 8-29 MB, tool calls, ASR, structured extraction and embeddings on phones, wearables, smart homes, robots, cars and microcontrollers.项目地址: https://gitcode.com/GitHub_Trending/needle20/needle创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Spring Boot应用上下文初始化器:启动早期钩子实战

Spring Boot应用上下文初始化器:启动早期钩子实战

最近排查一个Spring Boot应用启动慢和配置加载异常的案例时,我顺手把容器初始化那一段源码完整读了一遍,发现真正用过ApplicationContextInitializer这个扩展点的人其实不多。它藏得比较深,但作用非常大。它本身是Spring Framework时代就有的…

2026/10/10 20:46:30 阅读更多 →
Java3实战:基于Java 3D构建可交互三维场景完整指南

Java3实战:基于Java 3D构建可交互三维场景完整指南

看到java3这个关键词,我的第一反应是Java 3D。Java语言从1.0一路走到现在,版本号里从来没有出现过“Java 3”这种东西,所以java3更像是Java 3D的简写。这篇文章我打算用Java 3D这套老牌3D图形解决方案,做一个小型可交互的3D场景De…

2026/10/10 20:46:30 阅读更多 →
沙箱安全钩子一键放行:vphone-cli 的 MACF ops 表补丁手术全解剖

沙箱安全钩子一键放行:vphone-cli 的 MACF ops 表补丁手术全解剖

沙箱安全钩子一键放行:vphone-cli 的 MACF ops 表补丁手术全解剖 【免费下载链接】vphone-cli 项目地址: https://gitcode.com/GitHub_Trending/vp/vphone-cli 在 Apple Silicon Mac 上跑一台真实 iOS 虚拟机,vphone-cli 依赖两套引擎&#xff1…

2026/10/10 20:46:30 阅读更多 →

最新新闻

用电量数据分享实战:从数据清洗到时序分析

用电量数据分享实战:从数据清洗到时序分析

简介:这份资源面向制造行业数据分析与时间序列预测的学习者,围绕用电量数据展开,重点演示如何用LSTM循环神经网络对电力消耗模式进行建模与预测。包内共106个文件,以59个csv数据与预测结果文件、24张jpg图表、7个py源码脚本为主&a…

2026/10/10 21:25:11 阅读更多 →
Python实现VRPTW遗传算法:物流调度实战指南

Python实现VRPTW遗传算法:物流调度实战指南

简介:本资源是一个面向物流优化与智能算法学习者的Python实践项目,聚焦带时间窗的车辆路径问题(VRPTW)求解,适合具备基础Python编程能力及运筹学背景的高校学生、算法工程师与科研初学者。项目采用遗传算法实现全局搜索…

2026/10/10 21:25:11 阅读更多 →
S7-1200编程实战:配料站与输送线自动化控制解析

S7-1200编程实战:配料站与输送线自动化控制解析

最近翻项目存档,把去年给建材厂做的两个S7-1200程序调出来看了一遍,感触还挺多。当时赶工期的时候觉得都是常规活儿,现在回头看,很多处理方式其实挺有代表性。正好有同行问我有没有适合参考的车间自动化程序案例,我就把…

2026/10/10 21:24:11 阅读更多 →
WebUploader切片机制:实现视频大文件秒传与稳定上传

WebUploader切片机制:实现视频大文件秒传与稳定上传

做企业内网视频库、媒体素材管理或者课程录播归档的时候,大家几乎都会撞上同一个痛点:视频文件动辄几个GB,直接用浏览器表单上传,传到一半网络闪断就得从头再来;同一个宣传片被同事反复导入,每次都要干等几…

2026/10/10 21:24:11 阅读更多 →
基于ESP32的智能家居温控系统设计与实现

基于ESP32的智能家居温控系统设计与实现

抱歉,这个项目标题涉及政治人物与经济政策的公开致辞解读,属于我无法安全处理的范围。我可以围绕技术、生活、职场、手工、创意等其他领域的项目标题来写深度拆解型博文,比如“基于ESP32的智能家居温控系统”“老式木桌翻新实录”这类方向。你…

2026/10/10 21:24:10 阅读更多 →
AnyPS5技术解析:跨平台串流与远程控制的架构设计与实现

AnyPS5技术解析:跨平台串流与远程控制的架构设计与实现

1. 从“AnyPS5”这个名字说起:它到底想解决什么问题第一次看到“AnyPS5”这个标题,我脑子里蹦出来的第一个念头是:这大概率又是一个围绕主机生态做“泛化能力”的项目。为什么这么说?因为“Any”这个前缀在技术圈里几乎已经成了一…

2026/10/10 21:24:10 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →