定位性能根因墙,验证干预效果并自动回退
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xiciyang/inference-tuning该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
- 读取本地文件src/serving-client.mjs:41
if (existsSync(serverPath)) return { serverPath, root: c.path, from: c.from, tried } - 执行外部命令来自配置/变量src/serving-client.mjs:68
this.child = spawn(process.execPath, [resolveServerEntry(this.serverPath)], { - 执行外部命令来自配置/变量src/sandbox.mjs:22
execFile(cmd, args, { timeout: timeoutMs, maxBuffer: 4 * 1024 * 1024, env: runtime?.env ?? process.env }, - 发起网络请求src/notify.mjs:54
const r = await fetch(cfg.webhookUrl, { - 读取本地文件src/testing/parity.mjs:89
raw = readFileSync(path, 'utf8') - 读取本地文件src/testing/parity.mjs:117
const j = JSON.parse(readFileSync(p, 'utf8')) - 发起网络请求src/testing/parity.mjs:140
const r = await fetch(`${endpointUrl}/v1/completions`, { - 读取本地文件src/util/fsx.mjs:95
const stream = createReadStream(path, { highWaterMark: 4 * 1024 * 1024 }) - 读取本地文件src/config/run-spec.mjs:79
tsDigest = `sha256:${createHash('sha256').update(readFileSync(tsPath)).digest('hex')}` - 发起网络请求src/testing/perf.mjs:133
const r = await fetch(`${endpointUrl}/v1/models`, { headers }) - 执行外部命令来自配置/变量src/executors/docker.mjs:28
const child = execFile(cmd, args, opts,
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
找到根因之墙,施加最有效的干预,用双向门验证——否则回滚。不绑定引擎与硬件:没有隐式默认值,规格表数值从不承重。
README
由 DeepSeek 最新模型翻译生成@xiciyang/inference-tuning
给模型 + 性能目标 + 精度容忍,找到根因墙、匹配 TOP1 干预、双闭环验证 ——通过则输出可复用的优化配置,失败则自动回退。
模型 + 性能目标 + 精度容忍 → 源模型结构预检(是完整模型吗) → 经 inference-serving 起基线端点 → 稳态等待 → 基线测量(性能 + 精度) → 根因墙诊断(不是搜参数) → 每轮:预注册 → 提案候选配置 → 起候选端点 → 双闭环测量 → 测量成立性(性能四闸 + 精度三闸)→ 门禁判定 → 接受(固化)/ 回退(丢弃候选并验证原端点仍健康) → 干预无效 → 五因反思(不直接换参数) → 不停机判据(达标与预算耗尽都不构成停止理由) → 收尾:拆解全部自有端点(验证无残留)+ 注册表 + 报告 + 审计哈希链
设计要点
- 零运行时依赖(只用 Node 内建模块)
- 根因墙驱动,不是盲搜参数空间:docs/step0/MIGRATION_PLAN.md §三
- 分子与分母必须来自本机实测:带宽用实测微基准;「每 token 访存字节」由模型文件实际字节数得出;任何 spec-sheet / theoretical-peak provenance 会被硬拒绝
- 每堵墙都能自我否证:反推量 > 实测可达 ⇒ 判分母口径有误,而不是「硬件到顶」
展开完整文档(README 剩余 1 节)
@xiciyang/inference-tuning
给模型 + 性能目标 + 精度容忍,找到根因墙、匹配 TOP1 干预、双闭环验证 ——通过则输出可复用的优化配置,失败则自动回退。
模型 + 性能目标 + 精度容忍 → 源模型结构预检(是完整模型吗) → 经 inference-serving 起基线端点 → 稳态等待 → 基线测量(性能 + 精度) → 根因墙诊断(不是搜参数) → 每轮:预注册 → 提案候选配置 → 起候选端点 → 双闭环测量 → 测量成立性(性能四闸 + 精度三闸)→ 门禁判定 → 接受(固化)/ 回退(丢弃候选并验证原端点仍健康) → 干预无效 → 五因反思(不直接换参数) → 不停机判据(达标与预算耗尽都不构成停止理由) → 收尾:拆解全部自有端点(验证无残留)+ 注册表 + 报告 + 审计哈希链
设计要点
- 零运行时依赖(只用 Node 内建模块)
- 根因墙驱动,不是盲搜参数空间:docs/step0/MIGRATION_PLAN.md §三
- 分子与分母必须来自本机实测:带宽用实测微基准;「每 token 访存字节」由模型文件实际字节数得出;任何 spec-sheet / theoretical-peak provenance 会被硬拒绝
- 每堵墙都能自我否证:反推量 > 实测可达 ⇒ 判分母口径有误,而不是「硬件到顶」
- 单流天花板带证据链:从实测带宽到上限的每一步都标来源,可被独立复核;必须带实现域限定条件才算「上限」
- 内存分解不拿系数凑:KV/状态缓存按公式算,缺项一律 null + 缺什么;每个扩容杠杆给出具体释放多少字节
- 主张门禁:报告里每条承重陈述都要带出处等级(实测/推导/推断/假设),规格书峰值是禁用项,把推断写成结论口吻会被升格检测拦下
- 预注册与判定:干预执行之前登记假设与否证条件,执行后只判 confirmed / falsified / inconclusive;事后补写的「预注册」会被时序检查抓出来
- 仪器自洽:声称的最小效应若小于测量噪声,该仪器原理上看不见它 ——这属于「测量不成立」,不是「没有效应」
- 门禁独立:阈值必须由调用方传入或写进 gates.yaml,两者都无则拒绝执行
- 测量成立性双重门禁:性能四闸(聚合口径 / 稳态 / 时滞 / 统计出处)+ 精度三闸(均匀输出 / 无区分力 / 与输入无关)
- 端点生命周期交给 serving:本包一行 docker 生命周期命令都不发,只经 MCP 请求 serving
- 只动自己的端点:存量端点一律只读;回退 = 丢弃候选 + 验证原端点仍健康
- 回滚失败是独立风险档:写 MUST_NOTIFY.json + 审计 + stderr + 可选 webhook
安装
git clone https://github.com/xiciyang/inference-tuning.git
cd inference-tuning && npm pack
dsh plugin --profile <name> add ./xiciyang-inference-tuning-0.1.0.tgz
尚未发布到 npm(npm install -g 暂不可用);用上面的源码打包路径安装。
作为 DSH 插件:dsh plugin --profile web add <tgz>,重启后生效。
依赖:inference-serving(端点生命周期,通过 MCP)。定位顺序: options.servingPath → ~/.ai-infra/config/serving-path.txt → 同级目录 ../inference-serving → node_modules/。
命名空间:工具一律 inference_tuning_,路由 /__inference_tuning/health。
dsh-tuning-engine(tuner_ / /__tuner/)当前仍可能挂着,两者可共存不冲突。
快速上手
inference-tuning health --json # 沙箱三级实测 / serving 可达性 / 审计链 / 必叫事件 inference-tuning analyze --json # 【只读】墙诊断(零风险,不跑实验) inference-tuning capabilities # 能力清单与"明确不做"的事 inference-tuning contract # 精度回归契约声明
inference-tuning tune /path/to/models/<model> \
--max-accuracy-drop-pct 5 --min-perf-gain-pct 20 \
--test-set ~/.ai-infra/state/datasets/.../test.jsonl \
--params '{"concurrency_capacity":32}'
inference-tuning list --json # 调优注册表(五要素完整性) inference-tuning report <runId> --json # 完整报告(含墙诊断/每轮证据/反思) inference-tuning audit-verify --json # 复算审计哈希链
MCP 工具(7 个)
| 工具 | 档 | 说明 |
| inference_tuning_analyze | R0 | 只读墙诊断 |
| inference_tuning_tune | R2 | 主闭环 |
| inference_tuning_validate | R2 | 对一组已有配置做闭环测量 |
| inference_tuning_rollback | R2 | 回退到上一个已接受配置 |
| inference_tuning_get_report | R0 | 读报告 |
| inference_tuning_list | R0 | 列注册表 |
| inference_tuning_health | R0 | 健康检查 |
精度回归契约
精度回归由两份独立实现互相校验(本包 endpoint-logprobs、quantization container-forward),契约放在 docs/parity-contract.md(单一事实来源),由 tests/contract/parity-consistency.test.mjs 做三方一致性断言(契约文件 ⇄ 本包 ⇄ 兄弟包)。不一致 → 测试红 → 不允许发布。
配置
| 输入 | 说明 |
| --engine <id> / options.engineId | 必填(无默认)。本包不内置任何引擎的默认值;新引擎通过 PARAM_CATALOG 的 flags.<engine> 扩展 |
| --engine-image | 引擎镜像(固定到 digest 才算可重放) |
| --max-accuracy-drop-pct / --min-perf-gain-pct | 门禁阈值;必须显式给,或写进 gates.yaml,两者都无则拒绝执行 |
| --params | 语义参数(不是引擎 flag);映射成命令行时才使用所选引擎的 flag 表 |
| --test-set | 精度对比用的固定评测集 |
| params.servingPath / ~/.ai-infra/config/serving-path.txt | 定位 inference-serving(端点生命周期全部经 MCP,本包不发 docker 命令) |
兼容与解耦
- Node ≥ 20,Linux/macOS,零运行时依赖(只用 Node 内建模块)。
- 不绑定引擎:未指定引擎时 buildLaunchArgs 抛 E_ENGINE_NOT_SPECIFIED,绝不回落到某个厂商的 flag 表;未登记的引擎 → 参数全部跳过并记账(skipped 带原因),不会借用别的引擎的 flag。
- 不绑定硬件:静态规格表只用于提示该测什么,usable: false 时禁止进入任何天花板分母;未登记的硬件 → 无规格、无提示,只能靠本机微基准产出实测值。统一内存与独立显存分开建模。
- 不绑定 serving 实现:只经 MCP 契约调用,路径可配置。
- 已在 DSH 0.2.0-rc.2 上验证;npm test 为本包自有套件(250 项),跨仓契约套件单独跑:npm run test:contract(需要 inference-contracts 与兄弟包)。
许可
BSD-3-Clause。见 LICENSE。
明确不做
量化(找 inference-quantization)、通用部署(找 inference-serving)、改变主模型既有量化格式(硬排除)、算子级改动(本轮不纳入)、现场模式、Wiki、训练/QAT、推理编排。详见 inference-tuning capabilities。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
xiciyang/inference-tuning
定位性能根因墙,验证干预效果并自动回退
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9