Merged
[master] [Doc] 修复 issue 528 part.2(cli 和 config 文档问题及相关引用更新) #1043
[master] [Doc] 修复 issue 528 part.2(cli 和 config 文档问题及相关引用更新) #1043
Merged
jiamingxuAdd on Sep 28
Total: 20 files changed+75-38
@@ -19,7 +19,7 @@ msmodelslim <command> [<args>]
19| 子命令 | 功能 | 文档 |19| 子命令 | 功能 | 文档 |
20|--------|------|------|20|--------|------|------|
21| `quant` | 一键量化或权重转换,并保存量化权重与描述文件 | 《[msmodelslim quant 命令行 API 文档](msmodelslim_quant.md)》 |21| `quant` | 一键量化或权重转换,并保存量化权重与描述文件 | 《[msmodelslim quant 命令行 API 文档](msmodelslim_quant.md)》 |
22-| `analyze` | 量化前敏感层分析,输出敏感度最高的层名列表 | 《[msmodelslim analyze 命令行 API 文档](msmodelslim_analyze.md)》 |22+| `analyze` | 量化前敏感层分析,按敏感度分数从高到低输出层名列表 | 《[msmodelslim analyze 命令行 API 文档](msmodelslim_analyze.md)》 |
23| `eval` | 基于 AscendV1 导出做伪量化模型精度评估 | 《[msmodelslim eval 命令行 API 文档](msmodelslim_eval.md)》 |23| `eval` | 基于 AscendV1 导出做伪量化模型精度评估 | 《[msmodelslim eval 命令行 API 文档](msmodelslim_eval.md)》 |
24| `tune` | 自动调优量化配置以达成目标精度 | 《[msmodelslim tune 命令行 API 文档](msmodelslim_tune.md)》 |24| `tune` | 自动调优量化配置以达成目标精度 | 《[msmodelslim tune 命令行 API 文档](msmodelslim_tune.md)》 |
25 25 
@@ -29,7 +29,7 @@ msmodelslim <command> [<args>]
29 29 
30| 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 |30| 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 |
31|------|------|------|----------|-----------|--------|----------------|------|31|------|------|------|----------|-----------|--------|----------------|------|
32-| `--help` | `-h` | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示帮助信息后退出。顶层显示子命令清单,子命令后显示该子命令的参数说明。 |32+| `--help` | `-h` | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示帮助信息。 |
33| `--version` | `-V` | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示版本信息(版本号、构建信息、仓库地址)后退出。该参数在解析子命令前处理,因此在任意位置传入均生效。 |33| `--version` | `-V` | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示版本信息(版本号、构建信息、仓库地址)后退出。该参数在解析子命令前处理,因此在任意位置传入均生效。 |
34 34 
35## 4. 公共参数35## 4. 公共参数
@@ -2,7 +2,7 @@
2 2 
3## 1. 功能说明3## 1. 功能说明
4 4 
5-`msmodelslim analyze` 在量化前对模型做敏感层分析,输出建议回退或重点关注的层名列表,供后续写入量化配置的 `exclude` 等字段。按分析粒度分为四个 scope:`linear`(逐个线性层)、`layer`(按层/块分组)、`attn`(Attention 模块)、`attn_head`(Attention Head / `ra_compress`)。分析在目标设备上计算敏感度指标,并按 `--top_k` 输出敏感度最高的层名(`disable_names`;`attn_head` 输出 `head.pt`)。默认只把结果打印到日志;指定 `--save_path` 后结果落盘为文件(`linear`/`layer`/`attn` 为 YAML,`attn_head` 为 `head.pt`)。其中 `linear`/`layer`/`attn` 使用 `--calibration_dataset` 指定的校准数据集;`attn_head`(`ra_compress`)不读取外部校准集,其校准输入由算法在运行时自行构造(首 token + 随机重复段)。5+`msmodelslim analyze` 在量化前对模型做敏感层分析,按敏感度分数从高到低输出层名列表,为量化回退层配置提供指导。按分析粒度分为四个 scope:`linear`(逐个线性层)、`layer`(按层/块分组)、`attn`(Attention 模块)、`attn_head`(Attention Head / `ra_compress`)。分析在目标设备上计算敏感度指标,并按 `--top_k` 输出敏感度最高的层名,`attn_head` 输出 `head.pt`。默认只把结果打印到日志;指定 `--save_path` 后结果落盘为文件(`linear`/`layer`/`attn` 为 YAML,`attn_head` 为 `head.pt`)。其中 `linear`/`layer`/`attn` 使用 `--calibration_dataset` 指定的校准数据集;`attn_head`(`ra_compress`)不读取外部校准集,其校准输入由算法在运行时自行构造(首 token + 随机重复段)。
6 6 
7命令边界:本命令只做分析与结果输出,不执行量化,且需要模型适配器实现分析接口。支持单卡与多卡(DP)分析,多卡时使用 `--device npu --device_id 0 1 ...`(或兼容写法 `--device npu:0,1,...`),由 `DPLayerWiseRunner` 执行。操作步骤见《[线性层敏感层分析使用指南](../../user_guide/usage_sensitive_linear_analysis.md)》、《[层级敏感层分析使用指南](../../user_guide/usage_sensitive_layer_analysis.md)》、《[Attention 敏感层分析使用指南](../../user_guide/usage_sensitive_attn_analysis.md)》、《[Attention Head 筛选分析使用指南](../../user_guide/usage_sensitive_attn_head_analysis.md)》。7命令边界:本命令只做分析与结果输出,不执行量化,且需要模型适配器实现分析接口。支持单卡与多卡(DP)分析,多卡时使用 `--device npu --device_id 0 1 ...`(或兼容写法 `--device npu:0,1,...`),由 `DPLayerWiseRunner` 执行。操作步骤见《[线性层敏感层分析使用指南](../../user_guide/usage_sensitive_linear_analysis.md)》、《[层级敏感层分析使用指南](../../user_guide/usage_sensitive_layer_analysis.md)》、《[Attention 敏感层分析使用指南](../../user_guide/usage_sensitive_attn_analysis.md)》、《[Attention Head 筛选分析使用指南](../../user_guide/usage_sensitive_attn_head_analysis.md)》。
8 8 
@@ -22,11 +22,11 @@ msmodelslim analyze attn_head --model_type <model_type> --model_path <model_path
22 22 
23- `<scope>`(`linear`/`layer`/`attn`/`attn_head`)为位置参数,也是子命令名。23- `<scope>`(`linear`/`layer`/`attn`/`attn_head`)为位置参数,也是子命令名。
24- 尖括号内为需替换的值,方括号内为可选参数。24- 尖括号内为需替换的值,方括号内为可选参数。
25-- `--trust_remote_code` 是可选值布尔参数:不带值传入即开启(等价 `true`),或跟 `true`/`false`(大小写不敏感,兼容遗留 `True`/`False`、`yes`/`no`、`on`/`off`)。25+- `--trust_remote_code` 是可选值布尔参数:不带值传入即开启(等价 `true`),也可显式传入 `true`/`false`(大小写不敏感,兼容遗留写法 `True`/`False`)。
26-- `--patterns`、`--quant_modules`、`--device_id` 一次接收多个值,`...` 表示可跟多个以空格分隔的值。26+- `--patterns`、`--quant_modules`、`--device_id` 可接收单个或多个值,`...` 表示可跟多个以空格分隔的值。
27-- 各 scope 的专有选项不同:`linear` 有 `--metrics`、`--patterns`;`layer` 有 `--metrics`、`--quant_modules`;`attn` 只有 `--metrics`;`attn_head` 有 `--metrics`(仅 `ra_compress`)。`--save_path` 为四个 scope 通用的落盘选项,但落盘格式不同:`linear`/`layer`/`attn` 写 YAML,`attn_head` 写 `head.pt`。27+- 各 scope 的专有选项不同:`linear` 有 `--metrics`、`--patterns`;`layer` 有 `--metrics`、`--quant_modules`;`attn` 只有 `--metrics`;`attn_head` 只有 `--metrics`(仅 `ra_compress`)。`--save_path` 为公共参数,其输出内容随 scope 不同:`linear`/`layer`/`attn` 输出分析结果 YAML,`attn_head` 输出 `head.pt`。
28- `--calibration_dataset` 对 `attn_head` 不生效:该场景的校准输入由算法在运行时自行构造,传入的校准集仅参与格式与安全检查,不影响分析结果。28- `--calibration_dataset` 对 `attn_head` 不生效:该场景的校准输入由算法在运行时自行构造,传入的校准集仅参与格式与安全检查,不影响分析结果。
29-- 省略 `<scope>` 时(非帮助请求)自动按 `linear` 执行;本命令无其他位置参数。本语法摘要用于说明参数结构,不作为可复制命令;可复制命令见「使用示例」。29+- 省略 `<scope>` 时(非帮助请求)自动按 `linear` 执行;`msmodelslim analyze` 无其他位置参数。本语法摘要用于说明参数结构,不作为可复制命令;可复制命令见[使用示例](#5-使用示例)。
30 30 
31## 3. 参数列表31## 3. 参数列表
32 32 
@@ -37,11 +37,11 @@ msmodelslim analyze attn_head --model_type <model_type> --model_path <model_path
37| `--model_type` | 无 | `string` | 单值 | 必选 | 无 | 模型类型名称,如 `Qwen2.5-7B-Instruct`、`Qwen3-32B` | 待分析模型类型,须与《[大模型支持矩阵](../../knowledge_base/model/README.md)》中的名称一致;未传值或传入的名称不存在时回退到默认适配器 `default` 执行。 |37| `--model_type` | 无 | `string` | 单值 | 必选 | 无 | 模型类型名称,如 `Qwen2.5-7B-Instruct`、`Qwen3-32B` | 待分析模型类型,须与《[大模型支持矩阵](../../knowledge_base/model/README.md)》中的名称一致;未传值或传入的名称不存在时回退到默认适配器 `default` 执行。 |
38| `--model_path` | 无 | `string` | 单值 | 必选 | 无 | 原始模型权重目录(需存在且可读) | 待分析模型的权重目录。 |38| `--model_path` | 无 | `string` | 单值 | 必选 | 无 | 原始模型权重目录(需存在且可读) | 待分析模型的权重目录。 |
39| `--device` | 无 | `string` | 单值 | 可选 | `npu` | `npu`、`cpu`;兼容遗留写法 `npu:0,1,...` | 运行设备类型。推荐写法为 `--device npu` 再配合 `--device_id`;遗留 `npu:0,1` 会自动拆分为 `--device npu --device_id 0 1`。 |39| `--device` | 无 | `string` | 单值 | 可选 | `npu` | `npu`、`cpu`;兼容遗留写法 `npu:0,1,...` | 运行设备类型。推荐写法为 `--device npu` 再配合 `--device_id`;遗留 `npu:0,1` 会自动拆分为 `--device npu --device_id 0 1`。 |
40-| `--device_id` | 无 | `list[int]` | 一次接收多个值,空格分隔 | 可选 | 无 | 非负整数索引,如 `0 1 2 3` | 分析所用 NPU 索引;长度 > 1 时启用多卡 DP(`DPLayerWiseRunner`)。CPU 场景不可指定多个索引。 |40+| `--device_id` | 无 | `list[int]` | 可接收单个或多个值,空格分隔 | 可选 | 无 | 非负整数索引,如 `0 1 2 3` | 分析所用 NPU 索引;长度 > 1 时启用多卡 DP(`DPLayerWiseRunner`)。CPU 场景不可指定多个索引。 |
41| `--calibration_dataset` | `--calib_dataset`(遗留别名) | `string` | 单值 | 可选 | `mix_calib.jsonl` | LLM:`.json` / `.jsonl`;VLM:图文目录名(如 `calibImages`)或路径 | 校准数据集,用于 `linear`/`layer`/`attn` 的指标计算;`attn_head`(`ra_compress`)不读取该校准集(内部构造随机校准输入),此时仅参与格式与安全检查。 |41| `--calibration_dataset` | `--calib_dataset`(遗留别名) | `string` | 单值 | 可选 | `mix_calib.jsonl` | LLM:`.json` / `.jsonl`;VLM:图文目录名(如 `calibImages`)或路径 | 校准数据集,用于 `linear`/`layer`/`attn` 的指标计算;`attn_head`(`ra_compress`)不读取该校准集(内部构造随机校准输入),此时仅参与格式与安全检查。 |
42| `--top_k` | `--topk`(遗留别名) | `int` | 单值 | 可选 | `15` | 大于0的整数 | 输出到 `disable_names` 的最高敏感层数(经验值,仅供参考;`attn_head` 无此参数)。 |42| `--top_k` | `--topk`(遗留别名) | `int` | 单值 | 可选 | `15` | 大于0的整数 | 输出到 `disable_names` 的最高敏感层数(经验值,仅供参考;`attn_head` 无此参数)。 |
43| `--save_path` | 无 | `string` | 单值 | 可选 | 无(仅打印到日志) | 可写目录或文件路径:`linear`/`layer`/`attn` 为 `.yaml`/`.yml` 或目录;`attn_head` 为 `.pt` 或目录 | 分析结果的落盘路径。`linear`/`layer`/`attn`:路径以 `.yaml`/`.yml` 结尾时按该文件名写入,否则视为目录并按 `<model_type>-<metrics>.yaml` 命名;`attn_head`:路径以 `.pt` 结尾时按该文件名写入,否则写入目录下的 `head.pt`。不指定时结果仅打印到日志(控制台)。 |43| `--save_path` | 无 | `string` | 单值 | 可选 | 无(仅打印到日志) | 可写目录或文件路径:`linear`/`layer`/`attn` 为 `.yaml`/`.yml` 或目录;`attn_head` 为 `.pt` 或目录 | 分析结果的落盘路径。`linear`/`layer`/`attn`:路径以 `.yaml`/`.yml` 结尾时按该文件名写入,否则视为目录并按 `<model_type>-<metrics>.yaml` 命名;`attn_head`:路径以 `.pt` 结尾时按该文件名写入,否则写入目录下的 `head.pt`。不指定时结果仅打印到日志(控制台)。 |
44-| `--trust_remote_code` | 无 | `bool` | 可选值(不带值传入即开启,或跟 `true`/`false`) | 可选 | `false` | `true`/`false`(大小写不敏感;兼容 `True`/`False`、`yes`/`no`、`on`/`off`) | 是否信任并执行模型目录中的自定义 Python 代码;仅在确认代码来源可信时开启。 |44+| `--trust_remote_code` | 无 | `bool` | 不带值传入即开启,也可显式传值 `true`/`false` | 可选 | `false` | `true`/`false`(大小写不敏感;兼容遗留写法 `True`/`False`) | 是否信任并执行模型目录中的自定义 Python 代码;仅在确认代码来源可信时开启。 |
45| `--log_level` | 无 | `string` | 单值 | 可选 | `info` | `debug`、`info`、`warning`、`error` | 日志级别。 |45| `--log_level` | 无 | `string` | 单值 | 可选 | `info` | `debug`、`info`、`warning`、`error` | 日志级别。 |
46| `-v` / `--verbose` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 提高输出详细程度(等价 `--log_level debug`)。 |46| `-v` / `--verbose` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 提高输出详细程度(等价 `--log_level debug`)。 |
47| `-q` / `--quiet` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 抑制非错误输出(等价 `--log_level error`)。 |47| `-q` / `--quiet` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 抑制非错误输出(等价 `--log_level error`)。 |
@@ -170,7 +170,7 @@ msmodelslim analyze attn_head \
170 170 
171## 6. 退出码与异常处理171## 6. 退出码与异常处理
172 172 
173-正常运行则无异常,按输出的层名更新量化配置(如写入 `exclude`);`attn_head` 场景检查 `head.pt`。失败时抛出异常。常见原因:scope 与 `--metrics` 取值不匹配、`--device`/`--device_id` 取值非法、校准集格式不符、`--top_k` 非大于0的整数、模型适配器未实现分析接口、多模态生成模型被拦截、`ra_compress` 用于非 LLM。173+正常运行则无异常,失败时抛出异常。常见原因:scope 与 `--metrics` 取值不匹配、`--device`/`--device_id` 取值非法、校准集格式不符、`--top_k` 非大于0的整数、模型适配器未实现分析接口、多模态生成模型被拦截、`ra_compress` 用于非 LLM。
174 174 
175## 7. 安全说明175## 7. 安全说明
176 176 
@@ -25,7 +25,7 @@ msmodelslim eval --model_type <model_type> --model_path <model_path> --prompt_fi
25| `--model_path` | 无 | `string` | 单值 | 必选 | 无 | 量化导出目录(需存在且可读) | 待验证的量化权重目录 |25| `--model_path` | 无 | `string` | 单值 | 必选 | 无 | 量化导出目录(需存在且可读) | 待验证的量化权重目录 |
26| `--prompt_file` | 无 | `string` | 单值 | 必选 | 无 | 文件绝对/相对路径。LLM 要求样本文件扩展名为 `.json` 或 `.jsonl`;VLM 多模态样本文件须命名为 `index.json` 或 `index.jsonl` | 推理样本文件。 |26| `--prompt_file` | 无 | `string` | 单值 | 必选 | 无 | 文件绝对/相对路径。LLM 要求样本文件扩展名为 `.json` 或 `.jsonl`;VLM 多模态样本文件须命名为 `index.json` 或 `index.jsonl` | 推理样本文件。 |
27| `--device` | 无 | `string` | 单值 | 可选 | `npu` | `npu`、`cpu`,推荐使用 `npu` | 运行设备类型 |27| `--device` | 无 | `string` | 单值 | 可选 | `npu` | `npu`、`cpu`,推荐使用 `npu` | 运行设备类型 |
28-| `--device_id` | 无 | `list` | 一次接收多个值,空格分隔 | 可选 | 无 | 非负整数列表,如 `0` 或 `0 1 2 3` | 设备索引;传入多个值时启用多卡样本并行(DP)推理,单值或不传为单卡推理。 |28+| `--device_id` | 无 | `list` | 可接收单个或多个值,空格分隔 | 可选 | 无 | 非负整数列表,如 `0` 或 `0 1 2 3` | 设备索引;传入多个值时启用多卡样本并行(DP)推理,单值或不传为单卡推理。 |
29| `--max_new_tokens` | 无 | `int` | 单值 | 可选 | `1` | 正整数(≥ 1) | 每个样本新生成的 token 数(不含 prompt 部分)。 |29| `--max_new_tokens` | 无 | `int` | 单值 | 可选 | `1` | 正整数(≥ 1) | 每个样本新生成的 token 数(不含 prompt 部分)。 |
30| `--log_level` | 无 | `string` | 单值 | 可选 | `info` | `debug`、`info`、`warning`、`error` | 日志级别。 |30| `--log_level` | 无 | `string` | 单值 | 可选 | `info` | `debug`、`info`、`warning`、`error` | 日志级别。 |
31| `-v` / `--verbose` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 提高输出详细程度(等价 `--log_level debug`)。 |31| `-v` / `--verbose` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 提高输出详细程度(等价 `--log_level debug`)。 |
@@ -45,9 +45,9 @@ msmodelslim eval --model_type <model_type> --model_path <model_path> --prompt_fi
45 45 
46```bash46```bash
47msmodelslim eval \47msmodelslim eval \
48- --model_type "${MODEL_TYPE}" \48+ --model_type ${MODEL_TYPE} \
49- --model_path "${MODEL_PATH}" \49+ --model_path ${MODEL_PATH} \
50- --prompt_file "${PROMPT_FILE}"50+ --prompt_file ${PROMPT_FILE}
51```51```
52 52 
53`${MODEL_TYPE}` 为模型类型名称(如 `Qwen3-32B`),`${MODEL_PATH}` 为量化导出目录,`${PROMPT_FILE}` 为推理样本文件路径。默认在 `npu` 上运行,`--max_new_tokens` 取默认值 `1`,即每个样本仅生成 1个 token。53`${MODEL_TYPE}` 为模型类型名称(如 `Qwen3-32B`),`${MODEL_PATH}` 为量化导出目录,`${PROMPT_FILE}` 为推理样本文件路径。默认在 `npu` 上运行,`--max_new_tokens` 取默认值 `1`,即每个样本仅生成 1个 token。
@@ -56,9 +56,9 @@ msmodelslim eval \
56 56 
57```bash57```bash
58msmodelslim eval \58msmodelslim eval \
59- --model_type "${MODEL_TYPE}" \59+ --model_type ${MODEL_TYPE} \
60- --model_path "${MODEL_PATH}" \60+ --model_path ${MODEL_PATH} \
61- --prompt_file "${PROMPT_FILE}" \61+ --prompt_file ${PROMPT_FILE} \
62 --device npu \62 --device npu \
63 --device_id 0 1 2 3 \63 --device_id 0 1 2 3 \
64 --max_new_tokens 564 --max_new_tokens 5
@@ -2,7 +2,7 @@
2 2 
3## 1. 功能说明3## 1. 功能说明
4 4 
5-`msmodelslim quant` 是一键量化命令,加载原始模型权重并执行权重/激活量化,导出可部署的量化权重与描述文件。配置来源有两种:通过 `--quant_type` 按模型与量化类型自动匹配 `lab_practice` 中的最佳实践 YAML;或通过 `--config` 直接指定用户 YAML(支持 `modelslim_v1`、多模态以及 `modelslim_convert` 纯权重转换等协议。5+`msmodelslim quant` 是一键量化命令,加载原始模型权重并执行权重/激活量化,导出可部署的量化权重与描述文件。配置来源有两种:通过 `--quant_type` 按模型与量化类型自动匹配 `lab_practice` 中的最佳实践 YAML;或通过 `--config` 直接指定用户 YAML(支持 `modelslim_v1`、多模态以及 `modelslim_convert` 纯权重转换等协议)。
6 6 
7命令边界:设备支持 `npu`、`cpu`,多卡通过 `--device_id` 指定索引列表;还支持场景标签匹配与 `--debug` 调试上下文落盘。校准数据准备与部署等操作步骤见《[一键量化完整指南](../../user_guide/usage_quick_quantization.md)》;量化任务 YAML 字段见《[量化任务配置说明导航](../config/quant/README.md)》,自动调优配置见《[自动调优配置说明导航](../config/tuning/README.md)》。更多关联项见[引用的配置](#5-引用的配置)。7命令边界:设备支持 `npu`、`cpu`,多卡通过 `--device_id` 指定索引列表;还支持场景标签匹配与 `--debug` 调试上下文落盘。校准数据准备与部署等操作步骤见《[一键量化完整指南](../../user_guide/usage_quick_quantization.md)》;量化任务 YAML 字段见《[量化任务配置说明导航](../config/quant/README.md)》,自动调优配置见《[自动调优配置说明导航](../config/tuning/README.md)》。更多关联项见[引用的配置](#5-引用的配置)。
8 8 
@@ -163,7 +163,7 @@ msmodelslim quant \
163 163 
164## 8. 退出码与异常处理164## 8. 退出码与异常处理
165 165 
166-正常运行则无异常,`${SAVE_PATH}` 下生成量化权重与描述文件。失败时抛出异常。常见原因:`--config` 与 `--quant_type` 同时传入、普通量化路径缺少 `--model_type`、YAML 校验失败、`--device_id` 索引非法或超出可用设备。166+正常运行则无异常,失败时抛出异常。常见原因:`--config` 与 `--quant_type` 同时传入、普通量化路径缺少 `--model_type`、YAML 校验失败、`--device_id` 索引非法或超出可用设备。
167 167 
168## 9. 安全说明168## 9. 安全说明
169 169 
@@ -91,7 +91,7 @@ msmodelslim tune \
91 91 
92## 8. 退出码与异常处理92## 8. 退出码与异常处理
93 93 
94-正常运行则无异常(含策略迭代完成、超时或达到最大迭代次数),结果见 `${SAVE_PATH}` 下的量化模型、结果与历史记录。失败时抛出异常。常见原因:`--config` YAML 校验失败、`--timeout` 格式非法、模型适配器加载失败。94+正常运行则无异常(含策略迭代完成或达到最大迭代次数),结果见 `${SAVE_PATH}` 下的量化模型、结果与历史记录。失败时抛出异常。常见原因:`--config` YAML 校验失败、`--timeout` 格式非法、模型适配器加载失败。
95 95 
96## 9. 安全说明96## 9. 安全说明
97 97 
@@ -17,7 +17,7 @@
17 17 
18| 配置 | `apiversion` | 说明 |18| 配置 | `apiversion` | 说明 |
19|------|--------------|------|19|------|--------------|------|
20-| [modelslim_v1](quant/modelslim_v1.md) | `modelslim_v1` | 大语言模型量化与权重转换的默认协议,含 `runner`/`process`/`save`/`dataset`。 |20+| [modelslim_v1](quant/modelslim_v1.md) | `modelslim_v1` | 大语言模型量化默认协议,含 `runner`/`process`/`save`/`dataset`。 |
21| [multimodal_vlm_modelslim_v1](quant/multimodal_vlm_modelslim_v1.md) | `multimodal_vlm_modelslim_v1` | 多模态理解(VLM)模型量化协议。 |21| [multimodal_vlm_modelslim_v1](quant/multimodal_vlm_modelslim_v1.md) | `multimodal_vlm_modelslim_v1` | 多模态理解(VLM)模型量化协议。 |
22| [multimodal_sd_modelslim_v1](quant/multimodal_sd_modelslim_v1.md) | `multimodal_sd_modelslim_v1` | 多模态生成(DiT/SD)模型量化协议,含 dump 与推理参数。 |22| [multimodal_sd_modelslim_v1](quant/multimodal_sd_modelslim_v1.md) | `multimodal_sd_modelslim_v1` | 多模态生成(DiT/SD)模型量化协议,含 dump 与推理参数。 |
23| [modelslim_convert](quant/modelslim_convert.md) | `modelslim_convert` | 纯权重转换协议,用于权重重命名、结构替换与格式转换。 |23| [modelslim_convert](quant/modelslim_convert.md) | `modelslim_convert` | 纯权重转换协议,用于权重重命名、结构替换与格式转换。 |
@@ -60,7 +60,7 @@ autoround 量化策略:对匹配的线性层应用一组量化配置。
60| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |60| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
61|----------|------|-----------|--------|----------------|------|----------|61|----------|------|-----------|--------|----------------|------|----------|
62| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |62| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |
63-| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。各取值含义:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`pd_mix`(Prefill/Decode 混合粒度)、`dual_scale`(双尺度)等;按场景可用取值如下(还须与 `dtype`/`method` 组合匹配):激活:`per_tensor`、`per_token`、`per_channel`(当前为 `int8`/`fp8_e4m3`/`mxfp8` 的 minmax)、`per_block`(MX minmax)、`pd_mix`、`dual_scale`;权重:`per_channel`、`per_group`(GPTQ)、`per_block`(MX)、`dual_scale`;FA3 注意力:`per_head`(默认)、`per_channel`、`per_token`、`per_block`。 | 无 |63+| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。对于不同量化目标,`scope` 通常在可用取值上有所差异:<br>激活:`per_tensor`(整张量一个尺度)、`per_token`(按注意力头)、`per_block`(按固定块)、`pd_mix`(Prefill/Decode 混合粒度);<br>权重:`per_channel`(按通道)、`per_group`(按分组)、`per_block`(按固定块)、`dual_scale`(双尺度);<br>FA3 注意力:`per_head`(按注意力头)、`per_token`(按注意力头)。 | 无 |
64| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |64| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |
65| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |65| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |
66| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |66| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |
@@ -34,7 +34,7 @@ AWQ(Activation-aware Weight Quantization)处理器配置。
34| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |34| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
35|----------|------|-----------|--------|----------------|------|----------|35|----------|------|-----------|--------|----------------|------|----------|
36| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |36| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |
37-| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。各取值含义:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`pd_mix`(Prefill/Decode 混合粒度)、`dual_scale`(双尺度)等;按场景可用取值如下(还须与 `dtype`/`method` 组合匹配):激活:`per_tensor`、`per_token`、`per_channel`(当前为 `int8`/`fp8_e4m3`/`mxfp8` 的 minmax)、`per_block`(MX minmax)、`pd_mix`、`dual_scale`;权重:`per_channel`、`per_group`(GPTQ)、`per_block`(MX)、`dual_scale`;FA3 注意力:`per_head`(默认)、`per_channel`、`per_token`、`per_block`。 | 无 |37+| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。对于不同量化目标,`scope` 通常在可用取值上有所差异:<br>激活:`per_tensor`(整张量一个尺度)、`per_token`(按注意力头)、`per_block`(按固定块)、`pd_mix`(Prefill/Decode 混合粒度);<br>权重:`per_channel`(按通道)、`per_group`(按分组)、`per_block`(按固定块)、`dual_scale`(双尺度);<br>FA3 注意力:`per_head`(按注意力头)、`per_token`(按注意力头)。 | 无 |
38| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |38| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |
39| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |39| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |
40| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |40| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |
@@ -32,7 +32,7 @@ KV cache 量化处理器配置。
32| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |32| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
33|----------|------|-----------|--------|----------------|------|----------|33|----------|------|-----------|--------|----------------|------|----------|
34| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |34| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |
35-| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。各取值含义:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`pd_mix`(Prefill/Decode 混合粒度)、`dual_scale`(双尺度)等;按场景可用取值如下(还须与 `dtype`/`method` 组合匹配):激活:`per_tensor`、`per_token`、`per_channel`(当前为 `int8`/`fp8_e4m3`/`mxfp8` 的 minmax)、`per_block`(MX minmax)、`pd_mix`、`dual_scale`;权重:`per_channel`、`per_group`(GPTQ)、`per_block`(MX)、`dual_scale`;FA3 注意力:`per_head`(默认)、`per_channel`、`per_token`、`per_block`。 | 无 |35+| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。对于不同量化目标,`scope` 通常在可用取值上有所差异:<br>激活:`per_tensor`(整张量一个尺度)、`per_token`(按注意力头)、`per_block`(按固定块)、`pd_mix`(Prefill/Decode 混合粒度);<br>权重:`per_channel`(按通道)、`per_group`(按分组)、`per_block`(按固定块)、`dual_scale`(双尺度);<br>FA3 注意力:`per_head`(按注意力头)、`per_token`(按注意力头)。 | 无 |
36| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |36| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |
37| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |37| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |
38| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |38| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |
@@ -33,7 +33,7 @@ FA3(FlashAttention-3)量化处理器配置。
33| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |33| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
34|----------|------|-----------|--------|----------------|------|----------|34|----------|------|-----------|--------|----------------|------|----------|
35| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |35| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |
36-| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。各取值含义:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`pd_mix`(Prefill/Decode 混合粒度)、`dual_scale`(双尺度)等;按场景可用取值如下(还须与 `dtype`/`method` 组合匹配):激活:`per_tensor`、`per_token`、`per_channel`(当前为 `int8`/`fp8_e4m3`/`mxfp8` 的 minmax)、`per_block`(MX minmax)、`pd_mix`、`dual_scale`;权重:`per_channel`、`per_group`(GPTQ)、`per_block`(MX)、`dual_scale`;FA3 注意力:`per_head`(默认)、`per_channel`、`per_token`、`per_block`。 | 无 |36+| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。对于不同量化目标,`scope` 通常在可用取值上有所差异:<br>激活:`per_tensor`(整张量一个尺度)、`per_token`(按注意力头)、`per_block`(按固定块)、`pd_mix`(Prefill/Decode 混合粒度);<br>权重:`per_channel`(按通道)、`per_group`(按分组)、`per_block`(按固定块)、`dual_scale`(双尺度);<br>FA3 注意力:`per_head`(按注意力头)、`per_token`(按注意力头)。 | 无 |
37| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |37| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |
38| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |38| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |
39| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |39| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |
@@ -81,7 +81,7 @@ FlatQuant处理器配置:定义量化训练参数、策略、混合精度等
81| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |81| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
82|----------|------|-----------|--------|----------------|------|----------|82|----------|------|-----------|--------|----------------|------|----------|
83| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |83| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |
84-| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。各取值含义:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`pd_mix`(Prefill/Decode 混合粒度)、`dual_scale`(双尺度)等;按场景可用取值如下(还须与 `dtype`/`method` 组合匹配):激活:`per_tensor`、`per_token`、`per_channel`(当前为 `int8`/`fp8_e4m3`/`mxfp8` 的 minmax)、`per_block`(MX minmax)、`pd_mix`、`dual_scale`;权重:`per_channel`、`per_group`(GPTQ)、`per_block`(MX)、`dual_scale`;FA3 注意力:`per_head`(默认)、`per_channel`、`per_token`、`per_block`。 | 无 |84+| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。对于不同量化目标,`scope` 通常在可用取值上有所差异:<br>激活:`per_tensor`(整张量一个尺度)、`per_token`(按注意力头)、`per_block`(按固定块)、`pd_mix`(Prefill/Decode 混合粒度);<br>权重:`per_channel`(按通道)、`per_group`(按分组)、`per_block`(按固定块)、`dual_scale`(双尺度);<br>FA3 注意力:`per_head`(按注意力头)、`per_token`(按注意力头)。 | 无 |
85| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |85| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |
86| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |86| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |
87| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |87| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |
@@ -48,7 +48,7 @@ Flex AWQ SSZ 离群值抑制处理器配置。
48| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |48| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
49|----------|------|-----------|--------|----------------|------|----------|49|----------|------|-----------|--------|----------------|------|----------|
50| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |50| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |
51-| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。各取值含义:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`pd_mix`(Prefill/Decode 混合粒度)、`dual_scale`(双尺度)等;按场景可用取值如下(还须与 `dtype`/`method` 组合匹配):激活:`per_tensor`、`per_token`、`per_channel`(当前为 `int8`/`fp8_e4m3`/`mxfp8` 的 minmax)、`per_block`(MX minmax)、`pd_mix`、`dual_scale`;权重:`per_channel`、`per_group`(GPTQ)、`per_block`(MX)、`dual_scale`;FA3 注意力:`per_head`(默认)、`per_channel`、`per_token`、`per_block`。 | 无 |51+| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。对于不同量化目标,`scope` 通常在可用取值上有所差异:<br>激活:`per_tensor`(整张量一个尺度)、`per_token`(按注意力头)、`per_block`(按固定块)、`pd_mix`(Prefill/Decode 混合粒度);<br>权重:`per_channel`(按通道)、`per_group`(按分组)、`per_block`(按固定块)、`dual_scale`(双尺度);<br>FA3 注意力:`per_head`(按注意力头)、`per_token`(按注意力头)。 | 无 |
52| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |52| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |
53| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |53| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |
54| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |54| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |
@@ -45,7 +45,7 @@
45| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |45| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
46|----------|------|-----------|--------|----------------|------|----------|46|----------|------|-----------|--------|----------------|------|----------|
47| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |47| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |
48-| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。各取值含义:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`pd_mix`(Prefill/Decode 混合粒度)、`dual_scale`(双尺度)等;按场景可用取值如下(还须与 `dtype`/`method` 组合匹配):激活:`per_tensor`、`per_token`、`per_channel`(当前为 `int8`/`fp8_e4m3`/`mxfp8` 的 minmax)、`per_block`(MX minmax)、`pd_mix`、`dual_scale`;权重:`per_channel`、`per_group`(GPTQ)、`per_block`(MX)、`dual_scale`;FA3 注意力:`per_head`(默认)、`per_channel`、`per_token`、`per_block`。 | 无 |48+| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。对于不同量化目标,`scope` 通常在可用取值上有所差异:<br>激活:`per_tensor`(整张量一个尺度)、`per_token`(按注意力头)、`per_block`(按固定块)、`pd_mix`(Prefill/Decode 混合粒度);<br>权重:`per_channel`(按通道)、`per_group`(按分组)、`per_block`(按固定块)、`dual_scale`(双尺度);<br>FA3 注意力:`per_head`(按注意力头)、`per_token`(按注意力头)。 | 无 |
49| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |49| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |
50| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |50| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |
51| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |51| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |
@@ -29,6 +29,8 @@
29 29 
30<h3 id="2-2-tlq-op-config">2.2 TLQOpConfig</h3>30<h3 id="2-2-tlq-op-config">2.2 TLQOpConfig</h3>
31 31 
32+可训练 TLQ 算子(Op)插件配置。
33+ 
32| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |34| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
33|----------|------|-----------|--------|----------------|------|----------|35|----------|------|-----------|--------|----------------|------|----------|
34| `type` | `string` | 必选 | 无 | — | 算子类型,分派具体 TLQ 算子(如 `minmax_tune`、`round_tune`)。 | 无 |36| `type` | `string` | 必选 | 无 | — | 算子类型,分派具体 TLQ 算子(如 `minmax_tune`、`round_tune`)。 | 无 |
@@ -116,7 +118,7 @@ trainable_linear_quant 量化策略:对匹配的线性层应用一组可训练
116| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |118| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
117|----------|------|-----------|--------|----------------|------|----------|119|----------|------|-----------|--------|----------------|------|----------|
118| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |120| `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 |
119-| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。各取值含义:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`pd_mix`(Prefill/Decode 混合粒度)、`dual_scale`(双尺度)等;按场景可用取值如下(还须与 `dtype`/`method` 组合匹配):激活:`per_tensor`、`per_token`、`per_channel`(当前为 `int8`/`fp8_e4m3`/`mxfp8` 的 minmax)、`per_block`(MX minmax)、`pd_mix`、`dual_scale`;权重:`per_channel`、`per_group`(GPTQ)、`per_block`(MX)、`dual_scale`;FA3 注意力:`per_head`(默认)、`per_channel`、`per_token`、`per_block`。 | 无 |121+| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale`、`per_channel_neg_offset` | 量化粒度,即 scale/zero_point 的计算范围。对于不同量化目标,`scope` 通常在可用取值上有所差异:<br>激活:`per_tensor`(整张量一个尺度)、`per_token`(按注意力头)、`per_block`(按固定块)、`pd_mix`(Prefill/Decode 混合粒度);<br>权重:`per_channel`(按通道)、`per_group`(按分组)、`per_block`(按固定块)、`dual_scale`(双尺度);<br>FA3 注意力:`per_head`(按注意力头)、`per_token`(按注意力头)。 | 无 |
120| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |122| `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 |
121| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |123| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 |
122| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |124| `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 |
@@ -16,7 +16,7 @@
16 16 
17| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |17| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
18|----------|------|-----------|--------|----------------|------|----------|18|----------|------|-----------|--------|----------------|------|----------|
19-| `apiversion` | `string` | 可选 | `modelslim_convert` | `modelslim_convert` | — | 无 |19+| `apiversion` | `string` | 可选 | `modelslim_convert` | `modelslim_convert` | 权重转换任务类型,固定为 `modelslim_convert`。 | 无 |
20| `spec` | `object` | 必选 | 无 | — | `modelslim_convert` 服务的 spec 结构。<br><br>声明权重名重命名/变换(`preprocess`)、线性层转换规则(`linears`)、<br>保存格式(`save`)、并行执行(`parallel`)与默认值(`defaults`)。 | 本页 <a href="#2-2-modelslim-convert-spec">§2.2</a> |20| `spec` | `object` | 必选 | 无 | — | `modelslim_convert` 服务的 spec 结构。<br><br>声明权重名重命名/变换(`preprocess`)、线性层转换规则(`linears`)、<br>保存格式(`save`)、并行执行(`parallel`)与默认值(`defaults`)。 | 本页 <a href="#2-2-modelslim-convert-spec">§2.2</a> |
21 21 
22**配置约束**22**配置约束**
@@ -150,7 +150,7 @@
150 150 
151| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |151| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
152|----------|------|-----------|--------|----------------|------|----------|152|----------|------|-----------|--------|----------------|------|----------|
153-| `src_format` | `string` | 可选 | `auto` | — | 源权重格式;`auto` 由模型适配器/权重目录自动推断。 | 无 |153+| `src_format` | `string` | 可选 | `auto` | `auto` | 源权重格式:`auto` 由模型适配器/权重目录自动推断。 | 无 |
154| `dst_format` | `string` | 可选 | `ascendv1` | `ascendv1`、`ascendv1_saver`、`compressed_tensors`、`huggingface`、`hf` | 目标保存格式:`ascendv1`(昇腾,与 `SaveConfig.type` 的 `ascend_v1` 等价);`compressed_tensors`(HF 兼容 safetensors);`huggingface`/`hf` 是 `compressed_tensors` 的别名。 | 无 |154| `dst_format` | `string` | 可选 | `ascendv1` | `ascendv1`、`ascendv1_saver`、`compressed_tensors`、`huggingface`、`hf` | 目标保存格式:`ascendv1`(昇腾,与 `SaveConfig.type` 的 `ascend_v1` 等价);`compressed_tensors`(HF 兼容 safetensors);`huggingface`/`hf` 是 `compressed_tensors` 的别名。 | 无 |
155| `dst_ir` | `string / null` | 可选 | `null` | `FLOAT`、`FP8_BLOCK`、`W8A8_MXFP8`、`W4A4_MXFP4`、`W4A8_MXFP8`、`INT4_PACKED`、`NVFP4_MODELOPT`、`HIFP4`、`UNKNOWN` 或 null | 目标 IR 类型;不设置时由目标格式决定。 | 无 |155| `dst_ir` | `string / null` | 可选 | `null` | `FLOAT`、`FP8_BLOCK`、`W8A8_MXFP8`、`W4A4_MXFP4`、`W4A8_MXFP8`、`INT4_PACKED`、`NVFP4_MODELOPT`、`HIFP4`、`UNKNOWN` 或 null | 目标 IR 类型;不设置时由目标格式决定。 | 无 |
156 156 
@@ -29,7 +29,7 @@
29 29 
30| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |30| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
31|----------|------|-----------|--------|----------------|------|----------|31|----------|------|-----------|--------|----------------|------|----------|
32-| `runner` | `string` | 可选 | `layer_wise` | `auto`、`model_wise`、`layer_wise`、`dp_layer_wise` | 流水线执行方式:`layer_wise` 逐层计算(默认)、`auto` 按设备数量自动选择、`model_wise` 整模型计算、`dp_layer_wise` 数据并行逐层计算。 | 无 |32+| `runner` | `string` | 可选 | `layer_wise` | `auto`、`model_wise`、`layer_wise`、`dp_layer_wise` | 流水线执行方式:`layer_wise` 逐层计算(默认)、`auto` 按设备数量自动选择、`model_wise` 整模型计算、`dp_layer_wise` 数据并行逐层计算。目前本服务仅支持 `layer_wise`,配置为 `auto`、`model_wise` 或 `dp_layer_wise` 时会警告并回退为 `layer_wise`。 | 无 |
33| `prior` | `list[object]` | 可选 | `[]` | — | 前置阶段列表,每阶段含 process 与 dataset | 本页 <a href="#2-2-1-prior-stage-config">§2.2.1</a> |33| `prior` | `list[object]` | 可选 | `[]` | — | 前置阶段列表,每阶段含 process 与 dataset | 本页 <a href="#2-2-1-prior-stage-config">§2.2.1</a> |
34| `process` | `list[object]` | 可选 | `[]` | — | 量化处理器链,按顺序执行;每个元素是 `type` 分派的处理器配置。 | 本页 <a href="#2-2-2-autoprocessorconfig">§2.2.2</a> |34| `process` | `list[object]` | 可选 | `[]` | — | 量化处理器链,按顺序执行;每个元素是 `type` 分派的处理器配置。 | 本页 <a href="#2-2-2-autoprocessorconfig">§2.2.2</a> |
35| `per_expert` | `object / null` | 可选 | `null` | — | 按专家覆盖 process 的字典;值为该专家的 Processor 列表。某专家在此出现则整链替换,否则回退 process | 本页 <a href="#2-2-2-autoprocessorconfig">§2.2.2</a> |35| `per_expert` | `object / null` | 可选 | `null` | — | 按专家覆盖 process 的字典;值为该专家的 Processor 列表。某专家在此出现则整链替换,否则回退 process | 本页 <a href="#2-2-2-autoprocessorconfig">§2.2.2</a> |
@@ -26,13 +26,13 @@
26 26 
27<h3 id="2-2-metadata">2.2 Metadata</h3>27<h3 id="2-2-metadata">2.2 Metadata</h3>
28 28 
29-量化配置元数据:标识配置的 ID、评分、标签与已验证的模型/场景。29+描述量化配置的元数据,通过标签、场景等字段为最佳实践库提供索引。
30 30 
31| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |31| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
32|----------|------|-----------|--------|----------------|------|----------|32|----------|------|-----------|--------|----------------|------|----------|
33| `config_id` | `string` | 可选 | `Unknown` | — | 量化配置 ID,例如 'Qwen3-32B W8A8' | 无 |33| `config_id` | `string` | 可选 | `Unknown` | — | 量化配置 ID,例如 'Qwen3-32B W8A8' | 无 |
34| `score` | `float` | 可选 | `100.0` | — | 量化配置评分,用于排序,必须 >= 0 | 无 |34| `score` | `float` | 可选 | `100.0` | — | 量化配置评分,用于排序,必须 >= 0 | 无 |
35-| `label` | `object` | 可选 | `{}` | — | 量化配置标签,用于过滤,例如 {'w_bit': 8, 'a_bit': 8, 'is_sparse': True, 'kv_cache': True} | 无 |35+| `label` | `object` | 可选 | `{}` | — | 量化配置标签,用于过滤,例如:`w_bit`(int,权重量化位数)、`a_bit`(int,激活量化位数)、`is_sparse`(bool,是否稀疏量化)、`kv_cache`(bool,是否启用 KV Cache 量化)、`fa_quant`(bool,是否启用 FA 量化)、`fa_bit`(int,FA 量化位数) | 无 |
36| `verified_model_types` | `list[string]` | 可选 | `[]` | — | 已验证的模型类型列表,例如 ['LLaMa3.1-70B', 'Qwen2.5-72B'] | 无 |36| `verified_model_types` | `list[string]` | 可选 | `[]` | — | 已验证的模型类型列表,例如 ['LLaMa3.1-70B', 'Qwen2.5-72B'] | 无 |
37| `verified_tags` | `object` | 可选 | `{}` | — | 已验证场景标签:键为模型类型,值为场景标签列表(每个场景是一组标签,如 ['MindIE','Atlas_A2_Inference']) | 无 |37| `verified_tags` | `object` | 可选 | `{}` | — | 已验证场景标签:键为模型类型,值为场景标签列表(每个场景是一组标签,如 ['MindIE','Atlas_A2_Inference']) | 无 |
38 38 
@@ -136,7 +136,7 @@ AISBench 评测配置
136 136 
137| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |137| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
138|----------|------|-----------|--------|----------------|------|----------|138|----------|------|-----------|--------|----------------|------|----------|
139-| `type` | `string` | 必选 | 无 | — | 预检查类型,按 `type` 字段分派,如 `garbled_text`、`expected_answer` | 无 |139+| `type` | `string` | 必选 | 无 | — | 预检查类型,按 `type` 字段分派,如 `expected_answer` | 无 |
140| `max_tokens` | `int` | 可选 | `512` | — | 最大生成 token 数,必须大于 0 | 无 |140| `max_tokens` | `int` | 可选 | `512` | — | 最大生成 token 数,必须大于 0 | 无 |
141| `timeout` | `float` | 可选 | `60.0` | — | API 调用超时时间(秒),必须大于 0 | 无 |141| `timeout` | `float` | 可选 | `60.0` | — | API 调用超时时间(秒),必须大于 0 | 无 |
142 142 
@@ -144,6 +144,40 @@ AISBench 评测配置
144 144 
145- 无。145- 无。
146 146 
147+**派生类**
148+ 
149+| 配置类 | `type` | 说明 | 文档 |
150+|--------|----------|------|------|
151+| `ExpectedAnswerPrecheckConfig` | `expected_answer` | 期望答案验证预检查配置 | 本页 <a href="#2-3-5-expected-answer">§2.3.5</a> |
152+ 
153+<h4 id="2-3-5-expected-answer">2.3.5 ExpectedAnswerPrecheckConfig</h4>
154+ 
155+期望答案验证预检查配置
156+ 
157+| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
158+|----------|------|-----------|--------|----------------|------|----------|
159+| `type` | `string` | 可选 | `expected_answer` | `expected_answer` | — | 无 |
160+| `max_tokens` | `int` | 可选 | `512` | — | 最大生成 token 数,必须大于 0 | 无 |
161+| `timeout` | `float` | 可选 | `60.0` | — | API 调用超时时间(秒),必须大于 0 | 无 |
162+| `test_cases` | `list[object]` | 可选 | `[TestCase(message='What is 2+2?', expected_answer='4')]` | 最少1项 | 测试用例列表,字典(键值对)格式,内容须为英文,至少包含 1 条 | 本页 <a href="#2-3-6-test-case">§2.3.6</a> |
163+ 
164+**配置约束**
165+ 
166+- 无。
167+ 
168+<h4 id="2-3-6-test-case">2.3.6 TestCase</h4>
169+ 
170+预检查测试用例
171+ 
172+| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
173+|----------|------|-----------|--------|----------------|------|----------|
174+| `message` | `string` | 必选 | 无 | — | 测试消息,须为非空字符串 | 无 |
175+| `expected_answer` | `string / list[string] / null` | 可选 | `null` | — | 期望模型回复中包含的内容,可为字符串或字符串列表 | 无 |
176+ 
177+**配置约束**
178+ 
179+- 无。
180+ 
147<h3 id="2-4-vllm-ascend">2.4 VllmAscendConfig</h3>181<h3 id="2-4-vllm-ascend">2.4 VllmAscendConfig</h3>
148 182 
149vLLM-Ascend 推理引擎配置:用于拉起 OpenAI 兼容的服务端并做健康检查。183vLLM-Ascend 推理引擎配置:用于拉起 OpenAI 兼容的服务端并做健康检查。
@@ -59,13 +59,13 @@
59 59 
60<h3 id="2-3-metadata">2.3 Metadata</h3>60<h3 id="2-3-metadata">2.3 Metadata</h3>
61 61 
62-量化配置元数据:标识配置的 ID、评分、标签与已验证的模型/场景。62+描述量化配置的元数据,通过标签、场景等字段为最佳实践库提供索引。
63 63 
64| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |64| 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 |
65|----------|------|-----------|--------|----------------|------|----------|65|----------|------|-----------|--------|----------------|------|----------|
66| `config_id` | `string` | 可选 | `Unknown` | — | 量化配置 ID,例如 'Qwen3-32B W8A8' | 无 |66| `config_id` | `string` | 可选 | `Unknown` | — | 量化配置 ID,例如 'Qwen3-32B W8A8' | 无 |
67| `score` | `float` | 可选 | `100.0` | — | 量化配置评分,用于排序,必须 >= 0 | 无 |67| `score` | `float` | 可选 | `100.0` | — | 量化配置评分,用于排序,必须 >= 0 | 无 |
68-| `label` | `object` | 可选 | `{}` | — | 量化配置标签,用于过滤,例如 {'w_bit': 8, 'a_bit': 8, 'is_sparse': True, 'kv_cache': True} | 无 |68+| `label` | `object` | 可选 | `{}` | — | 量化配置标签,用于过滤,例如:`w_bit`(int,权重量化位数)、`a_bit`(int,激活量化位数)、`is_sparse`(bool,是否稀疏量化)、`kv_cache`(bool,是否启用 KV Cache 量化)、`fa_quant`(bool,是否启用 FA 量化)、`fa_bit`(int,FA 量化位数) | 无 |
69| `verified_model_types` | `list[string]` | 可选 | `[]` | — | 已验证的模型类型列表,例如 ['LLaMa3.1-70B', 'Qwen2.5-72B'] | 无 |69| `verified_model_types` | `list[string]` | 可选 | `[]` | — | 已验证的模型类型列表,例如 ['LLaMa3.1-70B', 'Qwen2.5-72B'] | 无 |
70| `verified_tags` | `object` | 可选 | `{}` | — | 已验证场景标签:键为模型类型,值为场景标签列表(每个场景是一组标签,如 ['MindIE','Atlas_A2_Inference']) | 无 |70| `verified_tags` | `object` | 可选 | `{}` | — | 已验证场景标签:键为模型类型,值为场景标签列表(每个场景是一组标签,如 ['MindIE','Atlas_A2_Inference']) | 无 |
71 71 
@@ -50,6 +50,8 @@ msmodelslim quant [ARGS]
50 50 
51### 3.2 参数说明51### 3.2 参数说明
52 52 
53+参数列表的详细说明请参考《[msmodelslim quant 命令行 API 文档](../api_reference/cli/msmodelslim_quant.md)》。
54+ 
53|参数名称|可选/必选| 参数说明 |55|参数名称|可选/必选| 参数说明 |
54|-------------------|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|56|-------------------|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
55|model_path|必选| 模型路径。<br>类型:Str。 |57|model_path|必选| 模型路径。<br>类型:Str。 |
@@ -60,7 +62,6 @@ msmodelslim quant [ARGS]
60|config|与"quant_type"不共存。| 指定配置路径。<br>1. 类型:Str。 <br>2. 配置文件格式为yaml。<br>3. 当前只支持最佳实践库中已验证的配置,若自定义配置,msModelSlim不为量化结果负责。配置指导可参考[量化配置协议详解](#5-量化配置协议详解)。 <br> 4. 用户选用config后,tags参数无效。 |62|config|与"quant_type"不共存。| 指定配置路径。<br>1. 类型:Str。 <br>2. 配置文件格式为yaml。<br>3. 当前只支持最佳实践库中已验证的配置,若自定义配置,msModelSlim不为量化结果负责。配置指导可参考[量化配置协议详解](#5-量化配置协议详解)。 <br> 4. 用户选用config后,tags参数无效。 |
61|quant_type|与"config"不共存| 量化类型。<br>w4a4, w4a8, w4a4c8, w4a4f8, w4a8c8, w8a16, w8a8, w8a8s, w8a8c8, w8a8f8, w4a4f4, w16a16s,请参考《[大模型支持矩阵](../knowledge_base/model/README.md)》。若未找到匹配的最佳实践配置,将与用户交互,询问是否采用推荐配置,详见[命令格式搜索优先级](#31-命令格式)。 |63|quant_type|与"config"不共存| 量化类型。<br>w4a4, w4a8, w4a4c8, w4a4f8, w4a8c8, w8a16, w8a8, w8a8s, w8a8c8, w8a8f8, w4a4f4, w16a16s,请参考《[大模型支持矩阵](../knowledge_base/model/README.md)》。若未找到匹配的最佳实践配置,将与用户交互,询问是否采用推荐配置,详见[命令格式搜索优先级](#31-命令格式)。 |
62|tags|可选| 校验指定场景标签。<br>1. 类型:Str。<br> 2. 大小写不敏感,支持多个标签,用空格分割;支持用户确定地指定一种场景。<br> 3. 当前支持两类标签,每一类别可指定一种场景:指定使用的推理引擎,包含MindIE、vLLM-Ascend、SGLang等;指定推理用的硬件形态,包含Atlas_A2_Inference、Atlas_A3_Inference、Atlas_A2_Training、Atlas_A3_Training、Atlas_300I_Duo、Ascend_950、CPU等。 <br> 4. 如果未找到已验证当前场景的配置,则与用户交互,询问是否采用匹配 quant_type 或 model_type 的量化配置。 |64|tags|可选| 校验指定场景标签。<br>1. 类型:Str。<br> 2. 大小写不敏感,支持多个标签,用空格分割;支持用户确定地指定一种场景。<br> 3. 当前支持两类标签,每一类别可指定一种场景:指定使用的推理引擎,包含MindIE、vLLM-Ascend、SGLang等;指定推理用的硬件形态,包含Atlas_A2_Inference、Atlas_A3_Inference、Atlas_A2_Training、Atlas_A3_Training、Atlas_300I_Duo、Ascend_950、CPU等。 <br> 4. 如果未找到已验证当前场景的配置,则与用户交互,询问是否采用匹配 quant_type 或 model_type 的量化配置。 |
63-|debug|可选| 启用调试模式。<br>1. 类型:Bool,默认值:False。 <br>2. 启用后会在量化完成时自动保存量化过程中的上下文信息到 `save_path/debug_info` 目录,用于问题排查和算法分析,详见《[调试模式使用指南](usage_debug_mode.md)》。 |
64|trust_remote_code|可选| 是否信任自定义代码。<br>1. 类型:Bool,默认值:false。 <br>2. 请确保加载的自定义代码文件的安全性,设置为 true 有安全风险。 |65|trust_remote_code|可选| 是否信任自定义代码。<br>1. 类型:Bool,默认值:false。 <br>2. 请确保加载的自定义代码文件的安全性,设置为 true 有安全风险。 |
65|h, help|可选| 命令行参数帮助信息 |66|h, help|可选| 命令行参数帮助信息 |
66 67