Merged
[master] [Doc] 修复 issue 528 part.2(cli 和 config 文档问题及相关引用更新) #1043
jiamingxuAdd on Sep 28
[master] [Doc] 修复 issue 528 part.2(cli 和 config 文档问题及相关引用更新) #1043
Merged
Merged fromjiamingxuaa/msmodelslimmasterintoAscend/msmodelslimmaster
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 | ```bash | 46 | ```bash |
| 47 | msmodelslim eval \ | 47 | msmodelslim 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 | ```bash | 57 | ```bash |
| 58 | msmodelslim eval \ | 58 | msmodelslim 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 5 | 64 | --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 | ||
| 149 | vLLM-Ascend 推理引擎配置:用于拉起 OpenAI 兼容的服务端并做健康检查。 | 183 | vLLM-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 | ||