Needle 2 三大性能指标解读:如何看懂 prefill_tps、decode_tps 与 peak_ram_mb
2026/9/16 18:05:10 网站建设 项目流程

Needle 2 三大性能指标解读:如何看懂 prefill_tps、decode_tps 与 peak_ram_mb

【免费下载链接】needle14MB foundation model for tiny devices; phones, wearables, smart home, and robots.项目地址: https://gitcode.com/GitHub_Trending/needle20/needle

Needle 2 是一款运行在手机、可穿戴设备等小设备上的 14MB 开源工具调用基础模型。它的每次响应都会附带prefill_tpsdecode_tpspeak_ram_mb三个性能指标,本文带你快速看懂这三组数字分别意味着什么、如何用来评估端侧推理的真实表现。

在哪里看到这三个性能指标

调用agent.complete()agent.run()时,返回的 JSON 里除了工具调用结果,还自带一组"体检数据":

{ "type": "call", "confidence": 0.94, "prefill_tps": 4300.0, "decode_tps": 850.0, "peak_ram_mb": 28.5 }

完整字段说明见 doc/apis.md,字段定义在 llms.txt 中也有收录。三个指标分别对应"读题速度""答题速度"和"内存上限",下面逐一拆解。

prefill_tps:模型"读题"的速度

Prefill(预填充)指模型一次性处理全部输入的阶段——包括你声明的工具 schema、系统事实和用户查询。prefill_tps就是这个阶段每秒能消化的 token 数,示例值 4300 表示每秒可处理约 4300 个 token。

怎么读这个数:

  • 数值越高,等待首字节的时间越短。输入越长(工具越多、对话上下文越大),这个指标越重要。
  • 声明了大工具目录时,内置的检索头只会渲染前 5 个最相关的工具进入上下文,从而压住 prefill 的输入规模,这也是 doc/apis.md 中 Tool retrieval 一节的设计目的。

decode_tps:模型"答题"的速度

Decode(解码)是逐 token 生成输出的阶段,decode_tps即每秒生成的 token 数(示例值 850)。由于每个 token 都要过一次完整的前向计算,它天然比 prefill 慢一个量级,这正是两个指标都存在的意义——它们衡量的是两种不同的瓶颈。

怎么读这个数:

  • 直接决定用户感知的"打字速度"。一条几十 token 的工具调用,850 tok/s 意味着毫秒级完成。
  • Needle 2 的输出由字节级语法严格约束(JSON 永不畸形),decode 阶段还要同步做置信度评分,因此对比不同设备时,decode_tps是最直观的"算力体温计"。

在 Playground 界面里,每轮对话下方会直接显示decode_tps(如 "850 tok/s"),渲染逻辑见 needle/playground/app.js,是最方便的实测入口:

needle playground

peak_ram_mb:内存占用上限

peak_ram_mb是本次会话的峰值内存(MB),示例值 28.5。对端侧部署来说,这是三个指标里最"硬"的一个:它不随硬件提升,而是随模型架构变化。

为什么它能长期稳定在 28MB 左右?关键在于有界内存设计:256 token 的滑动窗口加上把工具固定为 KV sink 的机制,让内存占用不随对话长度增长。模型本身是 Simple Attention Network 架构,整体压缩为 CQ2-bit 权重并烘焙进 14MB 引擎,结构示意如下:

怎么读这个数:

  • 它是设备准入的硬门槛。28MB 意味着几乎所有手机、穿戴设备都能跑完整会话,无需交换或压缩内存。
  • 对比微调模型时重点看它。LoRA 微调产物仍是单个.cact文件,跑在同一引擎上(见 doc/finetuning.md),如果peak_ram_mb明显偏离基线,通常意味着加载了异常权重的归档,需要重建。

Needle 2 在"尺寸—质量"前沿曲线上的位置,可以在官方图里对照其他小模型查看:

实战:用三个指标做设备间横评

把同一批查询跑在不同设备上(手机、树莓派、桌面 CPU),记录响应 JSON 里的三个字段,就能得到一张简单的横评表:

指标高数值代表低数值排查方向
prefill_tps读题快、首字延迟低输入过长、工具目录过大
decode_tps生成快、交互流畅设备算力不足、CQ2 引擎未生效
peak_ram_mb偏离 ~28MB 需检查权重归档

两个实用建议:

  1. 关注比值而非绝对值:不同设备时钟频率差异巨大,同一设备多次运行的方差比跨设备差异更有参考意义。
  2. 结合 confidence 一起看:指标只说明"多快、多省",调用是否正确还要配合confidence阈值门控做决策,二者共同构成端侧推理的完整质量画像。

延伸阅读

  • 完整 API 与响应字段:doc/apis.md
  • 微调流程与内存/速度实测数据:doc/finetuning.md
  • 架构与 Quickstart 说明:README.md
  • Playground 前端渲染逻辑:needle/playground/app.js
  • 推理测试用例:tests/test_inference.py

【免费下载链接】needle14MB foundation model for tiny devices; phones, wearables, smart home, and robots.项目地址: https://gitcode.com/GitHub_Trending/needle20/needle

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询