AI 推理工程 / 性能评测
本地推理容量规划工具
先按总参数与位宽估算名义权重存储,再固定 Ollama 模型 digest、生成参数和结构化任务采集质量、TTFT、总耗时与吞吐,为本地推理建立可复查容量基线。
Reuse contract
复用合同
- 最近核验
- 2026/07/19
- 固定版本
83952b3bae58
输入
- 型号名、十进制名义总参数、可选激活参数与 16/8/4-bit 位宽
- Ollama base URL、模型名称和由 /api/tags 返回的精确模型 digest
- 带结构化验证器的固定任务集,以及预热、轮数和顺序合同
- temperature、seed、num_ctx、num_predict、think 和 JSON format 设置
输出
- 版本化名义权重 JSON:公式、型号输入、理想 GiB 与未覆盖的运行时开销
- 每次请求的原始 JSON 文本、正确性、TTFT、总耗时和 token 统计
- 完成率、任务正确率、TTFT P50/P95、总耗时 P50/P95 与输出吞吐 P50/P95
- CPU、内存、操作系统、模型量化与 capture 时间等环境证据
可执行命令
model-memory-capture采集npm run lab:model-memory -- --format json --out /tmp/younis-ai-lab-model-memory.json- 平台
- macOS 或 Linux;离线 Node.js
- 权威输出
- /tmp/younis-ai-lab-model-memory.json;协议、公式、型号输入、16/8/4-bit GiB 与排除项
- 副作用
- 会修改运行环境
- Node.js >=22.12.0
- POSIX /tmp 可写
local-inference-test测试npm run lab:inference:test- 平台
- macOS、Linux 或 Windows;离线 fixture
- 权威输出
- TAP stdout;流解析、指标、CLI、digest 漂移与冻结工件合同
- 副作用
- 不修改状态
- Node.js >=22.12.0
- 仓库根目录;不需要真实 Ollama
local-inference-benchmark运行npm run lab:inference:benchmark -- --base-url http://127.0.0.1:11434 --model qwen3:8b --expected-digest 500a1f067a9f782620b40bee6f7b0c89e17ae61f686b92c24933e4ca4b2b8b41 --rounds 2- 平台
- macOS 或 Linux;Ollama 本地 HTTP
- 权威输出
- /tmp/younis-ai-lab-qwen3-8b.json;模型/环境身份、14 次运行、正确性与延迟吞吐汇总
- 副作用
- 会修改运行环境
- Ollama 已监听 127.0.0.1:11434
- qwen3:8b 的 /api/tags digest 与合同完全一致
- POSIX /tmp 可写且机器负载可记录
可直接复用
- 在同一机器上比较模型或量化版本前冻结身份、任务和生成参数
- 为结构化抽取、策略判断和简单代码审查建立延迟与正确性基线
- 在容量扩展前增加并发、上下文长度和持续负载矩阵,估算 SLO 余量
明确边界
- 冻结结果只有一台机器、一个 qwen3:8b 量化版本、14 次串行短请求,P95 样本量很小。
- 未测并发、排队、长上下文、内存峰值、能耗、冷启动、持续负载或故障恢复。
- 时间指标受机器负载与缓存影响,新 capture 是新观察,不能要求与历史结果逐字节一致。
固定结果工件
- DeepSeek-R1 与蒸馏型号名义权重估算
nominal-model-memory-estimates- 仓库路径
labs/model-memory-estimator/results/nominal-weight-estimates-v1.json- SHA-256
beadddaf7bf3e118e78ee3b38550912c9f7e91a09fa785797463eda77577950b- 生成/验证命令
model-memory-capture
- Qwen3 8B 单机流式基线
qwen3-8b-streaming-baseline- 仓库路径
labs/local-inference-benchmark/results/2026-07-13-qwen3-8b.json- SHA-256
1f8ba8056d8978adf6f01d100e62805d223afcad92f97fc04d6a543fe03d863f- 生成/验证命令
local-inference-benchmark
为什么需要容量合同
模型下载成功只证明权重能被运行时识别,不证明它能在业务任务上给出正确结构、满足首 token 延迟或承受目标并发。本项目把模型身份、任务质量和流式性能放进同一份报告,避免只展示一张聊天截图或单个 token/s 数字。
项目分为两层。labs/model-memory-estimator/ 先用名义总参数和位宽排除明显不可行的存储路线;它明确把 MoE 激活参数视为计算稀疏度,不拿 37B activated 替代 671B 总权重。冻结 JSON 覆盖 DeepSeek-R1 与六个蒸馏型号,并排除量化元数据、KV Cache、激活、运行时 workspace、通信和冗余。
labs/local-inference-benchmark/ 再直接调用本机 Ollama HTTP API,把“权重能放下”推进到“固定模型能否完成任务并满足流式性能”。评测器先从 /api/tags 读取模型 metadata,再发送预热请求,随后按固定顺序执行两轮七个任务。
输入与验收
任务覆盖事故分级、发票税号抽取、JavaScript 缺陷识别、政策时间查询、写操作审批判断和算术。每个任务要求只输出 JSON,并由独立 JavaScript 函数检查字段和值。事故分级同时保留含糊枚举和受约束枚举两个版本,用于区分模型能力问题与接口合同问题。
生成设置固定为 temperature: 0、seed: 42、num_ctx: 4096、num_predict: 96、think: false 和 JSON format。结果保存模型名称、digest、大小、量化信息,以及每轮每题的原始响应。这样更换模型文件或参数时不会静默沿用旧结论。
冻结观察
2026-07-13 工件记录的 qwen3:8b digest 为 500a1f067a9f782620b40bee6f7b0c89e17ae61f686b92c24933e4ca4b2b8b41,量化为 Q4_K_M。14 次请求全部完成,任务正确率为 0.8571428571;TTFT P50/P95 为 178.995/184.003 ms,总耗时 P50/P95 为 636.774/1869.235 ms,输出吞吐 P50/P95 为 14.98/15.828 token/s。
两次错误都来自“P1 或 P2”这一含糊字段示例;模型按字面输出了不符合验收器的值。把 schema 收紧为 severity 只能取字符串 P1 或 P2,并给出 JSON 示例后,两轮都返回 P1。这说明接口约束本身也是本地部署质量的一部分。
运行
ollama list
npm run lab:inference:test
npm run lab:inference:benchmark
单元测试使用本地 stream fixture,不需要真实 Ollama;benchmark 需要服务已经监听 127.0.0.1:11434 且目标模型已安装。脚本不会自动拉取权重,新结果写入 /tmp/younis-ai-lab-qwen3-8b.json,不覆盖历史工件。
怎样扩展成容量规划
第一步在相同模型和任务上增加并发数、输入长度、输出长度和冷/热启动矩阵,同时记录 RSS、模型内存和排队。第二步为每个工作负载定义质量下限、TTFT/TPOT SLO 与失败率,再计算满足门槛的最大稳定并发。第三步才比较量化、运行时或硬件的单位合格请求成本。
每次扩展都应保存模型 digest、运行时版本、机器规格、任务 revision 和原始逐请求结果。只比较平均 token/s 会掩盖首 token、尾延迟和错误输出,不足以决定生产容量。
当前边界
固定观察不是跨模型排名,也不是生产 serving 压测。14 次串行短请求无法支持可靠的尾延迟、并发或稳定性结论;本项目也未记录电力、人工运维和硬件摊销。当前 reproduced 等级只说明在记录环境中执行过该合同并保存结果。
Research links
关联文章
这些文章分别提供问题背景、设计依据、实验验证或运行证据。
- 发布 2025/01/22
本文实际运行名义权重存储估算器,区分 671B 总参数与 37B 激活参数,并用冻结 JSON 限定 16/8/4-bit 理想估算的适用边界。
- 问题背景发布 2026/06/27
本地大模型部署的取舍记录
本文梳理本地部署在显存、速度、质量和维护上的取舍,本项目把其中速度与任务质量变成固定采集合同。
- 发布 2026/06/29
本文把 Prompt 定义为包含目标、上下文、约束、输出格式和评估标准的接口合同;本项目据此固定 JSON 任务、生成参数与独立验证器,并保留含糊字段与收紧 schema 的对照失败样本。
- 发布 2026/07/13
本文要求按满足质量与 SLA 的成功任务总成本选型,本项目先提供单机延迟、吞吐和正确性基线。
- 发布 2026/07/13
本文公开 qwen3:8b 的 14 次串行流式请求、固定模型身份、逐任务输出和含糊提示失败样本。