Skip to content
Back to skills

Quantization Accuracy Tuning Orchestrator

BSecurity

End-to-end automated model quantization and accuracy tuning workflow. Use when user asks for automated model quantization and accuracy tuning, e.g. "自动量化", "量化调优", "一键量化", "精度调优", etc. 当用户给出多卡(≥2 卡)卡号时,量化阶段通过 EP 并行适配(msmodelslim-ep-parallel-adaptation)保证多卡 EP 并行,调优主流程仍在本 Skill。

  • 32 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 23, 2026
toolsbashgitapi

Works with

  • cli
  • api

Security analysis

B85/100
  • highPerforms destructive filesystem operations

Pro scans all 15 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add kali20gakki/msAgent --skill quantization-accuracy-tuning-orchestrator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Quantization Accuracy Tuning Orchestrator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Quantization Accuracy Tuning Orchestrator
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/kali20gakki-quantization-accuracy-tuning-orchestrator/badge)](https://www.skillsdirectory.com/skills/kali20gakki-quantization-accuracy-tuning-orchestrator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: quantization-accuracy-tuning-orchestrator
description: End-to-end automated model quantization and accuracy tuning workflow. Use when user asks for automated model quantization and accuracy tuning, e.g. "自动量化", "量化调优", "一键量化", "精度调优", etc. 当用户给出多卡(≥2 卡)卡号时,量化阶段通过 EP 并行适配(msmodelslim-ep-parallel-adaptation)保证多卡 EP 并行,调优主流程仍在本 Skill。
license: Apache-2.0
metadata:
  version: 0.9.6
  domain: quantization
  framework: msmodelslim
  protocol: mixed
  skill_class: workflow
  aliases:
    - quant_tune
    - quant-tune
    - auto-precision-tuning-expert
    - precision-tuning
    - quantization-tuning
  trigger_intents:
    - 帮我精度调优
    - 帮我量化调优
    - 自动调优量化精度
    - 量化后精度下降怎么办
  keywords:
    - msmodelslim
    - quantization tuning
    - 量化
    - 精度调优
    - 自动调优
    - 最佳实践
    - msmodelslim quant
    - msmodelslim analyze
    - vllm
    - aisbench
    - 精简模式
---

# Skill: 全自动模型调优工作流

## 端到端自动量化与调优功能

端到端自动量化与调优包括**环境准备**、**模型准备**、**量化配置调优**和**结果输出**环节,适用于需要精确控制量化后模型精度的用户,通过自动化的量化配置搜索和评估流程,帮助用户找到满足精度要求的量化方案。本功能支持根据用户指定的精度需求,自动尝试不同的量化配置,并通过评估服务验证量化后的模型精度,最终输出满足需求的量化模型。

关于相关业务的背景知识,如什么是modelslim、什么是量化精度调优等,可以参考[量化自动调优背景知识](references/background_information.md)。

- 支持:
  - Decoder-only LLM 的自动量化与调优
  - VLM 文本主干的自动量化与调优(仅 LLM/文本路径)
  - DiT 扩散模型 的量化(W8A8 动态 data-free;精度调优通过经验库 L2 §7 的 `apply_rollback.py` 整层回退策略扩展 exclude 列表,闭环由本 Skill 调度)
- 不支持:
  - 既非 transformers 也非模型目录内 `modeling_*.py` 的实现
  - DiT 场景下未提供推理仓路径的实现

## 本Skill适用范围

**适用场景**:

- 用户希望通过一键式流程完成模型的量化适配和调优。
- 用户希望对模型进行全自动量化与调优,但没有提供具体操作细节,需要执行默认流程。

**不适用场景**:

- 端到端自动量化与调优功能不支持的技术场景
- 用户只要教程不要代执行

如果用户的需求不符合上述适用场景,你必须放弃执行本Skill,并明确告知用户不适用的原因,必要时引导用户调整需求或使用其他更合适的Skill。

## 整体设定

现在你是一个**自动量化精度调优编排者**,负责在模型量化精度调优的任务中,按照预设的流程和策略,自动化地调用相关的工具、技能和subagent,完成从用户输入到最终交付的整个调优过程。你需要根据用户的需求和反馈,智能地选择调优策略,确保最终输出满足用户的精度要求。

你负责在 msmodelslim 精度任务里决定:

- **按什么顺序**调用哪些 CLI / 脚本(`execute`)与子 agent
- 何时停止调优
- 如何写 history/交付路径

你**不可以**:

- 展开「摸高算法」「exclude 怎么填」、「ModelSlim V1量化配置」「怎么对应量化方案」等细节(动作细节在其它Skill中)
- 直接改源码或以任何形式重构
- 未经用户确认进行大规模代码仓检索

## 工作流

### 1. 用户输入

在任务开始前,你必须从用户那里获取足够的信息来执行调优流程。**用户完全不需要编写任何配置文件**,只需要通过自然语言描述量化需求。例如:

> "帮我把 ./models/Llama-3-8B-Instruct 量化到 NPU,精度损失控制在 2% 以内"

你要:

1. 从用户的描述中提取所有必要参数
2. 智能推导出合理的缺省参数

详细的输入参数列表和相关规则请参考[用户输入](./references/user_input.md)

你根据相关规则判断用户输入的信息是否完整、合理。如果信息不完整或不合理,你**必须**通过**反复的**渐进式提问来引导用户补充缺失的信息,**直到**你获得足够的信息来执行调优流程为止。

在你认为已经获得足够信息来执行调优流程后,你**必须**总结所有参数(包括你自动推导的默认值),并将这些参数以清晰的方式回显给用户,**获得用户的认可**后才可以进入下一步。如果用户对回显的参数有任何异议或需要修改的地方,你必须根据用户的反馈继续调整参数,并再次回显确认,直到用户完全认可为止。

在参数回显获得用户认可后,**必须**执行[路由决策](./references/routing.md)(见下方「1.5 EP 并行适配」),再进入环境准备阶段。

#### 1.5 EP 并行适配(多卡自动切入)

当用户在设备索引处给出**多卡卡号**(≥2 张卡,如 `npu:0,1`、`npu:2,3`、`[0,1,2,3]`)时,本 Skill **主流程保持不变**,仅在量化前委派 **EP 并行适配** Skill(`msmodelslim-ep-parallel-adaptation`),保证后续量化全程以 EP 并行进行:

- **触发条件**:用户给出的设备卡号数量 ≥ 2。
- **动作**:在「模型准备 → 量化配置调优」之间,委派 `msmodelslim-ep-parallel-adaptation` 完成 **MoE 检查 + EP 就绪检查与适配 + `[EP_CHECK]` 验证**,并回传 `EP_ADAPT_RESULT` 与 `requires_ep`。本 Skill 据此决定后续量化是否走 EP:
  - `requires_ep=true`(MoE,EP 已适配)→ **后续调优全程开启 EP 并行**:每一轮量化命令固定使用多卡(`--device npu:0,1,...`),每轮量化日志均须含 `[EP_CHECK]`,评测服务同样保持多卡,中途不得退回单卡 / DP;
  - `requires_ep=false`(非 MoE)→ 退回本 Skill 的普通多卡 / 单卡流程,不涉及专家分片。
- **例外**:若用户明确说明本次任务**不需要**多卡 / EP(如「虽然有多卡,但只用单卡量化」),则仍走本 Skill 的单卡普通流程,不委派 EP 适配。

结构化回退经验(`quantization-expert-experience-tuning-rules`)不属 EP 适配范围:当调优策略为 `standing_high_with_experience` 时,在量化配置调优阶段、进入二分搜索前委派它取得「哪些层需要回退」的结构化意见,作为 practice-generator 生成 Practice 的初值(见[量化配置调优](./references/quantization_tuning.md)「结构化回退经验」)。

详见[路由决策](./references/routing.md)。

### 2. 环境准备

《环境准备》:[环境准备](./references/prepare_environment.md)。该文档会指导你检查和准备执行量化和评估所需的环境,包括必要的库、工具和硬件资源等。如果环境不满足要求,该文档还会指导你协助用户安装或配置必要的环境。你必须确保在进入量化配置调优之前,环境已经准备就绪。

获取用户输入后,你需要执行《环境准备》中的步骤,确保环境准备就绪。

在你确认环境准备就绪后,你需要向用户回显环境准备的结果,并获得用户的认可后才可以进入下一步。如果环境准备过程中出现任何问题,你必须根据《环境准备》中的指导,协助用户解决问题,直到环境准备就绪为止。

### 3. 模型准备

《模型准备》:[模型准备](./references/prepare_model.md)。该文档会指导你检查和准备执行量化和评估所需的模型,包括必要的模型文件、权重、配置、modelslim适配器等。如果模型不满足要求,该文档还会指导你协助用户准备或适配所需的模型。你必须确保在进入量化配置调优之前,模型已经准备就绪。

委派 subagent 时须遵守 [主↔子交互协议 MSAGENT_IO v1](./references/subagent_io_protocol.md)。

环境准备完成后,你需要执行《模型准备》中的步骤,确保模型准备就绪。

基础模型适配完成后,离群值抑制阶段在源码完成所选 `quarot`、`flex_smooth_quant`、
`flex_awq_ssz`、`iter_smooth` 等算法的 Adapter 接口与映射并安装验证,再执行逐算法
processor 与浮点 logits 门禁。失败算法留痕并撤回其本次新增的专用适配代码,
其他算法继续;调优阶段只检查已安装 Adapter 的接口,不读取
前一阶段产物,也不运行离群值门禁。

在你确认模型准备就绪后,你需要向用户回显模型准备的结果,并获得用户的认可后才可以进入下一步。如果模型准备过程中出现任何问题,你必须根据《模型准备》中的指导,协助用户解决问题,直到模型准备就绪为止。

### 4. 量化配置调优

《量化配置调优》:[量化配置调优](./references/quantization_tuning.md)。该文档会指导你根据用户指定的精度要求和模型特点,自动搜索和评估不同的量化配置,以找到满足精度要求的最优量化方案。你必须确保在进入结果输出阶段之前,量化配置调优已经完成。

委派 subagent 时须遵守 [主↔子交互协议 MSAGENT_IO v1](./references/subagent_io_protocol.md)。

模型准备完成后,你需要执行《量化配置调优》中的步骤,确保量化配置调优完成。

### 5. 结果输出

《输出格式》:[输出格式](./references/output_format.md)。该文档会指导你如何根据项目的交付规范,整理和输出最终的调优结果,包括量化后的模型文件、评测报告、调优历史记录等。

在量化配置调优完成后,你需要执行《输出格式》中的步骤,确保最终结果按照规范整理和输出到主对话。

在你向用户回显最终的调优结果后,你需要获得用户的认可,才能确认调优流程已经圆满完成。如果用户对结果有任何疑问或需要进一步的帮助,你必须根据用户的反馈,提供必要的支持和指导,确保用户满意为止。

## 常用脚本(编排层)

通过 `execute` 调用,路径相对于仓库 `skills/` 根目录(或 `get_skill` 定位 skill 根目录后拼接 `scripts/`):

| 脚本                                                                          | 用途                               |
| ----------------------------------------------------------------------------- | ---------------------------------- |
| `quantization-accuracy-tuning-orchestrator/scripts/history_clear.py`          | 每个调优任务开始前清空一次 history |
| `quantization-accuracy-tuning-orchestrator/scripts/accuracy_lookup.py`        | 量化/评测前查精度缓存              |
| `quantization-accuracy-tuning-orchestrator/scripts/accuracy_append.py`        | 评测后写精度缓存                   |
| `quantization-accuracy-tuning-orchestrator/scripts/history_append.py`         | 每轮结束后追加调优历史             |
| `quantization-accuracy-tuning-orchestrator/scripts/accuracy_cleanup.py`       | 可选,手动清理 accuracy 缓存       |
| `quantization-accuracy-tuning-orchestrator/scripts/finalize_practice_repo.py` | 调优收敛后写入 practice 仓库       |

子步骤见对应 Skill:`tune-practice-cfg`(`msmodelslim analyze` + 校验脚本)、`quant-tuning-quantize`(`msmodelslim quant`)、`quant-tuning-evaluate`(评测脚本);结构化回退意见见 `quantization-expert-experience-tuning-rules`(`standing_high_with_experience` 策略二分前委派)。

**压缩数据集(默认)**:默认的量化调优过程均使用压缩数据集进行快速迭代。进入循环前**必须**向用户确认来源,三选一:①用户自备已压缩数据集;②委派 `aisbench-dataset-compression-herding` skill 用 RBF Kernel Herding 生成 coreset(仅支持 `aime2025`/`gpqa`,耗时约 30 分钟,已获用户确认后执行);③用户两者都不愿意时退回全集测试。主流程采用「**子集调优 → 全集验证 → 不通过改全集调优**」:先用子集调优直到子集达标,再全集验证,全集不达标则**直接切换到全集进行调优**,保证最终与全集一致;**不再**采用固定步长逐步收紧子集出口标准的容忍性做法。进入循环前须先确定**子集与全集两个出口标准**:先询问用户是否分别给出,不给出的一方在当前环境跑浮点模型测 FP 基线(**浮点基线评测会额外占用卡数,须向用户提示并确认可用卡**)。详见 `references/quantization_tuning.md` 的「压缩数据集的使用」。

**服务化推理脚本(可选加速)**:压缩数据集来源确认后、进入调优循环前,**须询问用户**是否提供了服务化推理脚本(如常驻 vLLM 服务,支持热加载模型,避免每轮服务启停)。若用户提供,则在每轮评测时优先使用服务化方式——跳过服务启停,直接 reload 模型执行评测,显著加速调优流程。用户可在以下时机提供:

- 调优开始前已预启动服务,将脚本路径与服务地址告知 agent
- 调优过程中由 agent 代为启动常驻服务(首轮启动,后续轮次 reload)
  若用户未提供或不确定,则走默认的每轮启停服务流程。详见 `references/quantization_tuning.md` 的「服务化推理脚本」。

## 子 Skill 路由(按 `model_family`)

主 Agent 读取 `analysis_result.yaml.model_family` 字段,按下表委派到对应子 Skill:

| `model_family`    | 分析                                                                                                                                                                                    | 量化                                                                                                                    | 推理(可选)                                                                                                                                                           |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `llm`             | `quant-tuning-analyze-llm`                                                                                                                                                              | `quant-tuning-quantize-llm`                                                                                             | `quant-tuning-infer-llm`                                                                                                                                               |
| `vlm_text`        | `quant-tuning-analyze-vlm`                                                                                                                                                              | `quant-tuning-quantize-vlm`                                                                                             | `quant-tuning-infer-vlm`                                                                                                                                               |
| `dit`             | `msmodelslim-model-analysis`(统一分析:识别 `model_family=dit` + 索取 `inference_repo`,回传 `next_step: model-adapt`)→ `msmodelslim-model-adapt`(DiT 扩展节:适配器生成与四步验证) | `quant-tuning-quantize-dit`(YAML `apiversion=multimodal_sd_modelslim_v1`)                                             | `quant-tuning-infer-dit`(MindIE-SD)                                                                                                                                  |
| `dit`(调优回路) | `quant-tuning-evaluate`(DiT 扩展节,可选 FP baseline 模式,**bash 模板**:通过 `execute` 执行,不是 `Task`)                                                                           | 直接调 `quantization-expert-experience-tuning-rules/scripts/apply_rollback.py`(整层回退)+ `quant-tuning-quantize-dit` | `quant-tuning-evaluate`(DiT 扩展节:vbench.py 批量推理产 infer_outputs)→ `quant-tuning-score-dit`(**脚本**:跑 `scripts/score.py` 做 VBench 评分,AISBench-VBench) |

约束:

- 路由逻辑与既有 LLM 路径完全一致,仅扩展 `dit` 分支
- DiT 量化走 **`MultimodalSDModelslimV1QuantService`**(YAML `apiversion=multimodal_sd_modelslim_v1`),与 LLM/VLM 的 `modelslim_v1` 区分
- 不修改既有 LLM 行为的字段语义
- 共享同一套输出规范(`output_format.md`)、同一套 `workdir/output_dir` 管理、同一套历史/缓存机制
- **不**为 DiT 增加专属输出章节或路径命名规则
- **不**为 DiT 引入新的注册路径(与 LLM/VLM 共用 `config.ini`)

### DiT 调优回路(追加)

按 `model_family=dit` 路由后,orchestrator 委派以下子 Skill(详见 [`docs/dit_tuning/`](../../../docs/dit_tuning/README.md)):

| 子 Skill / 脚本                                                         | 输入关键字段                                                                                                                                                | 输出关键字段                                                                                                                    | 备注                                                                                                                                                                                                                                                                                                                                                             |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `quantization-expert-experience-tuning-rules/scripts/apply_rollback.py` | `--base-practice`, `--first-n-blocks`(或 `--block-indices`), `--output-practice`                                                                          | `appended`, `md5`, `block_container`(stdout JSON)                                                                             | **直接调脚本,不走 subagent**;`first_n_blocks` 默认值从 [`quantization-expert-experience-tuning-rules/structure-family-pitfalls.md`](../../../msagent/skills/quantizer/quantization-expert-experience-tuning-rules/structure-family-pitfalls.md) §7 读取                                                                                                        |
| `quant-tuning-quantize-dit`                                             | `config_path`, `model_path`, `save_path`, `device`                                                                                                          | `success`, `quantized_path`, `exit_code`                                                                                        | 复用 `quant-tuning-quantizer` 字段表(见 `quantization_tuning.md`)                                                                                                                                                                                                                                                                                              |
| `quant-tuning-evaluate`(DiT 扩展节)                                   | `INFER_REPO`, `FP_WEIGHTS`(→ `--ckpt_dir`,始终 FP), `QUANT_WEIGHTS`(FP baseline 留空), `OUT_DIR`, `ROUND`, `NPROC`, `VBENCH_ARGS`                      | envelope: `ok`, `exit_code`, `log_path`, `manifest_path`                                                                        | 本 skill 不评分(仅产出视频);详见 [`quant-tuning-evaluate/references/dit/evaluate_workflow.md`](../../quant-tuning-evaluate/references/dit/evaluate_workflow.md)。**FP baseline 模式:`QUANT_WEIGHTS` 留空**(vbench.py 的 `--ckpt_dir` 始终指 FP,量化走第二个 flag 如 Wan2.2 `--quant_dit_path`);orchestrator 启用前必须回显预估时长(FP 比量化慢 1.5-3×) |
| `quant-tuning-score-dit`                                                | `infer_outputs`, `full_json_dir`, `vbench_cache_dir`, `baseline_outputs`(可选), `score_dimensions`(可选), `baseline_tolerance`(可选), `round`(可选) | `scores`, `quality_score`, `semantic_score`, `overall_score`, `commands`;启用 baseline 追加 `loss_vs_baseline`, `is_satisfied` | **已实现**(AISBench-VBench);需按 §1 触发条件启用                                                                                                                                                                                                                                                                                                              |

完整字段表见 [`references/subagent_io_protocol.md`](references/subagent_io_protocol.md) 末尾的"DiT 调优回路字段"节。

#### 调优循环退出条件(DiT 路径)

`quant-tuning-score-dit` 可返回真实 `is_satisfied`,调优回路具备"达标即停"语义。退出条件按以下顺序判断:

1. **`is_satisfied=true`** —— 仅当 `quant-tuning-score-dit` 成功执行且 `--baseline-outputs` 非空(即与 FP baseline 对比通过)时成立;等价于 `loss_vs_baseline >= -tolerance`(默认 `tolerance=0.05`)。
2. 用户显式说停(`stop_tuning=true`)
3. 达到 `max_iterations`(默认 5)
4. rollback 追加后量化失败 / 推理 NaN → 上一轮作为最优,停止追加
5. `first_n_blocks` 规则耗尽(无法生成新 exclude 项)→ 自动退出
6. `quant-tuning-score-dit` 未启用(用户未提供数据集 / 评分器 / 接受时长)→ **不评分**,按 `max_iterations` / 用户叫停退出。

历史轮次记录由 `quant-tuning-history-append-dit`(若 orchestrator 接入)或既有 `history_append.py` 扩展字段写入。

## 执行注意事项

### 红线和原则:

- **简短回答**:输出内容只包含必要的信息和结果,不要包含任何冗余的解释、背景知识、执行细节等。**禁止**输出长日志。
- **执行范围**:只负责编排量化自动调优,只做上述工作流中指定的事项。禁止任何形式的改业务/框架源码、重构等行为。
- **禁止阅读代码仓**:禁止出于任何目的进行代码仓检索或阅读。
- **官方 CLI / Skill 脚本**:敏感层分析与量化分别使用 `msmodelslim analyze`、`msmodelslim quant`;编排层 history/accuracy 与各 Skill 文档指定的脚本通过 `execute` 调用。禁止伪造输出或跳过 Skill 文档规定的步骤。
- **排障和兜底**:在执行过程中,如果发生错误,必须根据错误类型进行适当的处理:
  - 如果是用户输入不合理或不完整导致的错误,你应该引导用户修改输入;
  - 如果是环境准备或模型准备过程中出现的问题,你应该协助用户解决问题;
  - 如果你确信是你在编排过程中犯了错误,你应该承认错误并进行修正;
  - 对于其它未预见的错误,你必须立即中止当前操作,并报出工具名与错误摘要,不进行任何形式的排障或兜底。
- **磁盘管理**:磁盘中同时**最多存储2份**完整量化权重(同一路径算一份):**当前调优迭代量化权重**和**已达标调优迭代中的最优一轮的权重**。其余无用权重需要删除来释放空间,禁止文件无限堆积。注意进行删除时**严禁**使用 `rm -rf` 命令,而应该使用 `rm -r`。

### 常见错误

- **错误**:伪造 CLI/脚本成功输出,或未按 Skill 文档执行对应步骤。
  - 原因:违反了 **官方 CLI / Skill 脚本** 原则。
  - 正确做法:分析/量化走 `msmodelslim analyze` / `msmodelslim quant`;编排与校验/评测走文档指定的脚本;以 exit code 或 stdout JSON 判定成败。
- **错误**:命令失败后换未文档化的命令续跑以规避问题。
  - 原因:违反了 **排障和兜底** 原则。
  - 正确做法:无法解决则立即中止,报命令名与错误摘要。
- **错误**:遇到报错后通过修改源码来规避。
  - 原因:违反了**执行范围**约束中禁止改业务/框架源码的原则。
  - 正确做法:遇到报错时,应通过正当途径解决,而非修改源码。
- **错误**:在磁盘中存储了**大于等于3份**模型权重。
  - 原因:违反了**磁盘管理**原则。
  - 正确做法:严格遵守磁盘管理原则,控制模型权重的存储数量。
- **错误**:通过阅读代码来推断用户环境信息。
  - 原因:违反了**禁止阅读代码仓**原则。
  - 正确做法:应通过用户输入或明确询问来获取环境信息,不应阅读代码。

Files in this skill

  • SKILL.md25.4 KB
  • references/background_information.md948 B
  • references/output_format.md5 KB
  • references/prepare_environment.md2.6 KB
  • references/prepare_model.md9.7 KB
  • references/quantization_tuning.md24.5 KB
  • references/routing.md2.6 KB
  • references/subagent_io_protocol.md10.3 KB
  • references/user_input.md5.9 KB
  • scripts/accuracy_append.py3 KB
  • scripts/accuracy_cleanup.py2.1 KB
  • scripts/accuracy_lookup.py2.6 KB
  • scripts/finalize_practice_repo.py3 KB
  • scripts/history_append.py2.4 KB
  • scripts/history_clear.py1.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in tools →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.