Merged
[Doc] 修复 issue 528 part.1(cli 和 config 文档问题及相关引用更新) #1021
jiamingxuAdd on Sep 24
[Doc] 修复 issue 528 part.1(cli 和 config 文档问题及相关引用更新) #1021
Merged
Merged fromjiamingxuaa/msmodelslimmasterintoAscend/msmodelslimmaster
Total: 85 files changed+926-1003
| @@ -0,0 +1,67 @@ | |||
| 1 | +# msmodelslim 命令行 API 总览 | ||
| 2 | + | ||
| 3 | +`msmodelslim` 是 MindStudio msModelSlim 的命令行入口,提供量化、敏感层分析、伪量化精度评估与自动调优四类子命令。本页汇总全局参数、子命令清单与各子命令文档入口;各子命令的参数细节、参数关系与使用示例见对应文档。 | ||
| 4 | + | ||
| 5 | +## 1. 命令格式 | ||
| 6 | + | ||
| 7 | +```text | ||
| 8 | +msmodelslim <command> [<args>] | ||
| 9 | +``` | ||
| 10 | + | ||
| 11 | +符号说明: | ||
| 12 | + | ||
| 13 | +- `<command>` 为子命令名(位置参数),省略时或传入未知子命令时打印顶层帮助。 | ||
| 14 | +- 尖括号内为需替换的值,方括号内为可选参数。 | ||
| 15 | +- `-h`/`--help`、`-V`/`--version` 可在顶层使用,也可放在任意子命令后使用(如 `msmodelslim quant --version`)。 | ||
| 16 | + | ||
| 17 | +## 2. 子命令清单 | ||
| 18 | + | ||
| 19 | +| 子命令 | 功能 | 文档 | | ||
| 20 | +|--------|------|------| | ||
| 21 | +| `quant` | 一键量化或权重转换,并保存量化权重与描述文件 | 《[msmodelslim quant 命令行 API 文档](msmodelslim_quant.md)》 | | ||
| 22 | +| `analyze` | 量化前敏感层分析,输出敏感度最高的层名列表 | 《[msmodelslim analyze 命令行 API 文档](msmodelslim_analyze.md)》 | | ||
| 23 | +| `eval` | 基于 AscendV1 导出做伪量化模型精度评估 | 《[msmodelslim eval 命令行 API 文档](msmodelslim_eval.md)》 | | ||
| 24 | +| `tune` | 自动调优量化配置以达成目标精度 | 《[msmodelslim tune 命令行 API 文档](msmodelslim_tune.md)》 | | ||
| 25 | + | ||
| 26 | +## 3. 全局参数 | ||
| 27 | + | ||
| 28 | +全局参数在顶层解析,适用于全部子命令: | ||
| 29 | + | ||
| 30 | +| 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | | ||
| 31 | +|------|------|------|----------|-----------|--------|----------------|------| | ||
| 32 | +| `--help` | `-h` | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示帮助信息后退出。顶层显示子命令清单,子命令后显示该子命令的参数说明。 | | ||
| 33 | +| `--version` | `-V` | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示版本信息(版本号、构建信息、仓库地址)后退出。该参数在解析子命令前处理,因此在任意位置传入均生效。 | | ||
| 34 | + | ||
| 35 | +## 4. 公共参数 | ||
| 36 | + | ||
| 37 | +以下参数由各子命令分别注册(`quant`、`analyze`、`eval`、`tune` 均已提供),写在子命令之后: | ||
| 38 | + | ||
| 39 | +| 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | | ||
| 40 | +|------|------|------|----------|-----------|--------|----------------|------| | ||
| 41 | +| `--log_level` | 无 | `string` | 单值 | 可选 | `info` | `debug`、`info`、`warning`、`error` | 日志级别。显式传入时优先于 `-v`/`-q`。 | | ||
| 42 | +| `--verbose` | `-v` | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 提高输出详细程度(等价 `--log_level debug`)。 | | ||
| 43 | +| `--quiet` | `-q` | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 抑制非错误输出(等价 `--log_level error`)。 | | ||
| 44 | + | ||
| 45 | +## 5. 使用示例 | ||
| 46 | + | ||
| 47 | +### 5.1 查看版本与顶层帮助 | ||
| 48 | + | ||
| 49 | +```bash | ||
| 50 | +msmodelslim --version | ||
| 51 | +msmodelslim -h | ||
| 52 | +``` | ||
| 53 | + | ||
| 54 | +`-V`/`--version` 输出 `msmodelslim <版本> (<git hash>)` 与构建信息;`-h`/`--help` 输出子命令清单。两者均不依赖 model 与权重路径。 | ||
| 55 | + | ||
| 56 | +### 5.2 查看某个子命令的帮助 | ||
| 57 | + | ||
| 58 | +```bash | ||
| 59 | +msmodelslim quant -h | ||
| 60 | +msmodelslim analyze linear -h | ||
| 61 | +``` | ||
| 62 | + | ||
| 63 | +顶层帮助只列出子命令;子命令的参数说明须在子命令后加 `-h`/`--help` 查看。 | ||
| 64 | + | ||
| 65 | +## 6. 退出码与异常处理 | ||
| 66 | + | ||
| 67 | +正常运行则无异常。失败时抛出异常,具体原因见错误日志。`-V`/`--version` 与 `-h`/`--help` 正常结束,不抛出异常。 | ||
| @@ -4,7 +4,7 @@ | |||
| 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` 在量化前对模型做敏感层分析,输出建议回退或重点关注的层名列表,供后续写入量化配置的 `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 + 随机重复段)。 |
| 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 | ||
| 9 | ## 2. 命令格式 | 9 | ## 2. 命令格式 |
| 10 | 10 | ||
| @@ -34,7 +34,7 @@ msmodelslim analyze attn_head --model_type <model_type> --model_path <model_path | |||
| 34 | 34 | ||
| 35 | | 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | | 35 | | 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | |
| 36 | |------|------|------|----------|-----------|--------|----------------|------| | 36 | |------|------|------|----------|-----------|--------|----------------|------| |
| 37 | -| `--model_type` | 无 | `string` | 单值 | 必选 | 无 | 模型类型名称,如 `Qwen2.5-7B-Instruct`、`Qwen-QwQ-32B` | 待分析模型类型,须与支持矩阵中的名称一致。 | | 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 场景不可指定多个索引。 | |
| @@ -45,6 +45,7 @@ msmodelslim analyze attn_head --model_type <model_type> --model_path <model_path | |||
| 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`)。 | |
| 48 | +| `-h` / `--help` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示帮助信息后退出。在 `analyze` 后使用显示 scope 列表,在 `<scope>` 后使用显示该 scope 的参数说明。 | | ||
| 48 | | `-V` / `--version` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示版本信息后退出(顶层全局参数,可在任意子命令后使用,如 `msmodelslim analyze --version`)。 | | 49 | | `-V` / `--version` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示版本信息后退出(顶层全局参数,可在任意子命令后使用,如 `msmodelslim analyze --version`)。 | |
| 49 | 50 | ||
| 50 | 位置参数: | 51 | 位置参数: |
| @@ -57,15 +58,15 @@ msmodelslim analyze attn_head --model_type <model_type> --model_path <model_path | |||
| 57 | 58 | ||
| 58 | | 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | | 59 | | 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | |
| 59 | |------|------|------|----------|-----------|--------|----------------|------| | 60 | |------|------|------|----------|-----------|--------|----------------|------| |
| 60 | -| `--metrics` | 无 | `string` | 单值 | 可选 | `kurtosis` | `std`、`quantile`、`kurtosis` | 线性层敏感度指标:标准差、分位数、峰度。 | | 61 | +| `--metrics` | 无 | `string` | 单值 | 可选 | `kurtosis` | `std`、`quantile`、`kurtosis` | 线性层敏感度指标:`std`(标准差)、`quantile`(分位数)、`kurtosis`(峰度)。 | |
| 61 | -| `--patterns` | `--pattern`(遗留别名) | `list` | 一次接收多个值,空格分隔 | 可选 | `['*']` | 通配符模式列表 | 过滤要展示的线性层;`*` 表示全部。 | | 62 | +| `--patterns` | `--pattern`(遗留别名) | `list` | 可接收单个或多个值,空格分隔 | 可选 | `['*']` | 模块名称列表,支持通配符;`*` 表示全部 | 过滤要展示的线性层;`*` 表示全部。 | |
| 62 | 63 | ||
| 63 | `layer` 专有参数: | 64 | `layer` 专有参数: |
| 64 | 65 | ||
| 65 | | 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | | 66 | | 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | |
| 66 | |------|------|------|----------|-----------|--------|----------------|------| | 67 | |------|------|------|----------|-----------|--------|----------------|------| |
| 67 | | `--metrics` | 无 | `string` | 单值 | 可选 | `mse_layer_wise` | `mse_model_wise`、`mse_layer_wise` | 层级敏感度指标:按层计算误差或按模型整体计算误差。 | | 68 | | `--metrics` | 无 | `string` | 单值 | 可选 | `mse_layer_wise` | `mse_model_wise`、`mse_layer_wise` | 层级敏感度指标:按层计算误差或按模型整体计算误差。 | |
| 68 | -| `--quant_modules` | 无 | `list` | 一次接收多个值,空格分隔 | 可选 | `['*']` | 通配符模块列表 | 映射到 pipeline 量化范围的模块通配符;`*` 表示全部。 | | 69 | +| `--quant_modules` | 无 | `list` | 可接收单个或多个值,空格分隔 | 可选 | `['*']` | 模块名称列表,支持通配符;`*` 表示全部 | 层级分析中纳入量化流水线(pipeline)量化范围的模块;`*` 表示全部。 | |
| 69 | 70 | ||
| 70 | `attn` 专有参数: | 71 | `attn` 专有参数: |
| 71 | 72 | ||
| @@ -83,7 +84,9 @@ msmodelslim analyze attn_head --model_type <model_type> --model_path <model_path | |||
| 83 | 84 | ||
| 84 | - `scope` 决定可用的 `--metrics` 取值与专有参数;跨 scope 混用(如 `analyze attn --patterns`)会导致参数解析失败,提示不支持的参数或取值。 | 85 | - `scope` 决定可用的 `--metrics` 取值与专有参数;跨 scope 混用(如 `analyze attn --patterns`)会导致参数解析失败,提示不支持的参数或取值。 |
| 85 | - 省略 `scope` 时默认按 `linear` 执行;`msmodelslim analyze -h`/`--help` 时不注入 scope,展示 scope 帮助。 | 86 | - 省略 `scope` 时默认按 `linear` 执行;`msmodelslim analyze -h`/`--help` 时不注入 scope,展示 scope 帮助。 |
| 87 | +- `--model_type` 传入的名称不存在时回退到默认适配器 `default` 执行。 | ||
| 86 | - `--device` 接受 `npu`/`cpu`;多卡分析使用 `--device npu --device_id 0 1 ...`(长度 > 1 启用 `DPLayerWiseRunner`)。兼容遗留写法 `--device npu:0,1`,会自动转换为上述推荐形式。 | 88 | - `--device` 接受 `npu`/`cpu`;多卡分析使用 `--device npu --device_id 0 1 ...`(长度 > 1 启用 `DPLayerWiseRunner`)。兼容遗留写法 `--device npu:0,1`,会自动转换为上述推荐形式。 |
| 89 | +- `--save_path` 为全部 scope 通用的公共参数:`linear`/`layer`/`attn` 输出分析结果 YAML,传入目录时在该目录下生成 `<模型类型>-<指标>.yaml`;`attn_head` 输出 `head.pt`,传入目录时生成 `head.pt`。未指定时结果仅输出到控制台。 | ||
| 87 | - 历史用法 `--metrics attention_mse`(省略 scope 时)会转换为 `analyze attn --metrics mse` 并丢弃 `--patterns`;该行为仅为向后兼容,命令会给出废弃提示,不推荐作为正式用法。 | 90 | - 历史用法 `--metrics attention_mse`(省略 scope 时)会转换为 `analyze attn --metrics mse` 并丢弃 `--patterns`;该行为仅为向后兼容,命令会给出废弃提示,不推荐作为正式用法。 |
| 88 | - `--top_k` 必须为大于0的整数;`--calibration_dataset`:LLM 为 `.json`/`.jsonl`,VLM 可为图文目录名(如 `calibImages`);对 `attn_head` 不生效。 | 91 | - `--top_k` 必须为大于0的整数;`--calibration_dataset`:LLM 为 `.json`/`.jsonl`,VLM 可为图文目录名(如 `calibImages`);对 `attn_head` 不生效。 |
| 89 | - `--save_path` 对四个 scope 均可用,落盘内容随 scope 不同:`linear`/`layer`/`attn` 输出量化 YAML(`top <n>:` 加 `disable_names` 列表,`layer` scope 的整块回退名为 `<block>.*`),指定目录时文件名为 `<model_type>-<metrics>.yaml`;`attn_head` 输出 `head.pt`(含 `prefix_matching`/`copying` 两个字典),交付给后续 MindIE 推理框架的长序列 KV Cache 压缩能力使用,不写入量化配置。目录不存在时会自动创建;不指定该参数时结果只打印到日志。 | 92 | - `--save_path` 对四个 scope 均可用,落盘内容随 scope 不同:`linear`/`layer`/`attn` 输出量化 YAML(`top <n>:` 加 `disable_names` 列表,`layer` scope 的整块回退名为 `<block>.*`),指定目录时文件名为 `<model_type>-<metrics>.yaml`;`attn_head` 输出 `head.pt`(含 `prefix_matching`/`copying` 两个字典),交付给后续 MindIE 推理框架的长序列 KV Cache 压缩能力使用,不写入量化配置。目录不存在时会自动创建;不指定该参数时结果只打印到日志。 |
| @@ -97,53 +100,53 @@ msmodelslim analyze attn_head --model_type <model_type> --model_path <model_path | |||
| 97 | 100 | ||
| 98 | ```bash | 101 | ```bash |
| 99 | msmodelslim analyze \ | 102 | msmodelslim analyze \ |
| 100 | - --model_type "${MODEL_TYPE}" \ | 103 | + --model_type ${MODEL_TYPE} \ |
| 101 | - --model_path "${MODEL_PATH}" | 104 | + --model_path ${MODEL_PATH} |
| 102 | ``` | 105 | ``` |
| 103 | 106 | ||
| 104 | -`${MODEL_TYPE}` 为模型类型名称,`${MODEL_PATH}` 为权重目录。省略 `scope` 时默认按 `linear` 分析,使用默认指标 `kurtosis`、默认 `--top_k 15` 与默认校准集 `mix_calib.jsonl`,输出敏感度最高的15个层名(`disable_names`),可写入量化 YAML 的 `exclude`。 | 107 | +`${MODEL_TYPE}` 为模型类型名称,`${MODEL_PATH}` 为权重目录。省略 `scope` 时默认按 `linear` 分析,使用默认指标 `kurtosis`、默认 `--top_k 15` 与默认校准集 `mix_calib.jsonl`,输出敏感度最高的15个层名,可写入量化 YAML 中 `linear_quant` 的 `exclude`。 |
| 105 | 108 | ||
| 106 | -### 5.2 指定 linear 指标与 top_k | 109 | +### 5.2 指定 scope、指标与 topk |
| 107 | 110 | ||
| 108 | ```bash | 111 | ```bash |
| 109 | msmodelslim analyze linear \ | 112 | msmodelslim analyze linear \ |
| 110 | - --model_type "${MODEL_TYPE}" \ | 113 | + --model_type ${MODEL_TYPE} \ |
| 111 | - --model_path "${MODEL_PATH}" \ | 114 | + --model_path ${MODEL_PATH} \ |
| 112 | --metrics kurtosis \ | 115 | --metrics kurtosis \ |
| 113 | --top_k 15 | 116 | --top_k 15 |
| 114 | ``` | 117 | ``` |
| 115 | 118 | ||
| 116 | -显式指定 `linear` scope,使用峰度指标,并按 `--top_k 15` 输出高敏感层名。 | 119 | +显式指定 `linear` scope,使用峰度指标,并按 `--top_k 15` 输出敏感度最高的15个层名。 |
| 117 | 120 | ||
| 118 | ### 5.3 Attention MSE 分析 | 121 | ### 5.3 Attention MSE 分析 |
| 119 | 122 | ||
| 120 | ```bash | 123 | ```bash |
| 121 | msmodelslim analyze attn \ | 124 | msmodelslim analyze attn \ |
| 122 | - --model_type "${MODEL_TYPE}" \ | 125 | + --model_type ${MODEL_TYPE} \ |
| 123 | - --model_path "${MODEL_PATH}" \ | 126 | + --model_path ${MODEL_PATH} \ |
| 124 | --metrics mse | 127 | --metrics mse |
| 125 | ``` | 128 | ``` |
| 126 | 129 | ||
| 127 | 对全部 Attention 模块计算 MSE 敏感度。 | 130 | 对全部 Attention 模块计算 MSE 敏感度。 |
| 128 | 131 | ||
| 129 | -### 5.4 层级分析与量化模块 | 132 | +### 5.4 指定限定模块进行敏感层分析 |
| 130 | 133 | ||
| 131 | ```bash | 134 | ```bash |
| 132 | msmodelslim analyze layer \ | 135 | msmodelslim analyze layer \ |
| 133 | - --model_type "${MODEL_TYPE}" \ | 136 | + --model_type ${MODEL_TYPE} \ |
| 134 | - --model_path "${MODEL_PATH}" \ | 137 | + --model_path ${MODEL_PATH} \ |
| 135 | --metrics mse_layer_wise \ | 138 | --metrics mse_layer_wise \ |
| 136 | - --quant_modules "${MODULE_1}" "${MODULE_2}" | 139 | + --quant_modules ${MODULE_1} ${MODULE_2} |
| 137 | ``` | 140 | ``` |
| 138 | 141 | ||
| 139 | -`${MODULE_1}`、`${MODULE_2}` 为要映射到 pipeline 量化范围的模块通配符(空格分隔多个值)。 | 142 | +`${MODULE_1}`、`${MODULE_2}` 为纳入量化流水线量化范围的模块名称(支持通配符,空格分隔多个值)。 |
| 140 | 143 | ||
| 141 | ### 5.5 多卡 DP 敏感层分析 | 144 | ### 5.5 多卡 DP 敏感层分析 |
| 142 | 145 | ||
| 143 | ```bash | 146 | ```bash |
| 144 | msmodelslim analyze layer \ | 147 | msmodelslim analyze layer \ |
| 145 | - --model_type "${MODEL_TYPE}" \ | 148 | + --model_type ${MODEL_TYPE} \ |
| 146 | - --model_path "${MODEL_PATH}" \ | 149 | + --model_path ${MODEL_PATH} \ |
| 147 | --metrics mse_layer_wise \ | 150 | --metrics mse_layer_wise \ |
| 148 | --device npu \ | 151 | --device npu \ |
| 149 | --device_id 0 1 2 3 \ | 152 | --device_id 0 1 2 3 \ |
| @@ -156,8 +159,8 @@ msmodelslim analyze layer \ | |||
| 156 | 159 | ||
| 157 | ```bash | 160 | ```bash |
| 158 | msmodelslim analyze attn_head \ | 161 | msmodelslim analyze attn_head \ |
| 159 | - --model_type "${MODEL_TYPE}" \ | 162 | + --model_type ${MODEL_TYPE} \ |
| 160 | - --model_path "${MODEL_PATH}" \ | 163 | + --model_path ${MODEL_PATH} \ |
| 161 | --metrics ra_compress \ | 164 | --metrics ra_compress \ |
| 162 | --device npu \ | 165 | --device npu \ |
| 163 | --save_path ./head_result | 166 | --save_path ./head_result |
| @@ -167,10 +170,7 @@ msmodelslim analyze attn_head \ | |||
| 167 | 170 | ||
| 168 | ## 6. 退出码与异常处理 | 171 | ## 6. 退出码与异常处理 |
| 169 | 172 | ||
| 170 | -| 退出码或异常 | 含义 | 处理建议 | | 173 | +正常运行则无异常,按输出的层名更新量化配置(如写入 `exclude`);`attn_head` 场景检查 `head.pt`。失败时抛出异常。常见原因:scope 与 `--metrics` 取值不匹配、`--device`/`--device_id` 取值非法、校准集格式不符、`--top_k` 非大于0的整数、模型适配器未实现分析接口、多模态生成模型被拦截、`ra_compress` 用于非 LLM。 |
| 171 | -|--------------|------|----------| | ||
| 172 | -| `0` | 分析成功 | 按输出的层名更新量化配置(如写入 `exclude`);指定 `--save_path` 时确认结果文件已生成(`linear`/`layer`/`attn` 为 YAML,`attn_head` 为 `head.pt`)。`attn_head` 场景将 `head.pt` 交付给 MindIE 推理框架用于长序列 KV Cache 压缩,用户可据此完成长序列压缩,压缩后的模型可用于后续推理部署;具体已适配的量化模型列表,请参见《[MindIE 是什么](https://www.hiascend.com/document/detail/zh/mindie/10RC3/whatismindie/mindie_what_0001.html)》的“MindIE 支持模型列表”章节。 | | ||
| 173 | -| 非 `0` | 失败 | 查看错误日志。常见原因:scope 与 `--metrics` 取值不匹配、`--device`/`--device_id` 取值非法、校准集格式不符、`--top_k` 非大于0的整数、模型适配器未实现分析接口、多模态生成模型被拦截、`ra_compress` 用于非 LLM。 | | ||
| 174 | 174 | ||
| 175 | ## 7. 安全说明 | 175 | ## 7. 安全说明 |
| 176 | 176 | ||
| @@ -31,6 +31,7 @@ msmodelslim eval --model_type <model_type> --model_path <model_path> --prompt_fi | |||
| 31 | | `-v` / `--verbose` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 提高输出详细程度(等价 `--log_level debug`)。 | | 31 | | `-v` / `--verbose` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 提高输出详细程度(等价 `--log_level debug`)。 | |
| 32 | | `-q` / `--quiet` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 抑制非错误输出(等价 `--log_level error`)。 | | 32 | | `-q` / `--quiet` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 抑制非错误输出(等价 `--log_level error`)。 | |
| 33 | | `-V` / `--version` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示版本信息后退出(顶层全局参数,可在任意子命令后使用,如 `msmodelslim eval --version`)。 | | 33 | | `-V` / `--version` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示版本信息后退出(顶层全局参数,可在任意子命令后使用,如 `msmodelslim eval --version`)。 | |
| 34 | +| `-h` / `--help` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示本命令帮助信息后退出(如 `msmodelslim eval -h` 或 `msmodelslim eval --help`)。 | | ||
| 34 | 35 | ||
| 35 | ## 4. 参数关系 | 36 | ## 4. 参数关系 |
| 36 | 37 | ||
| @@ -67,10 +68,7 @@ msmodelslim eval \ | |||
| 67 | 68 | ||
| 68 | ## 6. 退出码与异常处理 | 69 | ## 6. 退出码与异常处理 |
| 69 | 70 | ||
| 70 | -| 退出码或异常 | 含义 | 处理建议 | | 71 | +正常运行则无异常,可在日志中查看 `token_ids` 与 `generated_text`。失败时抛出异常。常见原因:`--model_type`/`--model_path`/`--prompt_file` 缺失或路径不可读、样本文件为空或格式不符合对应模型的约定、`--device_id` 索引非法或超出可用设备。 |
| 71 | -|--------------|------|----------| | ||
| 72 | -| `0` | 推理成功 | 检查日志中的 `token_ids` 与 `generated_text` 是否符合预期。 | | ||
| 73 | -| 非 `0` | 失败 | 查看错误日志。常见原因:`--model_type`/`--model_path`/`--prompt_file` 缺失或路径不可读、样本文件为空或格式不符合对应模型的约定、`--device_id` 索引非法或超出可用设备。 | | ||
| 74 | 72 | ||
| 75 | ## 7. 安全说明 | 73 | ## 7. 安全说明 |
| 76 | 74 | ||
| @@ -2,9 +2,9 @@ | |||
| 2 | 2 | ||
| 3 | ## 1. 功能说明 | 3 | ## 1. 功能说明 |
| 4 | 4 | ||
| 5 | -`msmodelslim quant` 是一键量化命令,加载原始模型权重并执行权重/激活量化,导出可部署的量化权重与描述文件。配置来源有两种:通过 `--quant_type` 按模型与量化类型自动匹配 `lab_practice` 中的最佳实践 YAML;或通过 `--config` 直接指定用户 YAML(支持 `modelslim_v1`、多模态以及 `modelslim_convert` 纯权重转换等协议;权重转换不需要 `--model_type`)。两者都不传时按默认量化类型 `w8a8` 匹配最佳实践。 | 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 字段说明见《[modelslim_v1 配置说明](../config/task/modelslim_v1.md)》等引用的配置文档。 | 7 | +命令边界:设备支持 `npu`、`cpu`,多卡通过 `--device_id` 指定索引列表;还支持场景标签匹配与 `--debug` 调试上下文落盘。校准数据准备与部署等操作步骤见《[一键量化完整指南](../../user_guide/usage_quick_quantization.md)》;量化任务 YAML 字段见《[量化任务配置说明导航](../config/quant/README.md)》,自动调优配置见《[自动调优配置说明导航](../config/tuning/README.md)》。更多关联项见[引用的配置](#5-引用的配置)。 |
| 8 | 8 | ||
| 9 | ## 2. 命令格式 | 9 | ## 2. 命令格式 |
| 10 | 10 | ||
| @@ -16,48 +16,52 @@ msmodelslim quant [--model_type <model_type>] --model_path <model_path> --save_p | |||
| 16 | 16 | ||
| 17 | - 尖括号内为需替换的值,方括号内为可选参数。 | 17 | - 尖括号内为需替换的值,方括号内为可选参数。 |
| 18 | - `--config` 与 `--quant_type` 属于互斥组,用 `|` 表示,二者不能同时传入。 | 18 | - `--config` 与 `--quant_type` 属于互斥组,用 `|` 表示,二者不能同时传入。 |
| 19 | -- `--trust_remote_code` 是可选值布尔参数:不带值传入即开启(等价 `true`),或跟 `true`/`false`(大小写不敏感,兼容遗留 `True`/`False`、`yes`/`no`、`on`/`off`)。 | 19 | +- `--trust_remote_code` 是布尔参数:不带值传入即开启(等价 `true`),也可显式传入 `true`/`false`(大小写不敏感,兼容遗留写法 `True`/`False`)。 |
| 20 | - `--debug` 是不带值的布尔开关。 | 20 | - `--debug` 是不带值的布尔开关。 |
| 21 | -- `--tags` 一次接收多个值,`...` 表示可跟多个以空格分隔的值。 | 21 | +- `--tags` 可接收单个或多个值,`...` 表示可跟多个以空格分隔的值。 |
| 22 | -- 本命令无位置参数,全部参数通过选项传入。本语法摘要用于说明参数结构,不作为可复制命令;可复制命令见「使用示例」。 | 22 | +- 本命令无位置参数,全部参数通过选项传入。本语法摘要用于说明参数结构,不作为可复制命令;可复制命令见[使用示例](#7-使用示例)。 |
| 23 | 23 | ||
| 24 | ## 3. 参数列表 | 24 | ## 3. 参数列表 |
| 25 | 25 | ||
| 26 | | 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | | 26 | | 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | |
| 27 | |------|------|------|----------|-----------|--------|----------------|------| | 27 | |------|------|------|----------|-----------|--------|----------------|------| |
| 28 | -| `--model_type` | 无 | `string` | 单值 | 条件必选(量化路径必选;权重转换不需要) | 无 | 模型类型名称,如 `Qwen2.5-7B-Instruct`、`transformers` | 指定待量化模型类型,用于加载对应模型适配器并匹配最佳实践;`transformers`支持加载基于 transformers 的通用基础模型适配器,当前仅适用于大语言模型量化。权重转换不需要此参数。 | | 28 | +| `--model_type` | 无 | `string` | 单值 | 条件必选(普通量化路径必选;`--config` 指向 `apiversion: modelslim_convert` 的配置时可省略) | 无 | 模型类型名称,如 `Qwen2.5-7B-Instruct`、`Qwen3-32B`、`transformers` | 指定待量化模型类型,用于加载对应模型适配器并匹配最佳实践;传入的名称不存在时回退到默认适配器 `default` 执行。`transformers` 用于加载基于 transformers 的通用基础模型适配器;仅当 `--config` 指向 `apiversion: modelslim_convert` 的配置时可省略。 | |
| 29 | -| `--model_path` | 无 | `string` | 单值 | 必选 | 无 | 原始模型权重目录(需存在且可读) | 待量化模型的权重目录。 | | 29 | +| `--model_path` | 无 | `string` | 单值 | 必选 | 无 | 原始模型权重目录(需存在且可读) | 待量化模型的权重目录。权重转换场景仅需 `--model_path` 与 `--save_path`。 | |
| 30 | -| `--save_path` | 无 | `string` | 单值 | 必选 | 无 | 输出目录(需可写) | 量化权重与描述文件的保存目录。 | | 30 | +| `--save_path` | 无 | `string` | 单值 | 必选 | 无 | 输出目录(需可写) | 量化权重与描述文件的保存目录。权重转换场景仅需 `--model_path` 与 `--save_path`。 | |
| 31 | | `--device` | 无 | `string` | 单值 | 可选 | `npu` | `npu`、`cpu` | 运行设备类型;多卡索引请用 `--device_id` 指定。 | | 31 | | `--device` | 无 | `string` | 单值 | 可选 | `npu` | `npu`、`cpu` | 运行设备类型;多卡索引请用 `--device_id` 指定。 | |
| 32 | -| `--device_id` | 无 | `list` | 一次接收多个值,空格分隔 | 可选 | 无 | 非负整数列表,如 `0` 或 `0 1 2 3` | 设备索引;用于指定多个 NPU 设备。 | | 32 | +| `--device_id` | 无 | `list` | 可接收单个或多个值,空格分隔 | 可选 | 无 | 非负整数列表,如 `0` 或 `0 1 2 3` | 设备索引;用于指定多个 NPU 设备。 | |
| 33 | -| `--config` | `--config_path`(遗留别名) | `string` | 单值 | 可选 | 无 | 可读 YAML 文件路径 | 显式指定的量化配置 YAML;加载后直接采用,并忽略 `--quant_type` 与 `--tags` 的最佳实践匹配。与 `--quant_type` 互斥。 | | 33 | +| `--config` | `-c`、`--config_path`(遗留别名) | `string` | 单值 | 可选 | 无 | 可读 YAML 文件路径 | 显式指定的量化配置 YAML;加载后直接采用,并忽略 `--quant_type` 与 `--tags` 的最佳实践匹配。与 `--quant_type` 互斥,`--config` 与 `--quant_type` 两者都不传时按默认量化类型 `w8a8` 匹配最佳实践。 | |
| 34 | -| `--quant_type` | 无 | `string` | 单值 | 可选 | 无(与 `--config` 均未提供时按 `w8a8` 匹配) | `w4a4`、`w4a8`、`w4a4c8`、`w4a4f8`、`w4a8c8`、`w8a16`、`w8a8`、`w8a8s`、`w8a8c8`、`w8a8f8`、`w4a4f4`、`w16a16s` | 量化类型,用于按模型与量化类型匹配最佳实践 YAML。与 `--config` 互斥。 | | 34 | +| `--quant_type` | 无 | `string` | 单值 | 可选 | 无(与 `--config` 均未提供时按 `w8a8` 匹配) | `w4a4`、`w4a8`、`w4a4c8`、`w4a4f8`、`w4a8c8`、`w8a16`、`w8a8`、`w8a8s`、`w8a8c8`、`w8a8f8`、`w4a4f4`、`w16a16s` | 量化类型,用于按模型与量化类型匹配最佳实践 YAML。与 `--config` 互斥,`--config` 与 `--quant_type` 两者都不传时按默认量化类型 `w8a8` 匹配最佳实践。 | |
| 35 | -| `--trust_remote_code` | 无 | `bool` | 可选值(不带值传入即开启,或跟 `true`/`false`) | 可选 | `false` | `true`/`false`(大小写不敏感;兼容 `True`/`False`、`yes`/`no`、`on`/`off`) | 是否信任并执行模型目录中的自定义 Python 代码;仅在确认代码来源可信时开启。 | | 35 | +| `--trust_remote_code` | 无 | `bool` | 不带值传入即开启,也可显式传值 `true`/`false` | 可选 | `false` | `true`/`false`(大小写不敏感;兼容遗留写法 `True`/`False`) | 是否信任并执行模型目录中的自定义 Python 代码;仅在确认代码来源可信时开启。 | |
| 36 | | `--debug` | 无 | `bool` | 不带值开关 | 可选 | `False` | 传入即启用 | 启用调试模式,将量化中间上下文写入 `${SAVE_PATH}/debug_info/`(`debug_info.json` 与 `debug_info.safetensors`)。 | | 36 | | `--debug` | 无 | `bool` | 不带值开关 | 可选 | `False` | 传入即启用 | 启用调试模式,将量化中间上下文写入 `${SAVE_PATH}/debug_info/`(`debug_info.json` 与 `debug_info.safetensors`)。 | |
| 37 | -| `--tags` | `--tag`(遗留别名) | `list` | 一次接收多个值,空格分隔 | 可选 | 无 | 场景标签,如 `mindie`、`Atlas_A2_Inference`、`vllm` | 匹配带已验证场景标签的最佳实践;多个标签须同时出现在同一场景中,未提供硬件类型标签时自动匹配当前设备类型。 | | 37 | +| `--tags` | `--tag`(遗留别名) | `list` | 可接收单个或多个值,空格分隔 | 可选 | 无 | 场景标签,须与最佳实践 `verified_tags` 中的标签名一致(大小写不敏感),如 `vLLM-Ascend`、`Atlas_A2_Inference`、`MindIE` | 匹配带已验证场景标签的最佳实践;多个标签须同时出现在同一场景中,未提供硬件类型标签时自动匹配当前设备类型。 | |
| 38 | | `--log_level` | 无 | `string` | 单值 | 可选 | `info` | `debug`、`info`、`warning`、`error` | 日志级别。 | | 38 | | `--log_level` | 无 | `string` | 单值 | 可选 | `info` | `debug`、`info`、`warning`、`error` | 日志级别。 | |
| 39 | | `-v` / `--verbose` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 提高输出详细程度(等价 `--log_level debug`)。 | | 39 | | `-v` / `--verbose` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 提高输出详细程度(等价 `--log_level debug`)。 | |
| 40 | | `-q` / `--quiet` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 抑制非错误输出(等价 `--log_level error`)。 | | 40 | | `-q` / `--quiet` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 抑制非错误输出(等价 `--log_level error`)。 | |
| 41 | +| `-h` / `--help` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示帮助信息后退出(如 `msmodelslim quant -h`)。 | | ||
| 41 | | `-V` / `--version` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示版本信息后退出(顶层全局参数,可在任意子命令后使用,如 `msmodelslim quant --version`)。 | | 42 | | `-V` / `--version` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示版本信息后退出(顶层全局参数,可在任意子命令后使用,如 `msmodelslim quant --version`)。 | |
| 42 | 43 | ||
| 43 | ## 4. 参数关系 | 44 | ## 4. 参数关系 |
| 44 | 45 | ||
| 45 | - `--config` 与 `--quant_type` 互斥,同时传入会报错。 | 46 | - `--config` 与 `--quant_type` 互斥,同时传入会报错。 |
| 46 | -- 两者都不传时,按默认量化类型 `w8a8` 匹配最佳实践;未匹配到最佳实践时会给出提示并等待确认(输入 `y` 继续,否则退出)。 | 47 | +- 两者都不传是受支持的用法:按默认量化类型 `w8a8` 匹配最佳实践;未匹配到最佳实践时会给出提示并等待确认(输入 `Y`/`y` 继续,输入其他内容则退出)。该提示为交互式输入,在无标准输入的非交互环境下会一直等待,建议改用 `--config` 或显式指定 `--quant_type`。 |
| 47 | - 指定 `--config` 后直接采用该配置,`--quant_type` 与 `--tags` 的最佳实践匹配均被忽略。 | 48 | - 指定 `--config` 后直接采用该配置,`--quant_type` 与 `--tags` 的最佳实践匹配均被忽略。 |
| 48 | -- `--model_type`:量化路径必须提供;权重转换不需要。 | 49 | +- `--model_type` 在普通量化路径下必须提供;仅当 `--config` 指向 `apiversion: modelslim_convert` 的配置时可省略,此时为纯权重转换,无需加载模型代码,`--model_type` 及量化相关参数均不生效。 |
| 49 | -- `--model_type` 指定 `transformers` 时,若使用 `--quant_type`, 仅支持 `w8a16`/`w8a8`;若使用 `--config`,当前仅支持大语言模型量化配置(`apiversion: modelslim_v1`)。 | 50 | +- `--model_type` 传入的名称不存在时回退到默认适配器 `default` 执行。 |
| 51 | +- `--model_type` 指定 `transformers` 时,若使用 `--quant_type`,仅支持 `w8a16`/`w8a8`;若使用 `--config`,当前仅支持大语言模型量化配置(`apiversion: modelslim_v1`),多模态理解(`multimodal_vlm_modelslim_v1`)与多模态生成(`multimodal_sd_modelslim_v1`)配置会被拒绝。 | ||
| 50 | - `--tags` 指定多个值时须同时出现在同一已验证场景;未提供硬件类型标签时自动匹配当前设备类型。 | 52 | - `--tags` 指定多个值时须同时出现在同一已验证场景;未提供硬件类型标签时自动匹配当前设备类型。 |
| 51 | - `--debug` 启用后量化上下文写入 `${SAVE_PATH}/debug_info/`。 | 53 | - `--debug` 启用后量化上下文写入 `${SAVE_PATH}/debug_info/`。 |
| 52 | 54 | ||
| 53 | ## 5. 引用的配置 | 55 | ## 5. 引用的配置 |
| 54 | 56 | ||
| 57 | +协议总览见《[量化任务配置说明导航](../config/quant/README.md)》;若配置用于自动调优模板,另见《[自动调优配置说明导航](../config/tuning/README.md)》。 | ||
| 58 | + | ||
| 55 | | 关联参数 | 配置名称 | 引用关系 | 配置文档 | | 59 | | 关联参数 | 配置名称 | 引用关系 | 配置文档 | |
| 56 | |----------|----------|----------|----------| | 60 | |----------|----------|----------|----------| |
| 57 | -| `--config` | `modelslim_v1` | 加载整份量化 YAML | 《[modelslim_v1 配置说明](../config/task/modelslim_v1.md)》 | | 61 | +| `--config` | `modelslim_v1` | 加载整份量化 YAML | 《[modelslim_v1 配置说明](../config/quant/modelslim_v1.md)》 | |
| 58 | -| `--config` | `multimodal_vlm_modelslim_v1` | 多模态理解模型量化 YAML | 《[multimodal_vlm_modelslim_v1 配置说明](../config/task/multimodal_vlm_modelslim_v1.md)》 | | 62 | +| `--config` | `multimodal_vlm_modelslim_v1` | 多模态理解模型量化 YAML | 《[multimodal_vlm_modelslim_v1 配置说明](../config/quant/multimodal_vlm_modelslim_v1.md)》 | |
| 59 | -| `--config` | `multimodal_sd_modelslim_v1` | 多模态生成模型量化 YAML | 《[multimodal_sd_modelslim_v1 配置说明](../config/task/multimodal_sd_modelslim_v1.md)》 | | 63 | +| `--config` | `multimodal_sd_modelslim_v1` | 多模态生成模型量化 YAML | 《[multimodal_sd_modelslim_v1 配置说明](../config/quant/multimodal_sd_modelslim_v1.md)》 | |
| 60 | -| `--config` | `modelslim_convert` | 权重转换 YAML;不需要 `--model_type` | 《[modelslim_convert 配置说明](../config/task/modelslim_convert.md)》 | | 64 | +| `--config` | `modelslim_convert` | 权重转换 YAML;不需要 `--model_type` | 《[modelslim_convert 配置说明](../config/quant/modelslim_convert.md)》 | |
| 61 | | `--quant_type` | `lab_practice` 最佳实践 YAML | 按模型与量化类型匹配 | 《[一键量化完整指南](../../user_guide/usage_quick_quantization.md)》 | | 65 | | `--quant_type` | `lab_practice` 最佳实践 YAML | 按模型与量化类型匹配 | 《[一键量化完整指南](../../user_guide/usage_quick_quantization.md)》 | |
| 62 | 66 | ||
| 63 | ## 6. 环境变量 | 67 | ## 6. 环境变量 |
| @@ -75,9 +79,9 @@ msmodelslim quant [--model_type <model_type>] --model_path <model_path> --save_p | |||
| 75 | 79 | ||
| 76 | ```bash | 80 | ```bash |
| 77 | msmodelslim quant \ | 81 | msmodelslim quant \ |
| 78 | - --model_type "${MODEL_TYPE}" \ | 82 | + --model_type ${MODEL_TYPE} \ |
| 79 | - --model_path "${MODEL_PATH}" \ | 83 | + --model_path ${MODEL_PATH} \ |
| 80 | - --save_path "${SAVE_PATH}" | 84 | + --save_path ${SAVE_PATH} |
| 81 | ``` | 85 | ``` |
| 82 | 86 | ||
| 83 | `${MODEL_TYPE}` 为模型类型名称(如 `Qwen2.5-7B-Instruct`),`${MODEL_PATH}` 为浮点权重目录,`${SAVE_PATH}` 为量化输出目录。未指定 `--quant_type` 与 `--config` 时,默认按量化类型 `w8a8` 匹配最佳实践并执行量化;若模型加载需要模型目录内的自定义代码,再补充 `--trust_remote_code true`。 | 87 | `${MODEL_TYPE}` 为模型类型名称(如 `Qwen2.5-7B-Instruct`),`${MODEL_PATH}` 为浮点权重目录,`${SAVE_PATH}` 为量化输出目录。未指定 `--quant_type` 与 `--config` 时,默认按量化类型 `w8a8` 匹配最佳实践并执行量化;若模型加载需要模型目录内的自定义代码,再补充 `--trust_remote_code true`。 |
| @@ -87,8 +91,8 @@ msmodelslim quant \ | |||
| 87 | ```bash | 91 | ```bash |
| 88 | msmodelslim quant \ | 92 | msmodelslim quant \ |
| 89 | --model_type transformers \ | 93 | --model_type transformers \ |
| 90 | - --model_path "${MODEL_PATH}" \ | 94 | + --model_path ${MODEL_PATH} \ |
| 91 | - --save_path "${SAVE_PATH}" \ | 95 | + --save_path ${SAVE_PATH} \ |
| 92 | --quant_type w8a16 | 96 | --quant_type w8a16 |
| 93 | ``` | 97 | ``` |
| 94 | 98 | ||
| @@ -96,73 +100,70 @@ msmodelslim quant \ | |||
| 96 | 100 | ||
| 97 | ```bash | 101 | ```bash |
| 98 | msmodelslim quant \ | 102 | msmodelslim quant \ |
| 99 | - --model_type "${MODEL_TYPE}" \ | 103 | + --model_type ${MODEL_TYPE} \ |
| 100 | - --model_path "${MODEL_PATH}" \ | 104 | + --model_path ${MODEL_PATH} \ |
| 101 | - --save_path "${SAVE_PATH}" \ | 105 | + --save_path ${SAVE_PATH} \ |
| 102 | --quant_type w8a8c8 \ | 106 | --quant_type w8a8c8 \ |
| 103 | --device npu \ | 107 | --device npu \ |
| 104 | --device_id 0 1 2 3 | 108 | --device_id 0 1 2 3 |
| 105 | ``` | 109 | ``` |
| 106 | 110 | ||
| 107 | -`--quant_type w8a8c8` 表示权重8bit、激活8bit、KVCache 8bit 量化;`--device_id 0 1 2 3` 使用 4 个 NPU 设备。权重转换的命令见 [7.6](#76-权重转换不需要-model_type)。 | 111 | +`--quant_type w8a8c8` 表示权重8bit、激活8bit、KVCache 8bit 量化;`--device_id 0 1 2 3` 使用 4 个 NPU 设备。权重转换的命令见 [7.7](#77-显示指定设备进行权重转换)。 |
| 108 | 112 | ||
| 109 | ### 7.4 使用自定义配置文件 | 113 | ### 7.4 使用自定义配置文件 |
| 110 | 114 | ||
| 111 | ```bash | 115 | ```bash |
| 112 | msmodelslim quant \ | 116 | msmodelslim quant \ |
| 113 | - --model_type "${MODEL_TYPE}" \ | 117 | + --model_type ${MODEL_TYPE} \ |
| 114 | - --model_path "${MODEL_PATH}" \ | 118 | + --model_path ${MODEL_PATH} \ |
| 115 | - --save_path "${SAVE_PATH}" \ | 119 | + --save_path ${SAVE_PATH} \ |
| 116 | - --config "${CONFIG_PATH}" | 120 | + --config ${CONFIG_PATH} |
| 117 | ``` | 121 | ``` |
| 118 | 122 | ||
| 119 | -`${CONFIG_PATH}` 指向符合 V1 等协议的量化 YAML;指定后直接采用该配置,不再做最佳实践匹配。字段说明见引用的配置文档。权重转换示例见 [7.6](#76-权重转换不需要-model_type)。 | 123 | +`${CONFIG_PATH}` 指向符合 V1 协议的量化 YAML;指定后直接采用该配置,不再做最佳实践匹配。字段说明见引用的配置文档。权重转换示例见 [7.7](#77-显示指定设备进行权重转换)。 |
| 120 | 124 | ||
| 121 | ### 7.5 使用场景标签匹配最佳实践 | 125 | ### 7.5 使用场景标签匹配最佳实践 |
| 122 | 126 | ||
| 123 | ```bash | 127 | ```bash |
| 124 | msmodelslim quant \ | 128 | msmodelslim quant \ |
| 125 | - --model_type "${MODEL_TYPE}" \ | 129 | + --model_type ${MODEL_TYPE} \ |
| 126 | - --model_path "${MODEL_PATH}" \ | 130 | + --model_path ${MODEL_PATH} \ |
| 127 | - --save_path "${SAVE_PATH}" \ | 131 | + --save_path ${SAVE_PATH} \ |
| 128 | --quant_type w8a8 \ | 132 | --quant_type w8a8 \ |
| 129 | - --tags mindie Atlas_A2_Inference | 133 | + --tags MindIE Atlas_A2_Inference |
| 130 | ``` | 134 | ``` |
| 131 | 135 | ||
| 132 | -`--tags` 后的多个标签须同时出现在同一已验证场景中;未精确匹配时命令会给出提示并等待确认(输入 `y` 继续,否则退出);命中备用(standby)配置时提示改用备用配置,仍需用户确认。 | 136 | +`--tags` 后的多个标签须同时出现在同一已验证场景中;未精确匹配时命令会给出提示并等待确认(输入 `Y`/`y` 继续,输入其他内容则退出);命中备用(standby)配置时提示改用备用配置,仍需用户确认。 |
| 133 | 137 | ||
| 134 | -<a id="76-权重转换不需要-model_type"></a> | 138 | +### 7.6 纯权重转换(不执行量化) |
| 135 | 139 | ||
| 136 | -### 7.6 权重转换(不需要 `--model_type`) | 140 | +`--config` 指向 `apiversion: modelslim_convert` 的配置时,仅做权重格式转换,无需 `--model_type` 和 `--quant_type`: |
| 137 | - | ||
| 138 | -`--config` 使用 `apiversion: modelslim_convert` 的 YAML。不需要 `--model_type` 和 `--quant_type`: | ||
| 139 | 141 | ||
| 140 | ```bash | 142 | ```bash |
| 141 | msmodelslim quant \ | 143 | msmodelslim quant \ |
| 142 | - --model_path "${MODEL_PATH}" \ | 144 | + --model_path ${MODEL_PATH} \ |
| 143 | - --save_path "${SAVE_PATH}" \ | 145 | + --save_path ${SAVE_PATH} \ |
| 144 | - --config "${CONFIG_PATH}" | 146 | + --config ${CONFIG_PATH} |
| 145 | ``` | 147 | ``` |
| 146 | 148 | ||
| 147 | -`${MODEL_PATH}` 为源权重目录,`${SAVE_PATH}` 为转换输出目录,`${CONFIG_PATH}` 为转换 YAML。配置协议与字段见《[modelslim_convert 配置说明](../config/task/modelslim_convert.md)》,操作步骤与示例 YAML 见《[权重转换使用指南](../../knowledge_base/ptq/convert/usage_weight_conversion.md)》。 | 149 | +`${MODEL_PATH}` 为源权重目录,`${SAVE_PATH}` 为转换输出目录,`${CONFIG_PATH}` 为转换 YAML。配置协议与字段见《[modelslim_convert 配置说明](../config/quant/modelslim_convert.md)》,操作步骤与示例 YAML 见《[权重转换使用指南](../../knowledge_base/ptq/convert/usage_weight_conversion.md)》。 |
| 150 | + | ||
| 151 | +### 7.7 显示指定设备进行权重转换 | ||
| 148 | 152 | ||
| 149 | NPU 多卡时加上 `--device npu` 和 `--device_id`: | 153 | NPU 多卡时加上 `--device npu` 和 `--device_id`: |
| 150 | 154 | ||
| 151 | ```bash | 155 | ```bash |
| 152 | msmodelslim quant \ | 156 | msmodelslim quant \ |
| 153 | - --model_path "${MODEL_PATH}" \ | 157 | + --model_path ${MODEL_PATH} \ |
| 154 | - --save_path "${SAVE_PATH}" \ | 158 | + --save_path ${SAVE_PATH} \ |
| 155 | - --config "${CONFIG_PATH}" \ | 159 | + --config ${CONFIG_PATH} \ |
| 156 | --device npu \ | 160 | --device npu \ |
| 157 | --device_id 0 1 2 3 | 161 | --device_id 0 1 2 3 |
| 158 | ``` | 162 | ``` |
| 159 | 163 | ||
| 160 | ## 8. 退出码与异常处理 | 164 | ## 8. 退出码与异常处理 |
| 161 | 165 | ||
| 162 | -| 退出码或异常 | 含义 | 处理建议 | | 166 | +正常运行则无异常,`${SAVE_PATH}` 下生成量化权重与描述文件。失败时抛出异常。常见原因:`--config` 与 `--quant_type` 同时传入、普通量化路径缺少 `--model_type`、YAML 校验失败、`--device_id` 索引非法或超出可用设备。 |
| 163 | -|--------------|------|----------| | ||
| 164 | -| `0` | 量化成功 | 检查 `${SAVE_PATH}` 是否生成量化权重与描述文件。 | | ||
| 165 | -| 非 `0` | 失败 | 查看错误日志。常见原因:`--config` 与 `--quant_type` 同时传入、普通量化路径缺少 `--model_type`、YAML 校验失败、`--device_id` 索引非法或超出可用设备。 | | ||
| 166 | 167 | ||
| 167 | ## 9. 安全说明 | 168 | ## 9. 安全说明 |
| 168 | 169 | ||
| @@ -2,9 +2,9 @@ | |||
| 2 | 2 | ||
| 3 | ## 1. 功能说明 | 3 | ## 1. 功能说明 |
| 4 | 4 | ||
| 5 | -`msmodelslim tune` 是自动调优命令,读取包含 `strategy` 与 `evaluation` 的调优 YAML,循环执行「生成量化配置 → 量化 → 精度评估」,根据评估结果迭代搜索满足精度期望的量化配置,直至策略生成器耗尽、达到 `--timeout` 超时或达到最大迭代次数。量化模型与评估历史等结果写入 `--save_path`;调优结束后,最终最佳实践可保存到自定义最佳实践仓库。 | 5 | +`msmodelslim tune` 是自动调优命令,读取包含 `strategy` 与 `evaluation` 的调优 YAML,循环执行"生成量化配置 → 量化 → 精度评估"流程,根据评估结果迭代搜索满足精度期望的量化配置,直至策略生成器耗尽、达到 `--timeout` 超时或达到最大迭代次数。量化模型与评估历史等结果写入 `--save_path`;调优结束后,最终最佳实践可保存到自定义最佳实践仓库。 |
| 6 | 6 | ||
| 7 | -命令边界:本命令不展开具体调优策略与评估配置的编写;字段说明见《[自动调优配置协议说明](../config/auto_precision_tuning.md)》,操作步骤见《[自动调优使用说明](../../user_guide/usage_auto_precision_tuning.md)》。 | 7 | +命令边界:本命令不展开具体调优策略与评估配置的编写;字段说明见《[自动调优配置说明导航](../config/tuning/README.md)》,其中策略模板引用的量化任务协议见《[量化任务配置说明导航](../config/quant/README.md)》;操作步骤见《[自动调优使用说明](../../user_guide/usage_auto_precision_tuning.md)》。 |
| 8 | 8 | ||
| 9 | ## 2. 命令格式 | 9 | ## 2. 命令格式 |
| 10 | 10 | ||
| @@ -17,30 +17,31 @@ msmodelslim tune --model_path <model_path> --save_path <save_path> --config <con | |||
| 17 | - 尖括号内为需替换的值,方括号内为可选参数。 | 17 | - 尖括号内为需替换的值,方括号内为可选参数。 |
| 18 | - `--model_path`、`--save_path`、`--config` 为必选参数。 | 18 | - `--model_path`、`--save_path`、`--config` 为必选参数。 |
| 19 | - `--config` 是必选的调优 YAML 路径;与一键量化命令的 `--config` 同名,但语义不同(一键量化的 `--config` 可选)。 | 19 | - `--config` 是必选的调优 YAML 路径;与一键量化命令的 `--config` 同名,但语义不同(一键量化的 `--config` 可选)。 |
| 20 | -- `--timeout` 为整数秒(如 `7200` 表示 2 小时);兼容遗留时长字符串如 `2H`、`3D4H`。 | 20 | +- `--timeout` 以整数秒传入(如 `7200` 表示 2小时);旧的时长字符串写法(如 `2H`、`3D4H`)仅为向后兼容保留,新用法请统一使用秒。 |
| 21 | -- `--trust_remote_code` 是可选值布尔参数:不带值传入即开启(等价 `true`),或跟 `true`/`false`(大小写不敏感,兼容遗留 `True`/`False`、`yes`/`no`、`on`/`off`)。 | 21 | +- `--trust_remote_code` 是布尔参数:不带值传入即开启(等价 `true`),也可显式传入 `true`/`false`(大小写不敏感,兼容遗留写法 `True`/`False`)。 |
| 22 | -- 本命令无位置参数。本语法摘要用于说明参数结构,不作为可复制命令;可复制命令见「使用示例」。 | 22 | +- 本命令无位置参数。本语法摘要用于说明参数结构,不作为可复制命令;可复制命令见[使用示例](#7-使用示例)。 |
| 23 | 23 | ||
| 24 | ## 3. 参数列表 | 24 | ## 3. 参数列表 |
| 25 | 25 | ||
| 26 | | 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | | 26 | | 参数 | 别名 | 类型 | 传入形式 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | |
| 27 | |------|------|------|----------|-----------|--------|----------------|------| | 27 | |------|------|------|----------|-----------|--------|----------------|------| |
| 28 | -| `--model_type` | 无 | `string` | 单值 | 可选 | `default` | 模型类型名称,如 `Qwen2.5-7B-Instruct`、`Qwen-QwQ-32B` | 待调优模型类型;不传时使用默认适配器 `default`。 | | 28 | +| `--model_type` | 无 | `string` | 单值 | 可选 | `default` | 模型类型名称,如 `Qwen2.5-7B-Instruct`、`Qwen3-32B` | 待调优模型类型,须与《[大模型支持矩阵](../../knowledge_base/model/README.md)》中的名称一致;不传时使用默认适配器 `default`。 | |
| 29 | | `--model_path` | 无 | `string` | 单值 | 必选 | 无 | 原始模型权重目录(需存在且可读) | 待调优模型的权重目录。 | | 29 | | `--model_path` | 无 | `string` | 单值 | 必选 | 无 | 原始模型权重目录(需存在且可读) | 待调优模型的权重目录。 | |
| 30 | | `--save_path` | 无 | `string` | 单值 | 必选 | 无 | 输出目录(需可写) | 调优结果、量化模型与历史记录的保存目录。 | | 30 | | `--save_path` | 无 | `string` | 单值 | 必选 | 无 | 输出目录(需可写) | 调优结果、量化模型与历史记录的保存目录。 | |
| 31 | -| `--config` | 无 | `string` | 单值 | 必选 | 无 | 可读 YAML 文件路径 | 调优配置 YAML,含 `strategy` 与 `evaluation` 字段。 | | 31 | +| `--config` | `-c` | `string` | 单值 | 必选 | 无 | 可读 YAML 文件路径 | 调优配置 YAML,含 `strategy` 与 `evaluation` 字段。 | |
| 32 | | `--device` | 无 | `string` | 单值 | 可选 | `npu` | `npu`、`cpu` | 运行设备类型;多卡索引请用 `--device_id` 指定。 | | 32 | | `--device` | 无 | `string` | 单值 | 可选 | `npu` | `npu`、`cpu` | 运行设备类型;多卡索引请用 `--device_id` 指定。 | |
| 33 | -| `--device_id` | 无 | `list` | 一次接收多个值,空格分隔 | 可选 | 无 | 非负整数列表,如 `0` 或 `0 1 2 3` | 设备索引,用于指定多个 NPU 设备。 | | 33 | +| `--device_id` | 无 | `list` | 可接收单个或多个值,空格分隔 | 可选 | 无 | 非负整数列表,如 `0` 或 `0 1 2 3` | 设备索引,用于指定多个 NPU 设备。 | |
| 34 | -| `--timeout` | 无 | `int`(秒) | 单值 | 可选 | 无(不限时) | 整数秒,如 `7200`(2 小时)、`3600`(1 小时);兼容遗留时长字符串(如 `1D2H30M15S`,单位固定顺序 D/H/M/S) | 调优墙钟超时;到达超时时间后停止本次调优。 | | 34 | +| `--timeout` | 无 | `int`(秒) | 单值 | 可选 | 无(不限时) | 整数秒,如 `7200`(2小时)、`3600`(1小时);仅向后兼容保留旧时长字符串写法(如 `1D2H30M15S`,单位固定顺序 D/H/M/S) | 调优墙钟超时;到达超时时间后停止本次调优。 | |
| 35 | -| `--trust_remote_code` | 无 | `bool` | 可选值(不带值传入即开启,或跟 `true`/`false`) | 可选 | `false` | `true`/`false`(大小写不敏感;兼容 `True`/`False`、`yes`/`no`、`on`/`off`) | 是否信任并执行模型目录中的自定义 Python 代码;仅在确认代码来源可信时开启。 | | 35 | +| `--trust_remote_code` | 无 | `bool` | 不带值传入即开启,也可显式传值 `true`/`false` | 可选 | `false` | `true`/`false`(大小写不敏感;兼容遗留写法 `True`/`False`) | 是否信任并执行模型目录中的自定义 Python 代码;仅在确认代码来源可信时开启。 | |
| 36 | | `--log_level` | 无 | `string` | 单值 | 可选 | `info` | `debug`、`info`、`warning`、`error` | 日志级别。 | | 36 | | `--log_level` | 无 | `string` | 单值 | 可选 | `info` | `debug`、`info`、`warning`、`error` | 日志级别。 | |
| 37 | | `-v` / `--verbose` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 提高输出详细程度(等价 `--log_level debug`)。 | | 37 | | `-v` / `--verbose` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 提高输出详细程度(等价 `--log_level debug`)。 | |
| 38 | | `-q` / `--quiet` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 抑制非错误输出(等价 `--log_level error`)。 | | 38 | | `-q` / `--quiet` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 抑制非错误输出(等价 `--log_level error`)。 | |
| 39 | +| `-h` / `--help` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示帮助信息后退出(如 `msmodelslim tune -h`)。 | | ||
| 39 | | `-V` / `--version` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示版本信息后退出(顶层全局参数,可在任意子命令后使用,如 `msmodelslim tune --version`)。 | | 40 | | `-V` / `--version` | 无 | `bool` | 不带值开关 | 可选 | 关闭 | 传入即启用 | 显示版本信息后退出(顶层全局参数,可在任意子命令后使用,如 `msmodelslim tune --version`)。 | |
| 40 | 41 | ||
| 41 | ## 4. 参数关系 | 42 | ## 4. 参数关系 |
| 42 | 43 | ||
| 43 | -- 本命令通过必选的 `--config` 加载调优 YAML;与一键量化命令的 `--config` 同名但语义不同,本命令不接收 `--config_path`。 | 44 | +- 本命令通过必选的 `--config` 加载调优 YAML。 |
| 44 | - `--timeout` 未设置时不限制调优墙钟时间;设置后超时即停止当前调优。 | 45 | - `--timeout` 未设置时不限制调优墙钟时间;设置后超时即停止当前调优。 |
| 45 | - `--device` 仅接受 `npu`/`cpu`,多卡索引通过 `--device_id` 指定。 | 46 | - `--device` 仅接受 `npu`/`cpu`,多卡索引通过 `--device_id` 指定。 |
| 46 | - `--model_type` 不传时使用默认值 `default`。 | 47 | - `--model_type` 不传时使用默认值 `default`。 |
| @@ -49,13 +50,13 @@ msmodelslim tune --model_path <model_path> --save_path <save_path> --config <con | |||
| 49 | 50 | ||
| 50 | | 关联参数 | 配置名称 | 引用关系 | 配置文档 | | 51 | | 关联参数 | 配置名称 | 引用关系 | 配置文档 | |
| 51 | |----------|----------|----------|----------| | 52 | |----------|----------|----------|----------| |
| 52 | -| `--config` | 自动调优配置 | 加载 `strategy` 与 `evaluation` | 《[自动调优配置协议说明](../config/auto_precision_tuning.md)》 | | 53 | +| `--config` | 自动调优配置 | 加载 `strategy` 与 `evaluation` | 《[自动调优配置说明导航](../config/tuning/README.md)》 | |
| 53 | 54 | ||
| 54 | ## 6. 环境变量 | 55 | ## 6. 环境变量 |
| 55 | 56 | ||
| 56 | | 环境变量 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | | 57 | | 环境变量 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | |
| 57 | |----------|------|-----------|--------|----------------|------| | 58 | |----------|------|-----------|--------|----------------|------| |
| 58 | -| `MSMODELSLIM_CUSTOM_PRACTICE_REPO` | `string` | 可选 | 无(未设置) | 目录路径 | 调优结束后将最终最佳实践保存到该自定义最佳实践仓库;未设置时命令仅记录「不支持保存」的提示。 | | 59 | +| `MSMODELSLIM_CUSTOM_PRACTICE_REPO` | `string` | 可选 | 无(未设置) | 目录路径 | 调优结束后将最终最佳实践保存到该自定义最佳实践仓库;未设置时命令仅记录"不支持保存"的提示。 | |
| 59 | | `MSMODELSLIM_LOG_LEVEL` | `string` | 可选 | `INFO` | `INFO`、`DEBUG` | 设置日志级别;设置后打印同级及以上日志。 | | 60 | | `MSMODELSLIM_LOG_LEVEL` | `string` | 可选 | `INFO` | `INFO`、`DEBUG` | 设置日志级别;设置后打印同级及以上日志。 | |
| 60 | 61 | ||
| 61 | ## 7. 使用示例 | 62 | ## 7. 使用示例 |
| @@ -66,34 +67,31 @@ msmodelslim tune --model_path <model_path> --save_path <save_path> --config <con | |||
| 66 | 67 | ||
| 67 | ```bash | 68 | ```bash |
| 68 | msmodelslim tune \ | 69 | msmodelslim tune \ |
| 69 | - --model_path "${MODEL_PATH}" \ | 70 | + --model_path ${MODEL_PATH} \ |
| 70 | - --save_path "${SAVE_PATH}" \ | 71 | + --save_path ${SAVE_PATH} \ |
| 71 | - --config "${CONFIG_PATH}" | 72 | + --config ${CONFIG_PATH} |
| 72 | ``` | 73 | ``` |
| 73 | 74 | ||
| 74 | `${MODEL_PATH}` 为权重目录,`${SAVE_PATH}` 为调优结果目录,`${CONFIG_PATH}` 为调优 YAML(含 `strategy` 与 `evaluation`)。未指定 `--model_type` 时使用默认适配器 `default`,推荐显式指定。 | 75 | `${MODEL_PATH}` 为权重目录,`${SAVE_PATH}` 为调优结果目录,`${CONFIG_PATH}` 为调优 YAML(含 `strategy` 与 `evaluation`)。未指定 `--model_type` 时使用默认适配器 `default`,推荐显式指定。 |
| 75 | 76 | ||
| 76 | -### 7.2 指定模型类型与超时 | 77 | +### 7.2 显示指定模型类型、设备与超时时长 |
| 77 | 78 | ||
| 78 | ```bash | 79 | ```bash |
| 79 | msmodelslim tune \ | 80 | msmodelslim tune \ |
| 80 | - --model_type "${MODEL_TYPE}" \ | 81 | + --model_type ${MODEL_TYPE} \ |
| 81 | - --model_path "${MODEL_PATH}" \ | 82 | + --model_path ${MODEL_PATH} \ |
| 82 | - --save_path "${SAVE_PATH}" \ | 83 | + --save_path ${SAVE_PATH} \ |
| 83 | - --config "${CONFIG_PATH}" \ | 84 | + --config ${CONFIG_PATH} \ |
| 84 | --timeout 7200 \ | 85 | --timeout 7200 \ |
| 85 | --device npu \ | 86 | --device npu \ |
| 86 | --device_id 0 1 2 3 | 87 | --device_id 0 1 2 3 |
| 87 | ``` | 88 | ``` |
| 88 | 89 | ||
| 89 | -`--timeout 7200` 表示最多运行2H;`--device_id 0 1 2 3` 使用4个 NPU 设备。 | 90 | +`--timeout` 设为 `7200` 表示最多运行 7200 秒(2小时);`--device_id` 设为 `0 1 2 3` 表示使用4个 NPU 设备。 |
| 90 | 91 | ||
| 91 | ## 8. 退出码与异常处理 | 92 | ## 8. 退出码与异常处理 |
| 92 | 93 | ||
| 93 | -| 退出码或异常 | 含义 | 处理建议 | | 94 | +正常运行则无异常(含策略迭代完成、超时或达到最大迭代次数),结果见 `${SAVE_PATH}` 下的量化模型、结果与历史记录。失败时抛出异常。常见原因:`--config` YAML 校验失败、`--timeout` 格式非法、模型适配器加载失败。 |
| 94 | -|--------------|------|----------| | ||
| 95 | -| `0` | 调优流程正常结束(含策略迭代完成、超时或达到最大迭代次数) | 查看 `${SAVE_PATH}` 下的量化模型、结果与历史记录。 | | ||
| 96 | -| 非 `0` | 失败 | 查看错误日志。常见原因:`--config` YAML 校验失败、`--timeout` 格式非法、模型适配器加载失败。 | | ||
| 97 | 95 | ||
| 98 | ## 9. 安全说明 | 96 | ## 9. 安全说明 |
| 99 | 97 | ||
| @@ -0,0 +1,74 @@ | |||
| 1 | +# 配置说明导航 | ||
| 2 | + | ||
| 3 | +本目录是 msModelSlim 配置(YAML)的字段级参考文档,按先选协议、再查 `type`的方式组织。使用流程与端到端操作步骤见《[一键量化完整指南](../../user_guide/usage_quick_quantization.md)》;任务协议总览见《[量化任务配置说明导航](quant/README.md)》;自动调优的协议总览见《[自动调优配置说明导航](tuning/README.md)》。 | ||
| 4 | + | ||
| 5 | +## 1. 怎么用这套文档 | ||
| 6 | + | ||
| 7 | +1. **确定协议**:YAML 根节点的 `apiversion` 决定 `spec` 的结构,按任务场景选择协议页(总览见《[量化任务配置说明导航](quant/README.md)》)。各协议的字段取值与可用的 `process` / `save` 子类型并不相同,以对应任务页为准。 | ||
| 8 | +2. **查处理器**:`spec.process[]` 的每一项由 `type` 分派,按 `type` 到下方[处理器](#3-处理器specprocess-按-type-分派)表查对应页面;`spec.prior[].process` 同样引用这些处理器。 | ||
| 9 | +3. **查保存格式**:`spec.save[]` 的每一项由 `type` 分派,按下方[保存格式](#4-保存格式specsave-按-type-分派)表查对应页面;VLM / 多模态生成协议只接受其中的 AscendV1 与 MindIE 两类。 | ||
| 10 | +4. **查调优**:自动调优的顶层结构见《[自动调优配置说明导航](tuning/README.md)》,`strategy` 与 `evaluation` 的字段见下方[自动调优](#5-自动调优)表。 | ||
| 11 | + | ||
| 12 | +> 本页、《[量化任务配置说明导航](quant/README.md)》与《[自动调优配置说明导航](tuning/README.md)》为手写导航;其余配置页由 `skills/docs-management/scripts/gen_config_api_docs.py` 从源码 Pydantic 注解生成。修改字段说明请改源码 `Field(description=)` 等注解后重新生成,不要直接编辑带 `generated-by` 标记的页面。 | ||
| 13 | + | ||
| 14 | +## 2. 任务配置(按 `apiversion` 选择) | ||
| 15 | + | ||
| 16 | +按协议查阅字段见《[量化任务配置说明导航](quant/README.md)》,下表为快速入口: | ||
| 17 | + | ||
| 18 | +| 配置 | `apiversion` | 说明 | | ||
| 19 | +|------|--------------|------| | ||
| 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)模型量化协议。 | | ||
| 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` | 纯权重转换协议,用于权重重命名、结构替换与格式转换。 | | ||
| 24 | +| [practice_config](quant/practice_config.md) | `modelslim_v1`(在 `task` 内) | 最佳实践配置:`metadata` + `task`,被自动调优策略引用。 | | ||
| 25 | + | ||
| 26 | +## 3. 处理器(`spec.process[]` 按 `type` 分派) | ||
| 27 | + | ||
| 28 | +| `type` | 配置 | 作用 | | ||
| 29 | +|--------|------|------| | ||
| 30 | +| `adapt_rotation` | [adapt_rotation](processor/adapt_rotation.md) | 自适应旋转,抑制离群值。 | | ||
| 31 | +| `autoround_quant` | [autoround_quant](processor/autoround_quant.md) | AutoRound 量化训练。 | | ||
| 32 | +| `awq` | [awq](processor/awq.md) | AWQ 激活感知权重量化。 | | ||
| 33 | +| `binary_analysis` | [binary_analysis](processor/binary_analysis.md) | 二值(有/无量化)敏感度分析。 | | ||
| 34 | +| `binary_operator_layer_wise` | [binary_operator_layer_wise](processor/binary_operator_layer_wise.md) | 逐层敏感度分析。 | | ||
| 35 | +| `binary_operator_model_wise` | [binary_operator_model_wise](processor/binary_operator_model_wise.md) | 模型级敏感度分析。 | | ||
| 36 | +| `dynamic_cache` | [dynamic_cache](processor/dynamic_cache.md) | KV cache 动态量化。 | | ||
| 37 | +| `fa3_quant` | [fa3_quant](processor/fa3_quant.md) | FA3 注意力量化。 | | ||
| 38 | +| `flatquant` | [flatquant](processor/flatquant.md) | FlatQuant 量化训练。 | | ||
| 39 | +| `flex_awq_ssz` | [flex_awq_ssz](processor/flex_awq_ssz.md) | FlexAWQSSZ 平滑量化。 | | ||
| 40 | +| `flex_smooth_quant` | [flex_smooth_quant](processor/flex_smooth_quant.md) | FlexSmoothQuant 平滑量化。 | | ||
| 41 | +| `float_sparse` | [float_sparse](processor/float_sparse.md) | 浮点稀疏。 | | ||
| 42 | +| `group` | [group](processor/group.md) | 组合处理器,共享推理过程。 | | ||
| 43 | +| `iter_smooth` | [iter_smooth](processor/iter_smooth.md) | 迭代平滑。 | | ||
| 44 | +| `kv_smooth` | [kv_smooth](processor/kv_smooth.md) | KV cache 平滑。 | | ||
| 45 | +| `linear_quant` | [linear_quant](processor/linear_quant.md) | 线性层量化,含 `qconfig`(激活/权重)。 | | ||
| 46 | +| `load` | [load](processor/load.md) | 模块加载/卸载。 | | ||
| 47 | +| `oasq` | [oasq](processor/oasq.md) | OASQ 离群值感知平滑量化。 | | ||
| 48 | +| `online_quarot` | [online_quarot](processor/online_quarot.md) | 在线 QuaRot 旋转。 | | ||
| 49 | +| `quarot` | [quarot](processor/quarot.md) | 离线 QuaRot 旋转。 | | ||
| 50 | +| `saver` | [saver](processor/saver.md) | 统一保存处理器。 | | ||
| 51 | +| `smooth_quant` | [smooth_quant](processor/smooth_quant.md) | SmoothQuant 平滑量化。 | | ||
| 52 | +| `svd_res` | [svd_res](processor/svd_res.md) | SVD 低秩残差补偿。 | | ||
| 53 | +| `trainable_linear_quant` | [trainable_linear_quant](processor/trainable_linear_quant.md) | 可训练线性量化(TLQ)。 | | ||
| 54 | +| `unary_analysis` | [unary_analysis](processor/unary_analysis.md) | 一元(无量化)敏感度分析。 | | ||
| 55 | + | ||
| 56 | +## 4. 保存格式(`spec.save[]` 按 `type` 分派) | ||
| 57 | + | ||
| 58 | +| `type` | 配置 | 适用协议 | | ||
| 59 | +|--------|------|----------| | ||
| 60 | +| `ascendv1_saver` | [ascendv1_saver](format/ascendv1_saver.md) | 全部协议(`modelslim_v1`、`multimodal_*`、`modelslim_convert`)。 | | ||
| 61 | +| `compressed_tensors` | [compressed_tensors](format/compressed_tensors.md) | 仅 `modelslim_v1` 与 `modelslim_convert`;VLM / 多模态生成协议不接受。 | | ||
| 62 | +| `mindie_format_saver` | [mindie_format_saver](format/mindie_format_saver.md) | 全部协议。 | | ||
| 63 | + | ||
| 64 | +## 5. 自动调优 | ||
| 65 | + | ||
| 66 | +顶层协议与字段总览见《[自动调优配置说明导航](tuning/README.md)》,以下为各策略与评估服务的字段参考: | ||
| 67 | + | ||
| 68 | +| 配置 | 说明 | | ||
| 69 | +|------|------| | ||
| 70 | +| [tuning_plan](tuning/tuning_plan.md) | 调优计划根配置(`strategy` + `evaluation`)。 | | ||
| 71 | +| [strategy_standing_high](tuning/strategy_standing_high.md) | `standing_high` 策略。 | | ||
| 72 | +| [strategy_standing_high_with_experience](tuning/strategy_standing_high_with_experience.md) | `standing_high_with_experience` 策略。 | | ||
| 73 | +| [strategy_binary_fallback](tuning/strategy_binary_fallback.md) | `binary_fallback` 策略。 | | ||
| 74 | +| [evaluation_service_oriented](tuning/evaluation_service_oriented.md) | AISBench 评测服务与预检查配置。 | | ||
| @@ -1,379 +0,0 @@ | |||
| 1 | -# 自动调优配置协议说明 | ||
| 2 | - | ||
| 3 | -## 1. 概述 | ||
| 4 | - | ||
| 5 | -### 1.1 配置协议简介 | ||
| 6 | - | ||
| 7 | -自动调优配置协议采用分层结构设计,顶层包含两个核心字段。 | ||
| 8 | - | ||
| 9 | -- **strategy**: 调优策略配置,定义量化配置生成策略和量化基础配置。 | ||
| 10 | -- **evaluation**: 评估服务配置,定义模型精度评估的方式和量化模型服务化拉起相关参数。 | ||
| 11 | - | ||
| 12 | -### 1.2 配置文件位置 | ||
| 13 | - | ||
| 14 | -用户需要自定义调优配置文件,可以参考各策略目录下的 YAML 示例(如 [standing_high.yaml](../../knowledge_base/tuning_strategies/standing_high/standing_high.yaml))进行自定义。 | ||
| 15 | - | ||
| 16 | -### 1.3 基础配置结构 | ||
| 17 | - | ||
| 18 | -```yaml | ||
| 19 | -strategy: | ||
| 20 | - type: <strategy_type> # 调优策略类型,如 standing_high、standing_high_with_experience、binary_fallback | ||
| 21 | - # 不同策略有不同的配置字段与语义,详见各策略文档 | ||
| 22 | - | ||
| 23 | -evaluation: | ||
| 24 | - type: service_oriented | ||
| 25 | - demand: | ||
| 26 | - expectations: | ||
| 27 | - # 精度期望列表:用于描述“需要在哪些数据集上达到什么精度要求” | ||
| 28 | - evaluation: | ||
| 29 | - type: aisbench | ||
| 30 | - # 具体字段详见下文 evaluation.evaluation 小节 | ||
| 31 | - inference_engine: | ||
| 32 | - # 推理引擎配置 | ||
| 33 | -``` | ||
| 34 | - | ||
| 35 | -## 2. 配置字段详解 | ||
| 36 | - | ||
| 37 | -### <span id="21-strategy---调优策略配置">2.1 strategy - 调优策略配置</span> | ||
| 38 | - | ||
| 39 | -**作用**: 定义调优策略的类型、参数和量化基础配置。 | ||
| 40 | - | ||
| 41 | -**type - 策略类型** | ||
| 42 | - | ||
| 43 | -**作用**: 指定调优算法的类型,不同的策略类型对应不同的调优算法。 | ||
| 44 | - | ||
| 45 | -**类型**: `string` | ||
| 46 | - | ||
| 47 | -**可选值**: 根据已实现的调优策略而定,例如 `standing_high`、`standing_high_with_experience`、`binary_fallback`。 | ||
| 48 | - | ||
| 49 | -**模型适配(按策略)** | ||
| 50 | - | ||
| 51 | -若调优策略需**自动运行敏感层分析**(生成回退候选),模型适配器须实现 **`ModelSlimPipelineInterfaceV1`**(即 `core/runner/pipeline_interface.py` 中的 `PipelineInterface`,与 CLI `msmodelslim analyze` 要求一致)。策略内由领域层 `PipelineAnalysisService` 调用 `init_model`、`handle_dataset` 及 visit/forward pipeline;**不会在策略侧预先 `load_model`**。 | ||
| 52 | - | ||
| 53 | -各策略在自动敏感层分析之上的**额外**要求如下: | ||
| 54 | - | ||
| 55 | -| 策略 | 模型适配器要求 | | ||
| 56 | -|------|----------------| | ||
| 57 | -| `standing_high` | **`ModelSlimPipelineInterfaceV1`**(始终自动敏感层分析) | | ||
| 58 | -| `standing_high_with_experience` | **`ModelSlimPipelineInterfaceV1`** + **`StandingHighWithExperienceInterface`**(`load_model`,离群值抑制能力探测) | | ||
| 59 | -| `binary_fallback` | **`ModelSlimPipelineInterfaceV1`** (实现V1架构) | | ||
| 60 | - | ||
| 61 | -详见各策略文档「适用要求 / 模型适配」章节及 《[LLM 大模型接入指南](../../knowledge_base/ptq/llm/integration_guide_large_language_model_quantization.md)》。 | ||
| 62 | - | ||
| 63 | -**策略特有配置字段** | ||
| 64 | - | ||
| 65 | -不同调优策略的配置字段差异较大,详细的配置项请参考相应算法文档的「YAML 配置字段详解」章节。策略总览见《[自动调优策略总览](../../knowledge_base/tuning_strategies/README.md)》。目前已支持的算法如下: | ||
| 66 | - | ||
| 67 | -- 《[Standing High 调优算法](../../knowledge_base/tuning_strategies/standing_high/standing_high.md)》 | ||
| 68 | -- 《[Standing High With Experience 调优算法](../../knowledge_base/tuning_strategies/standing_high_with_experience/standing_high_with_experience.md)》 | ||
| 69 | -- 《[Binary Fallback 调优算法](../../knowledge_base/tuning_strategies/binary_fallback/binary_fallback.md)》 | ||
| 70 | - | ||
| 71 | -### 2.2 evaluation - 评估服务配置 | ||
| 72 | - | ||
| 73 | -**作用**: 定义模型精度评估的配置,包括评估服务类型、测评工具配置和推理引擎配置。 | ||
| 74 | - | ||
| 75 | -**核心字段**: | ||
| 76 | - | ||
| 77 | -| 字段名 | 作用 | 类型 | 必选/可选 | 说明 | | ||
| 78 | -|--------|------|------|----------|------| | ||
| 79 | -| type | 评估服务类型 | string | 必选 | 当前支持 `service_oriented`(面向服务的评估,通过服务化方式启动模型进行评估)。 | | ||
| 80 | -| demand | 精度需求配置 | object | 必选 | 定义模型精度评估的精度需求,包括数据集、目标精度和容差 | | ||
| 81 | -| evaluation | 测评工具配置 | object | 必选 | 定义测评工具的配置参数 | | ||
| 82 | -| inference_engine | 推理引擎配置 | object | 必选 | 定义推理引擎的配置参数,用于将量化后的模型以服务化方式启动 | | ||
| 83 | - | ||
| 84 | -#### 2.2.1 type - 评估服务类型 | ||
| 85 | - | ||
| 86 | -**作用**: 指定评估服务的类型。 | ||
| 87 | - | ||
| 88 | -**类型**: `string` | ||
| 89 | - | ||
| 90 | -**可选值**: `service_oriented`(面向服务的评估,通过服务化方式启动模型进行评估) | ||
| 91 | - | ||
| 92 | -#### 2.2.2 demand - 精度需求配置 | ||
| 93 | - | ||
| 94 | -**作用**: 定义模型精度评估的精度需求,包括数据集、目标精度和容差。 | ||
| 95 | - | ||
| 96 | -**字段说明**: | ||
| 97 | - | ||
| 98 | -| 字段名 | 作用 | 类型 | 必选/可选 | 说明 | | ||
| 99 | -|--------|------|------|----------|------| | ||
| 100 | -| expectations | 精度期望列表 | list | 必选 | 精度需求的列表,每个元素包含数据集、目标精度和容差,至少包含一个元素 | | ||
| 101 | - | ||
| 102 | -**expectations 字段说明**: | ||
| 103 | - | ||
| 104 | -| 字段名 | 作用 | 类型 | 必选/可选 | 说明 | | ||
| 105 | -|--------|------|------|----------|------| | ||
| 106 | -| dataset | 指定要评估的数据集 | string | 必选 | 数据集名称,必须是在 evaluation.evaluation.datasets 中配置的数据集名称 | | ||
| 107 | -| target | 设置精度目标值 | number | 必选 | 期望达到的精度目标值,必须大于 0;可写数字(如 `0.95`)或字符串(如 `"0.95"`) | | ||
| 108 | -| tolerance | 设置精度容差 | number | 必选 | 精度允许的误差范围,必须大于等于 0;可写数字(如 `0.95`)或字符串(如 `"0.95"`) | | ||
| 109 | - | ||
| 110 | -**配置示例**: | ||
| 111 | - | ||
| 112 | -```yaml | ||
| 113 | -# 单个数据集的精度需求 | ||
| 114 | -demand: | ||
| 115 | - expectations: | ||
| 116 | - - dataset: gsm8k | ||
| 117 | - target: 83 # 目标精度 83% | ||
| 118 | - tolerance: 2 # 容差 ±2% | ||
| 119 | - | ||
| 120 | -# 多个数据集的精度需求 | ||
| 121 | -demand: | ||
| 122 | - expectations: | ||
| 123 | - - dataset: gsm8k | ||
| 124 | - target: 83 # 目标精度 83% | ||
| 125 | - tolerance: 2 # 容差 ±2% | ||
| 126 | - - dataset: aime25 | ||
| 127 | - target: 85 # 目标精度 85% | ||
| 128 | - tolerance: 1 # 容差 ±1% | ||
| 129 | - - dataset: bfcl-simple | ||
| 130 | - target: 80 # 目标精度 80% | ||
| 131 | - tolerance: 2 # 容差 ±2% | ||
| 132 | -``` | ||
| 133 | - | ||
| 134 | -**注意**: | ||
| 135 | - | ||
| 136 | -- **精度单位说明**:不同数据集返回的精度格式可能不同,有些数据集返回小数形式(0.0-1.0,如 0.83 表示 83%),有些数据集返回百分制(0-100,如 83 表示 83%)。`target` 和 `tolerance` 的单位必须与对应数据集返回的精度格式保持一致。请根据测评工具实际数据集返回的精度格式来配置 `target` 和 `tolerance`。 | ||
| 137 | -- **精度数值设置说明**:`target` 和 `tolerance` 在系统内部按 Decimal 进行计算。YAML 中可直接写数字(如 `0.95`),也可写字符串(如 `"0.95"`);在需要严格控制小数精度的场景,建议使用字符串写法。 | ||
| 138 | -- **精度目标设置说明**:文档中给出的精度数据仅供参考,请根据实际浮点模型的精度进行配置。理论上量化后模型不会超过原始浮点模型的精度,因此建议将精度目标设置为略低于或等于浮点模型的精度。 | ||
| 139 | -- 支持配置多个数据集的精度需求,每个数据集可以设置不同的目标精度和容差。 | ||
| 140 | - | ||
| 141 | -#### 2.2.3 evaluation - 测评工具配置 | ||
| 142 | - | ||
| 143 | -**作用**: 定义测评工具的配置参数。 | ||
| 144 | - | ||
| 145 | -**核心字段**: | ||
| 146 | - | ||
| 147 | -| 字段名 | 作用 | 类型 | 必选/可选 | 说明 | | ||
| 148 | -|--------|------|------|----------|------| | ||
| 149 | -| type | 测评工具类型 | string | 必选 | 当前支持 `aisbench`。 | | ||
| 150 | -| precheck | 预检查配置 | list | 可选 | 定义正式评估前的预检查配置,空列表表示跳过预检查。默认值:`[]` | | ||
| 151 | -| aisbench | AISBench 测评工具配置 | object | 必选 | AISBench 测评工具的详细配置参数(如 `timeout`、`batch_size`、`generation_kwargs` 等)。 | | ||
| 152 | -| datasets | 数据集配置 | dict | 必选 | 定义需要评估的数据集及其配置,必须至少包含 `demand.expectations` 中指定的所有数据集。 | | ||
| 153 | -| host | 服务主机地址 | string | 可选 | 测评端连接推理服务的地址。**需与推理引擎侧保持一致**。默认值:`"localhost"` | | ||
| 154 | -| port | 服务端口 | int | 可选 | 测评端连接推理服务的端口。**需与推理引擎侧保持一致**。默认值:`1234` | | ||
| 155 | -| served_model_name | 服务化模型名称 | string | 可选 | 测评端请求时使用的模型名称标识,**需与推理引擎侧保持一致**。默认值:`"served_model_name"` | | ||
| 156 | - | ||
| 157 | -**配置示例**: | ||
| 158 | - | ||
| 159 | -```yaml | ||
| 160 | -evaluation: | ||
| 161 | - type: aisbench | ||
| 162 | - aisbench: | ||
| 163 | - binary: ais_bench | ||
| 164 | - mode: all | ||
| 165 | - timeout: 7200 | ||
| 166 | - request_rate: 1.0 | ||
| 167 | - retry: 2 | ||
| 168 | - batch_size: 32 | ||
| 169 | - max_out_len: 512 | ||
| 170 | - trust_remote_code: false | ||
| 171 | - pred_postprocessor: extract_non_reasoning_content | ||
| 172 | - generation_kwargs: | ||
| 173 | - temperature: 0.5 | ||
| 174 | - top_k: 10 | ||
| 175 | - top_p: 0.9 | ||
| 176 | - seed: null | ||
| 177 | - repetition_penalty: 1.03 | ||
| 178 | - model_meta: | ||
| 179 | - base_name: vllm_api_general_chat | ||
| 180 | - subdir: vllm_api | ||
| 181 | - abbr: vllm-api-general-chat | ||
| 182 | - attr: service | ||
| 183 | - default_metric_keys: | ||
| 184 | - - final_accuracy | ||
| 185 | - - accuracy | ||
| 186 | - - score | ||
| 187 | - datasets: | ||
| 188 | - gsm8k: | ||
| 189 | - config_name: "gsm8k_gen_0_shot_cot_str" | ||
| 190 | - mode: all | ||
| 191 | - aime25: | ||
| 192 | - config_name: "aime2025_gen_0_shot_chat_prompt" | ||
| 193 | - mode: all | ||
| 194 | - bfcl-simple: | ||
| 195 | - config_name: "BFCL_gen_simple" | ||
| 196 | - mode: all | ||
| 197 | - host: localhost | ||
| 198 | - port: 1234 | ||
| 199 | - served_model_name: served_model_name | ||
| 200 | -``` | ||
| 201 | - | ||
| 202 | -##### 2.2.3.1 aisbench - AISBench 测评工具配置 | ||
| 203 | - | ||
| 204 | -**作用**:配置 AISBench 的命令行与测评运行参数(如 `timeout`、`batch_size`、`generation_kwargs` 等)。 | ||
| 205 | - | ||
| 206 | -**aisbench 字段说明**: | ||
| 207 | - | ||
| 208 | -AISBench 测评工具的详细配置参数: | ||
| 209 | - | ||
| 210 | -| 字段名 | 作用 | 类型 | 必选/可选 | 说明 | | ||
| 211 | -|--------|------|------|----------|------| | ||
| 212 | -| binary | 指定 AISBench 启动命令 | string | 可选 | 固定值:`ais_bench`。默认值:`"ais_bench"` | | ||
| 213 | -| mode | 设置评测模式 | string | 可选 | 评测模式。默认值:`"all"` | | ||
| 214 | -| timeout | 设置命令执行超时时间 | int | 可选 | 超时时间(秒),必须大于 0。默认值:`7200`(2小时) | | ||
| 215 | -| cleanup_model_config | 控制是否清理模型配置 | bool | 可选 | 是否清理生成的模型配置文件。默认值:`true` | | ||
| 216 | -| model_meta | 配置模型元数据 | object | 可选 | 模型配置元数据,详见下方说明。默认值:`ModelConfigMeta()` | | ||
| 217 | -| request_rate | 设置默认请求速率 | float | 可选 | 默认请求速率,必须大于 0。默认值:`1.0` | | ||
| 218 | -| pred_postprocessor | 指定预测后处理器 | string | 可选 | 预测后处理器名称。默认值:`"extract_non_reasoning_content"` | | ||
| 219 | -| retry | 设置请求重试次数 | int | 可选 | 请求重试次数,必须大于等于 0。默认值:`2` | | ||
| 220 | -| batch_size | 设置批处理大小 | int | 可选 | 批处理大小,必须大于 0。默认值:`1` | | ||
| 221 | -| max_out_len | 设置最大输出长度 | int | 可选 | 最大输出长度,必须大于 0。默认值:`512` | | ||
| 222 | -| trust_remote_code | 控制是否信任远程代码 | bool | 可选 | 是否信任远程代码。默认值:`false` | | ||
| 223 | -| generation_kwargs | 服务化推理后端配置生成参数 | dict | 可选 | 生成参数配置字典。默认值:`{}` | | ||
| 224 | -| extra_args | 添加额外命令行参数 | list | 可选 | 额外的命令行参数列表。默认值:`[]` | | ||
| 225 | -| log_dir | 指定日志目录路径 | string | 可选 | 日志目录路径,空字符串表示使用默认路径。默认值:`""` | | ||
| 226 | - | ||
| 227 | -**model_meta 字段说明**: | ||
| 228 | - | ||
| 229 | -下面参数主要用于获得服务化推理后端模型配置: | ||
| 230 | - | ||
| 231 | -| 字段名 | 作用 | 类型 | 必选/可选 | 说明 | | ||
| 232 | -|--------|------|------|----------|------| | ||
| 233 | -| directory | 指定模型配置目录路径 | string | 可选 | 模型配置目录的显式路径,空字符串表示使用默认路径。默认值:`""` | | ||
| 234 | -| subdir | 指定模型服务化后端配置子目录 | string | 可选 | 模型服务化后端配置子目录。默认值:`"vllm_api"` | | ||
| 235 | -| base_name | 指定模型服务化后端配置基础名称 | string | 可选 | 模型服务化后端配置基础名称。默认值:`"vllm_api_general_chat"` | | ||
| 236 | -| name_suffix | 指定模型服务化后端配置名称后缀 | string | 可选 | 模型服务化后端配置名称后缀,`auto` 表示自动生成。默认值:`"auto"` | | ||
| 237 | -| abbr | 指定模型配置缩写 | string | 可选 | 模型配置缩写。默认值:`"vllm-api-general-chat"` | | ||
| 238 | -| attr | 指定模型配置属性 | string | 可选 | 模型配置属性。默认值:`"service"` | | ||
| 239 | - | ||
| 240 | -**注意**: 上面大部分参数来自于 AISBench 命令行参数与服务化推理后端参数,可以参考 [AISBench 详细参数说明](https://ais-bench-benchmark.readthedocs.io/zh-cn/latest/base_tutorials/all_params/index.html) 进行配置。 | ||
| 241 | - | ||
| 242 | -##### 2.2.3.2 datasets - 数据集配置 | ||
| 243 | - | ||
| 244 | -**作用**:配置待评估数据集及每个数据集在 AISBench 中的参数;必须至少包含 `demand.expectations` 中出现的所有数据集。 | ||
| 245 | - | ||
| 246 | -**datasets 字段说明**: | ||
| 247 | - | ||
| 248 | -该字段指定了不同的数据集键与 AISBench 侧数据集配置的对应关系。下文示例中仅列出三个数据集(gsm8k、aime25、bfcl-simple);更多数据集可参考[AISBench 文档数据集支持列表](https://github.com/AISBench/benchmark/blob/master/docs/source_zh_cn/get_started/datasets.md)自行扩展。 | ||
| 249 | - | ||
| 250 | -每个数据集的配置字段说明: | ||
| 251 | - | ||
| 252 | -| 字段名 | 作用 | 类型 | 必选/可选 | 说明 | | ||
| 253 | -|--------|------|------|----------|------| | ||
| 254 | -| config_name | 指定 AISBench 中的配置名称 | string | 必选 | 数据集在 AISBench 中的配置名称,非空字符串 | | ||
| 255 | -| mode | 设置该数据集的评测模式 | string | 可选 | 评测模式,空字符串表示使用全局模式。默认值:`""` | | ||
| 256 | -| request_rate | 设置该数据集的请求速率 | float | 可选 | 请求速率,0.0 表示使用全局默认值。必须大于等于 0。默认值:`0.0` | | ||
| 257 | -| max_out_len | 设置该数据集的最大输出长度 | int | 可选 | 最大输出长度,None 表示使用全局默认值。如果指定则必须大于 0。默认值:`None` | | ||
| 258 | -| returns_tool_calls | 控制是否返回工具调用 | bool | 可选 | 是否返回工具调用,None 表示不写入该字段。默认值:`None` | | ||
| 259 | -| api_chat_type | 指定该数据集使用的 API Chat 类型 | string | 可选 | 该字段需与 AISBench 对应数据集配置所要求的 API/请求格式保持一致。默认值:`"VLLMCustomAPIChat"` | | ||
| 260 | -| extra_args | 添加该数据集的额外命令行参数 | list | 可选 | 额外的命令行参数列表。默认值:`[]` | | ||
| 261 | - | ||
| 262 | -##### 2.2.3.3 precheck - 预检查配置(可选) | ||
| 263 | - | ||
| 264 | -**作用**: 定义正式评估前的预检查配置,用于在每次迭代的模型评估前对量化后的模型进行预验证。 | ||
| 265 | - | ||
| 266 | -**类型**: `list` | ||
| 267 | - | ||
| 268 | -**说明**: precheck 是一个列表,每个元素是一个预检查规则配置,包含 `type` 字段用于指定预检查类型。如果配置了 precheck 且不为空列表,系统会在正式评估前执行预检查。 | ||
| 269 | - | ||
| 270 | -**支持的预检查类型**: `expected_answer` | ||
| 271 | - | ||
| 272 | -**expected_answer - 期望答案验证** | ||
| 273 | - | ||
| 274 | -**作用**: 验证模型输出是否包含预期的答案内容。 | ||
| 275 | - | ||
| 276 | -**字段说明**: | ||
| 277 | - | ||
| 278 | -| 字段名 | 作用 | 类型 | 必选/可选 | 说明 | | ||
| 279 | -|--------|------|------|----------|------| | ||
| 280 | -| type | 指定预检查类型 | string | 必选 | 固定值:`expected_answer`。 | | ||
| 281 | -| test_cases | 配置测试用例列表 | list | 可选 | 测试用例列表,使用键值对格式(问题: 答案)。如果不配置,默认使用一个测试用例("What is 2+2?": "4")。默认值:`[{"What is 2+2?": "4"}]` | | ||
| 282 | -| max_tokens | 设置最大 token 数 | int | 可选 | 必须大于零。默认值:`512` | | ||
| 283 | -| timeout | 设置超时时间 | float | 可选 | 超时时间(秒),必须大于零。默认值:`60.0` | | ||
| 284 | - | ||
| 285 | -**test_cases 字段说明**: | ||
| 286 | - | ||
| 287 | -`test_cases` 使用字典格式(键值对),键为问题,值为答案: | ||
| 288 | - | ||
| 289 | -```yaml | ||
| 290 | -test_cases: | ||
| 291 | - - "What is 2+2?": ["4", "four"] # 期望响应中包含 "4" 或 "four" | ||
| 292 | - - "What is the capital of China?": "Beijing" # 期望响应中包含 "Beijing" | ||
| 293 | -``` | ||
| 294 | - | ||
| 295 | -**格式说明**: | ||
| 296 | - | ||
| 297 | -- 键(问题):字符串类型,测试消息 | ||
| 298 | -- 值(答案):可以是字符串、字符串列表 | ||
| 299 | - - 字符串:如 `"4"`,表示期望响应中包含 "4" | ||
| 300 | - - 字符串列表:如 `["4", "four"]`,表示期望响应中包含 "4" 或 "four" 中的任意一个 | ||
| 301 | - | ||
| 302 | -**配置示例**: | ||
| 303 | - | ||
| 304 | -```yaml | ||
| 305 | -precheck: | ||
| 306 | - - type: expected_answer | ||
| 307 | - test_cases: | ||
| 308 | - - "What is 2+2?": ["4", "four"] | ||
| 309 | - - "What is the capital of China?": "Beijing" | ||
| 310 | - max_tokens: 1024 | ||
| 311 | - timeout: 60.0 | ||
| 312 | -``` | ||
| 313 | - | ||
| 314 | -**注意**: | ||
| 315 | - | ||
| 316 | -- 预检查功能会在每次迭代的模型评估前执行(在服务化启动后)。系统会依次执行所有配置的预检查规则,如果任何一个预检查失败,系统会跳过本次迭代的正式评估,返回数据集全零结果,直接开启下一次迭代。 | ||
| 317 | -- 预检查的目的是快速发现明显的问题,避免浪费时间进行完整的评估。如果所有预检查都通过,系统会继续进行正式的精度评估。 | ||
| 318 | -- **仅支持英文问答**:预检查功能目前仅支持英文问答,测试消息和期望答案应使用英文。 | ||
| 319 | -- 如果不配置 `precheck` 字段或配置为空列表,将跳过预检查直接进行正式评估。 | ||
| 320 | - | ||
| 321 | -#### 2.2.4 inference_engine - 推理引擎配置 | ||
| 322 | - | ||
| 323 | -**作用**: 定义推理引擎的配置参数,用于将量化后的模型以服务化方式启动。 | ||
| 324 | - | ||
| 325 | -**字段说明**: | ||
| 326 | - | ||
| 327 | -| 字段名 | 作用 | 类型 | 必选/可选 | 说明 | | ||
| 328 | -|--------|------|------|----------|------| | ||
| 329 | -| type | 指定推理引擎类型 | string | 必选 | 当前只支持 `vllm-ascend`。 | | ||
| 330 | -| entrypoint | 指定服务入口点 | string | 可选 | 服务入口点,非空字符串。默认 `vllm.entrypoints.openai.api_server` 为 vLLM OpenAI 兼容 API 服务入口;若需其他入口,须与当前安装的 vLLM/vLLM-Ascend 中可 `-m` 运行的模块一致。 | | ||
| 331 | -| env_vars | 配置环境变量 | dict | 可选 | 环境变量配置。默认值:`{}` | | ||
| 332 | -| served_model_name | 指定服务化模型名称 | string | 可选 | 推理服务对外使用的模型名称标识,非空字符串。**需与测评端(`evaluation.evaluation`)保持一致**。默认值:`"served_model_name"` | | ||
| 333 | -| host | 指定服务主机地址 | string | 可选 | 推理服务监听地址,支持 localhost、IPv4、IPv6 格式。**需与测评端保持一致**。默认值:`"localhost"` | | ||
| 334 | -| port | 指定服务端口 | int | 可选 | 推理服务监听端口,范围:1-65535。**需与测评端保持一致**。默认值:`1234` | | ||
| 335 | -| health_check_endpoint | 指定健康检查端点 | string | 可选 | 就绪探测时请求的 **HTTP 路径**,须与推理进程实际提供的、可返回成功响应的 URL 一致。默认 `"/v1/models"` 对应常见 OpenAI 兼容服务的模型列表接口。必须以 `/` 开头,其它取值无统一列表,可按部署的 vLLM-Ascend 真实路由自定义。 | | ||
| 336 | -| startup_timeout | 设置启动超时时间 | int | 可选 | 启动超时时间(秒),必须大于 0。默认值:`600` | | ||
| 337 | -| args | 配置推理引擎启动参数 | dict | 可选 | 推理引擎启动参数,用于添加其他 vLLM-Ascend 参数配置。默认值:`{}` | | ||
| 338 | - | ||
| 339 | -**注意**: 不同模型拉起服务化时需要的参数可能不同,用户需要根据实际模型调整服务化参数。可以参考 [vLLM-Ascend 教程](https://docs.vllm.ai/projects/vllm-ascend-cn/zh-cn/latest/user_guide/configuration/index.html) 按模型需求配置参数,启动参数可以在 `args` 中进行添加,环境变量可以在 `env_vars` 中添加。 | ||
| 340 | - | ||
| 341 | -**配置示例**: | ||
| 342 | - | ||
| 343 | -```yaml | ||
| 344 | -inference_engine: | ||
| 345 | - type: vllm-ascend | ||
| 346 | - entrypoint: vllm.entrypoints.openai.api_server | ||
| 347 | - env_vars: | ||
| 348 | - HCCL_BUFFSIZE: 1024 | ||
| 349 | - VLLM_VERSION: 0.11.0 | ||
| 350 | - ASCEND_RT_VISIBLE_DEVICES: 0 | ||
| 351 | - served_model_name: served_model_name | ||
| 352 | - host: localhost | ||
| 353 | - port: 1234 | ||
| 354 | - health_check_endpoint: /v1/models | ||
| 355 | - startup_timeout: 600 | ||
| 356 | - args: | ||
| 357 | - enforce-eager: true | ||
| 358 | - served-model-name: served_model_name | ||
| 359 | - trust-remote-code: true | ||
| 360 | - tensor-parallel-size: 1 | ||
| 361 | - data-parallel-size: 1 | ||
| 362 | - quantization: ascend | ||
| 363 | - enable-prefix-caching: false | ||
| 364 | - max-model-len: 8192 | ||
| 365 | - max-num-batched-tokens: 8192 | ||
| 366 | - gpu-memory-utilization: 0.9 | ||
| 367 | - additional_config: | ||
| 368 | - ascend_scheduler_config: | ||
| 369 | - enable: true | ||
| 370 | - enable_weight_nz_layout: true | ||
| 371 | -``` | ||
| 372 | - | ||
| 373 | -### 2.3 使用示例 | ||
| 374 | - | ||
| 375 | -完整的自动调优配置示例请参考: | ||
| 376 | - | ||
| 377 | -- standing_high 调优策略配置:[standing_high.yaml](../../knowledge_base/tuning_strategies/standing_high/standing_high.yaml) | ||
| 378 | -- standing_high_with_experience 调优策略配置:[standing_high_with_experience.yaml](../../knowledge_base/tuning_strategies/standing_high_with_experience/standing_high_with_experience.yaml) | ||
| 379 | -- binary_fallback 调优策略配置:[binary_fallback.yaml](../../knowledge_base/tuning_strategies/binary_fallback/binary_fallback.yaml) | ||
| @@ -27,10 +27,15 @@ MindIE 保存格式配置,导出 MindIE 落盘格式的权重文件。 | |||
| 27 | ## 3. 完整配置参考 | 27 | ## 3. 完整配置参考 |
| 28 | 28 | ||
| 29 | ```yaml | 29 | ```yaml |
| 30 | -apiversion: modelslim_v1 | 30 | +apiversion: multimodal_sd_modelslim_v1 |
| 31 | spec: | 31 | spec: |
| 32 | save: | 32 | save: |
| 33 | - type: mindie_format_saver | 33 | - type: mindie_format_saver |
| 34 | part_file_size: 4 | 34 | part_file_size: 4 |
| 35 | ext: {} | 35 | ext: {} |
| 36 | + multimodal_sd_config: | ||
| 37 | + dump_config: | ||
| 38 | + enable_dump: true | ||
| 39 | + capture_mode: args | ||
| 40 | + dump_data_dir: '' | ||
| 36 | ``` | 41 | ``` |
| @@ -18,20 +18,22 @@ | |||
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | | `type` | `string` | 可选 | `adapt_rotation` | `adapt_rotation` | 处理器类型,固定为 `adapt_rotation`。 | 无 | | 19 | | `type` | `string` | 可选 | `adapt_rotation` | `adapt_rotation` | 处理器类型,固定为 `adapt_rotation`。 | 无 | |
| 20 | | `stage` | `int` | 必选 | 无 | `1`、`2` | 旋转适配阶段:1 或 2,决定使用哪个阶段配置。 | 无 | | 20 | | `stage` | `int` | 必选 | 无 | `1`、`2` | 旋转适配阶段:1 或 2,决定使用哪个阶段配置。 | 无 | |
| 21 | -| `stage_config` | `object` | 必选 | 无 | — | 阶段配置对象(内部自动组装字段,必选但由 before-validator 根据 `stage` 自动生成,用户无需在 YAML 中配置);YAML 中不要直接配置该字段,请把阶段字段(如 steps、quant_dtype)平铺在处理器下,见《AdaptRotationStage1ProcessorConfig 配置说明》/《AdaptRotationStage2ProcessorConfig 配置说明》。 | 本页 <a href="#2-2-processorconfig">§2.2</a> | | 21 | +| `stage_config` | `object` | 必选 | 无 | — | 阶段配置对象(内部自动组装字段,必选但由 before-validator 根据 `stage` 自动生成,用户无需在 YAML 中配置);YAML 中不要直接配置该字段,请把阶段字段(如 steps、quant_dtype)平铺在处理器下,见<a href="#2-2-1-adapt-rotation-stage1">《AdaptRotationStage1ProcessorConfig 配置说明》</a>/<a href="#2-2-2-adapt-rotation-stage2">《AdaptRotationStage2ProcessorConfig 配置说明》</a>。 | 本页 <a href="#2-2-processorconfig">§2.2</a> | |
| 22 | 22 | ||
| 23 | **配置约束** | 23 | **配置约束** |
| 24 | 24 | ||
| 25 | - 按 stage 把扁平字段组装为 stage_config:仅允许对应阶段字段,多余字段报错。 | 25 | - 按 stage 把扁平字段组装为 stage_config:仅允许对应阶段字段,多余字段报错。 |
| 26 | 26 | ||
| 27 | -<h3 id="2-2-processorconfig">2.2 ProcessorConfig</h3> | 27 | +<h3 id="2-2-processorconfig">2.2 《<a href="linear_quant.md">ProcessorConfig</a>》</h3> |
| 28 | 28 | ||
| 29 | **派生类** | 29 | **派生类** |
| 30 | 30 | ||
| 31 | -- `AdaptRotationStage1ProcessorConfig` — adapt_rotation 阶段1的配置。 本页 <a href="#2-3-adapt-rotation-stage1">§2.3</a> | 31 | +| 配置类 | 说明 | 文档 | |
| 32 | -- `AdaptRotationStage2ProcessorConfig` — adapt_rotation 阶段2的配置。 本页 <a href="#2-4-adapt-rotation-stage2">§2.4</a> | 32 | +|--------|------|------| |
| 33 | +| `AdaptRotationStage1ProcessorConfig` | adapt_rotation 阶段1的配置。 | 本页 <a href="#2-2-1-adapt-rotation-stage1">§2.2.1</a> | | ||
| 34 | +| `AdaptRotationStage2ProcessorConfig` | adapt_rotation 阶段2的配置。 | 本页 <a href="#2-2-2-adapt-rotation-stage2">§2.2.2</a> | | ||
| 33 | 35 | ||
| 34 | -<h4 id="2-3-adapt-rotation-stage1">2.3 AdaptRotationStage1ProcessorConfig</h4> | 36 | +<h4 id="2-2-1-adapt-rotation-stage1">2.2.1 AdaptRotationStage1ProcessorConfig</h4> |
| 35 | 37 | ||
| 36 | adapt_rotation 阶段1的配置。 | 38 | adapt_rotation 阶段1的配置。 |
| 37 | 39 | ||
| @@ -49,7 +51,7 @@ adapt_rotation 阶段1的配置。 | |||
| 49 | - 校验 layer_type:每个元素为非空字符串且长度 <= 128 | 51 | - 校验 layer_type:每个元素为非空字符串且长度 <= 128 |
| 50 | - 校验 block_size:取值范围为-1或2的非负整数次幂 | 52 | - 校验 block_size:取值范围为-1或2的非负整数次幂 |
| 51 | 53 | ||
| 52 | -<h4 id="2-4-adapt-rotation-stage2">2.4 AdaptRotationStage2ProcessorConfig</h4> | 54 | +<h4 id="2-2-2-adapt-rotation-stage2">2.2.2 AdaptRotationStage2ProcessorConfig</h4> |
| 53 | 55 | ||
| 54 | adapt_rotation 阶段2的配置。 | 56 | adapt_rotation 阶段2的配置。 |
| 55 | 57 | ||
| @@ -72,13 +74,20 @@ adapt_rotation 阶段2的配置。 | |||
| 72 | ```yaml | 74 | ```yaml |
| 73 | apiversion: modelslim_v1 | 75 | apiversion: modelslim_v1 |
| 74 | spec: | 76 | spec: |
| 77 | + prior: | ||
| 78 | + - process: | ||
| 79 | + - type: adapt_rotation | ||
| 80 | + stage: 1 | ||
| 81 | + steps: 20 | ||
| 82 | + quant_dtype: int4 | ||
| 83 | + layer_type: | ||
| 84 | + - up_proj | ||
| 85 | + block_size: -1 | ||
| 86 | + max_samples: 2048 | ||
| 75 | process: | 87 | process: |
| 76 | - type: adapt_rotation | 88 | - type: adapt_rotation |
| 77 | - stage: 1 | 89 | + stage: 2 |
| 78 | - steps: 20 | 90 | + online: false |
| 79 | - quant_dtype: int4 | ||
| 80 | - layer_type: | ||
| 81 | - - up_proj | ||
| 82 | block_size: -1 | 91 | block_size: -1 |
| 83 | - max_samples: 2048 | 92 | + max_tp_size: 1 |
| 84 | ``` | 93 | ``` |
| @@ -32,7 +32,7 @@ autoround 量化策略:对匹配的线性层应用一组量化配置。 | |||
| 32 | 32 | ||
| 33 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 33 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 34 | |----------|------|-----------|--------|----------------|------|----------| | 34 | |----------|------|-----------|--------|----------------|------|----------| |
| 35 | -| `qconfig` | `object` | 必选 | 无 | — | 激活与权重的量化配置,见《LinearQConfig 配置说明》。 | 本页 <a href="#2-3-linear-qconfig">§2.3</a> | | 35 | +| `qconfig` | `object` | 必选 | 无 | — | 激活与权重的量化配置,见<a href="#2-2-1-linear-qconfig">《LinearQConfig 配置说明》</a>。 | 本页 <a href="#2-2-1-linear-qconfig">§2.2.1</a> | |
| 36 | | `include` | `list[string]` | 可选 | `['*']` | — | 包含的模块名称模式,默认 `*` 匹配全部模块 | 无 | | 36 | | `include` | `list[string]` | 可选 | `['*']` | — | 包含的模块名称模式,默认 `*` 匹配全部模块 | 无 | |
| 37 | | `exclude` | `list[string]` | 可选 | `[]` | — | 排除的模块名称模式,优先级高于 `include` | 无 | | 37 | | `exclude` | `list[string]` | 可选 | `[]` | — | 排除的模块名称模式,优先级高于 `include` | 无 | |
| 38 | 38 | ||
| @@ -40,29 +40,29 @@ autoround 量化策略:对匹配的线性层应用一组量化配置。 | |||
| 40 | 40 | ||
| 41 | - 无。 | 41 | - 无。 |
| 42 | 42 | ||
| 43 | -<h3 id="2-3-linear-qconfig">2.3 LinearQConfig</h3> | 43 | +<h4 id="2-2-1-linear-qconfig">2.2.1 LinearQConfig</h4> |
| 44 | 44 | ||
| 45 | 线性层(Linear)的量化配置,含激活与权重两路量化。 | 45 | 线性层(Linear)的量化配置,含激活与权重两路量化。 |
| 46 | 46 | ||
| 47 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 47 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 48 | |----------|------|-----------|--------|----------------|------|----------| | 48 | |----------|------|-----------|--------|----------------|------|----------| |
| 49 | -| `act` | `object` | 可选 | `{'dtype': 'float', 'scope': 'per_tensor', 'symmetric': True, 'method': 'none', 'ext': {}}` | — | 激活值的量化配置。默认 `float`(不量化激活),仅对权重做量化。 | 本页 <a href="#2-4-qconfig">§2.4</a> | | 49 | +| `act` | `object` | 可选 | `{'dtype': 'float', 'scope': 'per_tensor', 'symmetric': True, 'method': 'none', 'ext': {}}` | — | 激活值的量化配置。由激活量化器实现,`method` 支持 `minmax`、`histogram`、`none`;`scope` 支持 `per_tensor`、`per_token`、`per_channel`(限 int8/fp8_e4m3/mxfp8 的 minmax)等。默认 `float`(不量化激活),仅对权重做量化。 | 本页 <a href="#2-2-2-qconfig">§2.2.2</a> | |
| 50 | -| `weight` | `object` | 必选 | 无 | — | 权重的量化配置,必选。 | 本页 <a href="#2-4-qconfig">§2.4</a> | | 50 | +| `weight` | `object` | 必选 | 无 | — | 权重的量化配置,必选。由权重量化器实现,`method` 支持 `minmax`、`mse_round`、`ssz`、`gptq` 等;`scope` 支持 `per_channel`、`per_group`、`per_block` 等(不支持 `per_tensor`/`per_token`)。 | 本页 <a href="#2-2-2-qconfig">§2.2.2</a> | |
| 51 | 51 | ||
| 52 | **配置约束** | 52 | **配置约束** |
| 53 | 53 | ||
| 54 | - 无。 | 54 | - 无。 |
| 55 | 55 | ||
| 56 | -<h3 id="2-4-qconfig">2.4 QConfig</h3> | 56 | +<h4 id="2-2-2-qconfig">2.2.2 QConfig</h4> |
| 57 | 57 | ||
| 58 | 描述单个张量(权重或激活)的量化方式。 | 58 | 描述单个张量(权重或激活)的量化方式。 |
| 59 | 59 | ||
| 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` | 量化粒度,即 scale/zero_point 的计算范围:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`dual_scale`(双尺度)等;合法取值组合取决于 `dtype` 与量化器实现。 | 无 | | 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`。 | 无 | |
| 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` 等;可用取值取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数(配合 `float` 使用)。 | 无 | | 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`);空对象表示无扩展参数。 | 无 | |
| 67 | 67 | ||
| 68 | **配置约束** | 68 | **配置约束** |
| @@ -17,7 +17,7 @@ AWQ(Activation-aware Weight Quantization)处理器配置。 | |||
| 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | | `type` | `string` | 可选 | `awq` | `awq` | 处理器类型,固定为 `awq`。 | 无 | | 19 | | `type` | `string` | 可选 | `awq` | `awq` | 处理器类型,固定为 `awq`。 | 无 | |
| 20 | -| `weight_qconfig` | `object` | 必选 | 无 | — | 权重的量化配置(QConfig),必选,见《QConfig 配置说明》。 | 本页 <a href="#2-2-qconfig">§2.2</a> | | 20 | +| `weight_qconfig` | `object` | 必选 | 无 | — | 权重的量化配置(QConfig),必选,见<a href="#2-2-qconfig">《QConfig 配置说明》</a>。 | 本页 <a href="#2-2-qconfig">§2.2</a> | |
| 21 | | `enable_subgraph_type` | `list[any]` | 可选 | `['norm-linear', 'linear-linear', 'ov', 'up-down']` | — | 应用 AWQ 的子图类型列表,默认 `norm-linear`、`linear-linear`、`ov`、`up-down`。 | 无 | | 21 | | `enable_subgraph_type` | `list[any]` | 可选 | `['norm-linear', 'linear-linear', 'ov', 'up-down']` | — | 应用 AWQ 的子图类型列表,默认 `norm-linear`、`linear-linear`、`ov`、`up-down`。 | 无 | |
| 22 | | `n_grid` | `int` | 可选 | `20` | — | 网格搜索的网格数,用于搜索最优量化尺度/裁剪点,必须大于0。 | 无 | | 22 | | `n_grid` | `int` | 可选 | `20` | — | 网格搜索的网格数,用于搜索最优量化尺度/裁剪点,必须大于0。 | 无 | |
| 23 | | `include` | `list[string] / null` | 可选 | `null` | — | 包含的模块名称模式;不设置表示全部匹配。 | 无 | | 23 | | `include` | `list[string] / null` | 可选 | `null` | — | 包含的模块名称模式;不设置表示全部匹配。 | 无 | |
| @@ -34,9 +34,9 @@ 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` | 量化粒度,即 scale/zero_point 的计算范围:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`dual_scale`(双尺度)等;合法取值组合取决于 `dtype` 与量化器实现。 | 无 | | 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`。 | 无 | |
| 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` 等;可用取值取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数(配合 `float` 使用)。 | 无 | | 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`);空对象表示无扩展参数。 | 无 | |
| 41 | 41 | ||
| 42 | **配置约束** | 42 | **配置约束** |
| @@ -25,35 +25,37 @@ | |||
| 25 | 25 | ||
| 26 | - 无。 | 26 | - 无。 |
| 27 | 27 | ||
| 28 | -<h3 id="2-2-autoprocessorconfig">2.2 AutoProcessorConfig</h3> | 28 | +<h3 id="2-2-autoprocessorconfig">2.2 《<a href="linear_quant.md">AutoProcessorConfig</a>》</h3> |
| 29 | 29 | ||
| 30 | **派生类** | 30 | **派生类** |
| 31 | 31 | ||
| 32 | -- `AdaptRotationProcessorConfig`(`type: adapt_rotation`) — 自适应旋转(adapt_rotation)处理器配置。 《[adapt_rotation 配置说明](adapt_rotation.md)》 | 32 | +| 配置类 | `type` | 说明 | 文档 | |
| 33 | -- `AutoroundProcessorConfig`(`type: autoround_quant`) — autoround 量化处理器配置。 《[autoround_quant 配置说明](autoround_quant.md)》 | 33 | +|--------|----------|------|------| |
| 34 | -- `AWQProcessorConfig`(`type: awq`) — AWQ(Activation-aware Weight Quantization)处理器配置。 《[awq 配置说明](awq.md)》 | 34 | +| `AdaptRotationProcessorConfig` | `adapt_rotation` | 自适应旋转(adapt_rotation)处理器配置。 | 《[adapt_rotation 配置说明](adapt_rotation.md)》 | |
| 35 | -- `BinaryAnalysisProcessorConfig`(`type: binary_analysis`) — 二值(有/无量化)敏感度分析处理器配置。 本页 <a href="#2-1-binary-analysis">§2.1</a> | 35 | +| `AutoroundProcessorConfig` | `autoround_quant` | autoround 量化处理器配置。 | 《[autoround_quant 配置说明](autoround_quant.md)》 | |
| 36 | -- `BinaryOperatorLayerWiseProcessorConfig`(`type: binary_operator_layer_wise`) — 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 《[binary_operator_layer_wise 配置说明](binary_operator_layer_wise.md)》 | 36 | +| `AWQProcessorConfig` | `awq` | AWQ(Activation-aware Weight Quantization)处理器配置。 | 《[awq 配置说明](awq.md)》 | |
| 37 | -- `BinaryOperatorModelWiseProcessorConfig`(`type: binary_operator_model_wise`) — 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) 《[binary_operator_model_wise 配置说明](binary_operator_model_wise.md)》 | 37 | +| `BinaryAnalysisProcessorConfig` | `binary_analysis` | 二值(有/无量化)敏感度分析处理器配置。 | 本页 <a href="#2-1-binary-analysis">§2.1</a> | |
| 38 | -- `DynamicCacheProcessorConfig`(`type: dynamic_cache`) — KV cache 量化处理器配置。 《[dynamic_cache 配置说明](dynamic_cache.md)》 | 38 | +| `BinaryOperatorLayerWiseProcessorConfig` | `binary_operator_layer_wise` | 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 | 《[binary_operator_layer_wise 配置说明](binary_operator_layer_wise.md)》 | |
| 39 | -- `FA3QuantProcessorConfig`(`type: fa3_quant`) — FA3(FlashAttention-3)量化处理器配置。 《[fa3_quant 配置说明](fa3_quant.md)》 | 39 | +| `BinaryOperatorModelWiseProcessorConfig` | `binary_operator_model_wise` | 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) | 《[binary_operator_model_wise 配置说明](binary_operator_model_wise.md)》 | |
| 40 | -- `FlatQuantProcessorConfig`(`type: flatquant`) — FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 《[flatquant 配置说明](flatquant.md)》 | 40 | +| `DynamicCacheProcessorConfig` | `dynamic_cache` | KV cache 量化处理器配置。 | 《[dynamic_cache 配置说明](dynamic_cache.md)》 | |
| 41 | -- `FlexAWQSSZProcessorConfig`(`type: flex_awq_ssz`) — FlexAWQSSZ 平滑+AWQ 处理器配置。 《[flex_awq_ssz 配置说明](flex_awq_ssz.md)》 | 41 | +| `FA3QuantProcessorConfig` | `fa3_quant` | FA3(FlashAttention-3)量化处理器配置。 | 《[fa3_quant 配置说明](fa3_quant.md)》 | |
| 42 | -- `FlexSmoothQuantProcessorConfig`(`type: flex_smooth_quant`) — FlexSmoothQuant 平滑量化处理器配置。 《[flex_smooth_quant 配置说明](flex_smooth_quant.md)》 | 42 | +| `FlatQuantProcessorConfig` | `flatquant` | FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 | 《[flatquant 配置说明](flatquant.md)》 | |
| 43 | -- `FloatSparseProcessorConfig`(`type: float_sparse`) — 浮点稀疏处理器配置。 《[float_sparse 配置说明](float_sparse.md)》 | 43 | +| `FlexAWQSSZProcessorConfig` | `flex_awq_ssz` | Flex AWQ SSZ 离群值抑制处理器配置。 | 《[flex_awq_ssz 配置说明](flex_awq_ssz.md)》 | |
| 44 | -- `GroupProcessorConfig`(`type: group`) — 处理器合并器配置。 《[group 配置说明](group.md)》 | 44 | +| `FlexSmoothQuantProcessorConfig` | `flex_smooth_quant` | FlexSmoothQuant 平滑量化处理器配置。 | 《[flex_smooth_quant 配置说明](flex_smooth_quant.md)》 | |
| 45 | -- `IterSmoothProcessorConfig`(`type: iter_smooth`) — 迭代平滑(IterativeSmooth)处理器配置。 《[iter_smooth 配置说明](iter_smooth.md)》 | 45 | +| `FloatSparseProcessorConfig` | `float_sparse` | 浮点稀疏处理器配置。 | 《[float_sparse 配置说明](float_sparse.md)》 | |
| 46 | -- `KVSmoothProcessorConfig`(`type: kv_smooth`) — KV cache 平滑处理器配置。 《[kv_smooth 配置说明](kv_smooth.md)》 | 46 | +| `GroupProcessorConfig` | `group` | 处理器合并器配置。 | 《[group 配置说明](group.md)》 | |
| 47 | -- `LinearProcessorConfig`(`type: linear_quant`) — 线性层(Linear)量化处理器配置。 《[linear_quant 配置说明](linear_quant.md)》 | 47 | +| `IterSmoothProcessorConfig` | `iter_smooth` | 迭代平滑(IterativeSmooth)处理器配置。 | 《[iter_smooth 配置说明](iter_smooth.md)》 | |
| 48 | -- `LoadProcessorConfig`(`type: load`) — 模块加载/卸载处理器配置。 《[load 配置说明](load.md)》 | 48 | +| `KVSmoothProcessorConfig` | `kv_smooth` | KV cache 平滑处理器配置。 | 《[kv_smooth 配置说明](kv_smooth.md)》 | |
| 49 | -- `OASQProcessorConfig`(`type: oasq`) — OASQ(Outlier-Aware Smooth Quantization)处理器配置。 《[oasq 配置说明](oasq.md)》 | 49 | +| `LinearProcessorConfig` | `linear_quant` | 线性层(Linear)量化处理器配置。 | 《[linear_quant 配置说明](linear_quant.md)》 | |
| 50 | -- `OnlineQuaRotProcessorConfig`(`type: online_quarot`) — 在线 QuaRot 旋转处理器配置。 《[online_quarot 配置说明](online_quarot.md)》 | 50 | +| `LoadProcessorConfig` | `load` | 模块加载/卸载处理器配置。 | 《[load 配置说明](load.md)》 | |
| 51 | -- `QuaRotProcessorConfig`(`type: quarot`) — QuaRot(离线旋转)处理器配置。 《[quarot 配置说明](quarot.md)》 | 51 | +| `OASQProcessorConfig` | `oasq` | OASQ(Outlier-Aware Smooth Quantization)处理器配置。 | 《[oasq 配置说明](oasq.md)》 | |
| 52 | -- `QuantSaveProcessorConfig`(`type: saver`) — 统一保存处理器配置。 《[saver 配置说明](saver.md)》 | 52 | +| `OnlineQuaRotProcessorConfig` | `online_quarot` | 在线 QuaRot 旋转处理器配置。 | 《[online_quarot 配置说明](online_quarot.md)》 | |
| 53 | -- `SmoothQuantProcessorConfig`(`type: smooth_quant`) — SmoothQuant 平滑量化处理器配置。 《[smooth_quant 配置说明](smooth_quant.md)》 | 53 | +| `QuaRotProcessorConfig` | `quarot` | QuaRot(离线旋转)处理器配置。 | 《[quarot 配置说明](quarot.md)》 | |
| 54 | -- `SVDResidualProcessorConfig`(`type: svd_res`) — SVD 残差(低秩补偿)处理器配置。 《[svd_res 配置说明](svd_res.md)》 | 54 | +| `QuantSaveProcessorConfig` | `saver` | 统一保存处理器配置。 | 《[saver 配置说明](saver.md)》 | |
| 55 | -- `TrainableLinearQuantProcessorConfig`(`type: trainable_linear_quant`) — 可训练线性量化(TLQ)处理器配置。 《[trainable_linear_quant 配置说明](trainable_linear_quant.md)》 | 55 | +| `SmoothQuantProcessorConfig` | `smooth_quant` | SmoothQuant 平滑量化处理器配置。 | 《[smooth_quant 配置说明](smooth_quant.md)》 | |
| 56 | -- `UnaryAnalysisProcessorConfig`(`type: unary_analysis`) — 一元(无量化)敏感度分析处理器配置。 《[unary_analysis 配置说明](unary_analysis.md)》 | 56 | +| `SVDResidualProcessorConfig` | `svd_res` | SVD 残差(低秩补偿)处理器配置。 | 《[svd_res 配置说明](svd_res.md)》 | |
| 57 | +| `TrainableLinearQuantProcessorConfig` | `trainable_linear_quant` | 可训练线性量化(TLQ)处理器配置。 | 《[trainable_linear_quant 配置说明](trainable_linear_quant.md)》 | | ||
| 58 | +| `UnaryAnalysisProcessorConfig` | `unary_analysis` | 一元(无量化)敏感度分析处理器配置。 | 《[unary_analysis 配置说明](unary_analysis.md)》 | | ||
| 57 | 59 | ||
| 58 | ## 3. 完整配置参考 | 60 | ## 3. 完整配置参考 |
| 59 | 61 | ||
| @@ -17,7 +17,7 @@ | |||
| 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | | `type` | `string` | 可选 | `binary_operator_layer_wise` | `binary_operator_layer_wise` | 处理器类型,固定为 `binary_operator_layer_wise`。 | 无 | | 19 | | `type` | `string` | 可选 | `binary_operator_layer_wise` | `binary_operator_layer_wise` | 处理器类型,固定为 `binary_operator_layer_wise`。 | 无 | |
| 20 | -| `metrics` | `string` | 可选 | `mse_layer_wise` | — | 分析指标,如 `mse_layer_wise`。 | 无 | | 20 | +| `metrics` | `string` | 可选 | `mse_layer_wise` | — | 分析指标 `mse_layer_wise`。 | 无 | |
| 21 | | `quant_modules` | `list[string]` | 可选 | `['*']` | — | 与 linear_quant.include、CLI --quant_modules 一致(YAML 占位 ${quant_modules});用于层敏感结果展示名后缀,如 model.layers.2 (mod1, mod2)。 | 无 | | 21 | | `quant_modules` | `list[string]` | 可选 | `['*']` | — | 与 linear_quant.include、CLI --quant_modules 一致(YAML 占位 ${quant_modules});用于层敏感结果展示名后缀,如 model.layers.2 (mod1, mod2)。 | 无 | |
| 22 | | `configs` | `list[object]` | 可选 | `[]` | — | 用于执行量化-反量化路径的量化子处理器配置列表 | 本页 <a href="#2-2-autoprocessorconfig">§2.2</a> | | 22 | | `configs` | `list[object]` | 可选 | `[]` | — | 用于执行量化-反量化路径的量化子处理器配置列表 | 本页 <a href="#2-2-autoprocessorconfig">§2.2</a> | |
| 23 | 23 | ||
| @@ -25,35 +25,37 @@ | |||
| 25 | 25 | ||
| 26 | - 无。 | 26 | - 无。 |
| 27 | 27 | ||
| 28 | -<h3 id="2-2-autoprocessorconfig">2.2 AutoProcessorConfig</h3> | 28 | +<h3 id="2-2-autoprocessorconfig">2.2 《<a href="linear_quant.md">AutoProcessorConfig</a>》</h3> |
| 29 | 29 | ||
| 30 | **派生类** | 30 | **派生类** |
| 31 | 31 | ||
| 32 | -- `AdaptRotationProcessorConfig`(`type: adapt_rotation`) — 自适应旋转(adapt_rotation)处理器配置。 《[adapt_rotation 配置说明](adapt_rotation.md)》 | 32 | +| 配置类 | `type` | 说明 | 文档 | |
| 33 | -- `AutoroundProcessorConfig`(`type: autoround_quant`) — autoround 量化处理器配置。 《[autoround_quant 配置说明](autoround_quant.md)》 | 33 | +|--------|----------|------|------| |
| 34 | -- `AWQProcessorConfig`(`type: awq`) — AWQ(Activation-aware Weight Quantization)处理器配置。 《[awq 配置说明](awq.md)》 | 34 | +| `AdaptRotationProcessorConfig` | `adapt_rotation` | 自适应旋转(adapt_rotation)处理器配置。 | 《[adapt_rotation 配置说明](adapt_rotation.md)》 | |
| 35 | -- `BinaryAnalysisProcessorConfig`(`type: binary_analysis`) — 二值(有/无量化)敏感度分析处理器配置。 《[binary_analysis 配置说明](binary_analysis.md)》 | 35 | +| `AutoroundProcessorConfig` | `autoround_quant` | autoround 量化处理器配置。 | 《[autoround_quant 配置说明](autoround_quant.md)》 | |
| 36 | -- `BinaryOperatorLayerWiseProcessorConfig`(`type: binary_operator_layer_wise`) — 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 本页 <a href="#2-1-binary-operator-layer-wise">§2.1</a> | 36 | +| `AWQProcessorConfig` | `awq` | AWQ(Activation-aware Weight Quantization)处理器配置。 | 《[awq 配置说明](awq.md)》 | |
| 37 | -- `BinaryOperatorModelWiseProcessorConfig`(`type: binary_operator_model_wise`) — 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) 《[binary_operator_model_wise 配置说明](binary_operator_model_wise.md)》 | 37 | +| `BinaryAnalysisProcessorConfig` | `binary_analysis` | 二值(有/无量化)敏感度分析处理器配置。 | 《[binary_analysis 配置说明](binary_analysis.md)》 | |
| 38 | -- `DynamicCacheProcessorConfig`(`type: dynamic_cache`) — KV cache 量化处理器配置。 《[dynamic_cache 配置说明](dynamic_cache.md)》 | 38 | +| `BinaryOperatorLayerWiseProcessorConfig` | `binary_operator_layer_wise` | 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 | 本页 <a href="#2-1-binary-operator-layer-wise">§2.1</a> | |
| 39 | -- `FA3QuantProcessorConfig`(`type: fa3_quant`) — FA3(FlashAttention-3)量化处理器配置。 《[fa3_quant 配置说明](fa3_quant.md)》 | 39 | +| `BinaryOperatorModelWiseProcessorConfig` | `binary_operator_model_wise` | 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) | 《[binary_operator_model_wise 配置说明](binary_operator_model_wise.md)》 | |
| 40 | -- `FlatQuantProcessorConfig`(`type: flatquant`) — FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 《[flatquant 配置说明](flatquant.md)》 | 40 | +| `DynamicCacheProcessorConfig` | `dynamic_cache` | KV cache 量化处理器配置。 | 《[dynamic_cache 配置说明](dynamic_cache.md)》 | |
| 41 | -- `FlexAWQSSZProcessorConfig`(`type: flex_awq_ssz`) — FlexAWQSSZ 平滑+AWQ 处理器配置。 《[flex_awq_ssz 配置说明](flex_awq_ssz.md)》 | 41 | +| `FA3QuantProcessorConfig` | `fa3_quant` | FA3(FlashAttention-3)量化处理器配置。 | 《[fa3_quant 配置说明](fa3_quant.md)》 | |
| 42 | -- `FlexSmoothQuantProcessorConfig`(`type: flex_smooth_quant`) — FlexSmoothQuant 平滑量化处理器配置。 《[flex_smooth_quant 配置说明](flex_smooth_quant.md)》 | 42 | +| `FlatQuantProcessorConfig` | `flatquant` | FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 | 《[flatquant 配置说明](flatquant.md)》 | |
| 43 | -- `FloatSparseProcessorConfig`(`type: float_sparse`) — 浮点稀疏处理器配置。 《[float_sparse 配置说明](float_sparse.md)》 | 43 | +| `FlexAWQSSZProcessorConfig` | `flex_awq_ssz` | Flex AWQ SSZ 离群值抑制处理器配置。 | 《[flex_awq_ssz 配置说明](flex_awq_ssz.md)》 | |
| 44 | -- `GroupProcessorConfig`(`type: group`) — 处理器合并器配置。 《[group 配置说明](group.md)》 | 44 | +| `FlexSmoothQuantProcessorConfig` | `flex_smooth_quant` | FlexSmoothQuant 平滑量化处理器配置。 | 《[flex_smooth_quant 配置说明](flex_smooth_quant.md)》 | |
| 45 | -- `IterSmoothProcessorConfig`(`type: iter_smooth`) — 迭代平滑(IterativeSmooth)处理器配置。 《[iter_smooth 配置说明](iter_smooth.md)》 | 45 | +| `FloatSparseProcessorConfig` | `float_sparse` | 浮点稀疏处理器配置。 | 《[float_sparse 配置说明](float_sparse.md)》 | |
| 46 | -- `KVSmoothProcessorConfig`(`type: kv_smooth`) — KV cache 平滑处理器配置。 《[kv_smooth 配置说明](kv_smooth.md)》 | 46 | +| `GroupProcessorConfig` | `group` | 处理器合并器配置。 | 《[group 配置说明](group.md)》 | |
| 47 | -- `LinearProcessorConfig`(`type: linear_quant`) — 线性层(Linear)量化处理器配置。 《[linear_quant 配置说明](linear_quant.md)》 | 47 | +| `IterSmoothProcessorConfig` | `iter_smooth` | 迭代平滑(IterativeSmooth)处理器配置。 | 《[iter_smooth 配置说明](iter_smooth.md)》 | |
| 48 | -- `LoadProcessorConfig`(`type: load`) — 模块加载/卸载处理器配置。 《[load 配置说明](load.md)》 | 48 | +| `KVSmoothProcessorConfig` | `kv_smooth` | KV cache 平滑处理器配置。 | 《[kv_smooth 配置说明](kv_smooth.md)》 | |
| 49 | -- `OASQProcessorConfig`(`type: oasq`) — OASQ(Outlier-Aware Smooth Quantization)处理器配置。 《[oasq 配置说明](oasq.md)》 | 49 | +| `LinearProcessorConfig` | `linear_quant` | 线性层(Linear)量化处理器配置。 | 《[linear_quant 配置说明](linear_quant.md)》 | |
| 50 | -- `OnlineQuaRotProcessorConfig`(`type: online_quarot`) — 在线 QuaRot 旋转处理器配置。 《[online_quarot 配置说明](online_quarot.md)》 | 50 | +| `LoadProcessorConfig` | `load` | 模块加载/卸载处理器配置。 | 《[load 配置说明](load.md)》 | |
| 51 | -- `QuaRotProcessorConfig`(`type: quarot`) — QuaRot(离线旋转)处理器配置。 《[quarot 配置说明](quarot.md)》 | 51 | +| `OASQProcessorConfig` | `oasq` | OASQ(Outlier-Aware Smooth Quantization)处理器配置。 | 《[oasq 配置说明](oasq.md)》 | |
| 52 | -- `QuantSaveProcessorConfig`(`type: saver`) — 统一保存处理器配置。 《[saver 配置说明](saver.md)》 | 52 | +| `OnlineQuaRotProcessorConfig` | `online_quarot` | 在线 QuaRot 旋转处理器配置。 | 《[online_quarot 配置说明](online_quarot.md)》 | |
| 53 | -- `SmoothQuantProcessorConfig`(`type: smooth_quant`) — SmoothQuant 平滑量化处理器配置。 《[smooth_quant 配置说明](smooth_quant.md)》 | 53 | +| `QuaRotProcessorConfig` | `quarot` | QuaRot(离线旋转)处理器配置。 | 《[quarot 配置说明](quarot.md)》 | |
| 54 | -- `SVDResidualProcessorConfig`(`type: svd_res`) — SVD 残差(低秩补偿)处理器配置。 《[svd_res 配置说明](svd_res.md)》 | 54 | +| `QuantSaveProcessorConfig` | `saver` | 统一保存处理器配置。 | 《[saver 配置说明](saver.md)》 | |
| 55 | -- `TrainableLinearQuantProcessorConfig`(`type: trainable_linear_quant`) — 可训练线性量化(TLQ)处理器配置。 《[trainable_linear_quant 配置说明](trainable_linear_quant.md)》 | 55 | +| `SmoothQuantProcessorConfig` | `smooth_quant` | SmoothQuant 平滑量化处理器配置。 | 《[smooth_quant 配置说明](smooth_quant.md)》 | |
| 56 | -- `UnaryAnalysisProcessorConfig`(`type: unary_analysis`) — 一元(无量化)敏感度分析处理器配置。 《[unary_analysis 配置说明](unary_analysis.md)》 | 56 | +| `SVDResidualProcessorConfig` | `svd_res` | SVD 残差(低秩补偿)处理器配置。 | 《[svd_res 配置说明](svd_res.md)》 | |
| 57 | +| `TrainableLinearQuantProcessorConfig` | `trainable_linear_quant` | 可训练线性量化(TLQ)处理器配置。 | 《[trainable_linear_quant 配置说明](trainable_linear_quant.md)》 | | ||
| 58 | +| `UnaryAnalysisProcessorConfig` | `unary_analysis` | 一元(无量化)敏感度分析处理器配置。 | 《[unary_analysis 配置说明](unary_analysis.md)》 | | ||
| 57 | 59 | ||
| 58 | ## 3. 完整配置参考 | 60 | ## 3. 完整配置参考 |
| 59 | 61 | ||
| @@ -25,35 +25,37 @@ | |||
| 25 | 25 | ||
| 26 | - 无。 | 26 | - 无。 |
| 27 | 27 | ||
| 28 | -<h3 id="2-2-autoprocessorconfig">2.2 AutoProcessorConfig</h3> | 28 | +<h3 id="2-2-autoprocessorconfig">2.2 《<a href="linear_quant.md">AutoProcessorConfig</a>》</h3> |
| 29 | 29 | ||
| 30 | **派生类** | 30 | **派生类** |
| 31 | 31 | ||
| 32 | -- `AdaptRotationProcessorConfig`(`type: adapt_rotation`) — 自适应旋转(adapt_rotation)处理器配置。 《[adapt_rotation 配置说明](adapt_rotation.md)》 | 32 | +| 配置类 | `type` | 说明 | 文档 | |
| 33 | -- `AutoroundProcessorConfig`(`type: autoround_quant`) — autoround 量化处理器配置。 《[autoround_quant 配置说明](autoround_quant.md)》 | 33 | +|--------|----------|------|------| |
| 34 | -- `AWQProcessorConfig`(`type: awq`) — AWQ(Activation-aware Weight Quantization)处理器配置。 《[awq 配置说明](awq.md)》 | 34 | +| `AdaptRotationProcessorConfig` | `adapt_rotation` | 自适应旋转(adapt_rotation)处理器配置。 | 《[adapt_rotation 配置说明](adapt_rotation.md)》 | |
| 35 | -- `BinaryAnalysisProcessorConfig`(`type: binary_analysis`) — 二值(有/无量化)敏感度分析处理器配置。 《[binary_analysis 配置说明](binary_analysis.md)》 | 35 | +| `AutoroundProcessorConfig` | `autoround_quant` | autoround 量化处理器配置。 | 《[autoround_quant 配置说明](autoround_quant.md)》 | |
| 36 | -- `BinaryOperatorLayerWiseProcessorConfig`(`type: binary_operator_layer_wise`) — 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 《[binary_operator_layer_wise 配置说明](binary_operator_layer_wise.md)》 | 36 | +| `AWQProcessorConfig` | `awq` | AWQ(Activation-aware Weight Quantization)处理器配置。 | 《[awq 配置说明](awq.md)》 | |
| 37 | -- `BinaryOperatorModelWiseProcessorConfig`(`type: binary_operator_model_wise`) — 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) 本页 <a href="#2-1-binary-operator-model-wise">§2.1</a> | 37 | +| `BinaryAnalysisProcessorConfig` | `binary_analysis` | 二值(有/无量化)敏感度分析处理器配置。 | 《[binary_analysis 配置说明](binary_analysis.md)》 | |
| 38 | -- `DynamicCacheProcessorConfig`(`type: dynamic_cache`) — KV cache 量化处理器配置。 《[dynamic_cache 配置说明](dynamic_cache.md)》 | 38 | +| `BinaryOperatorLayerWiseProcessorConfig` | `binary_operator_layer_wise` | 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 | 《[binary_operator_layer_wise 配置说明](binary_operator_layer_wise.md)》 | |
| 39 | -- `FA3QuantProcessorConfig`(`type: fa3_quant`) — FA3(FlashAttention-3)量化处理器配置。 《[fa3_quant 配置说明](fa3_quant.md)》 | 39 | +| `BinaryOperatorModelWiseProcessorConfig` | `binary_operator_model_wise` | 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) | 本页 <a href="#2-1-binary-operator-model-wise">§2.1</a> | |
| 40 | -- `FlatQuantProcessorConfig`(`type: flatquant`) — FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 《[flatquant 配置说明](flatquant.md)》 | 40 | +| `DynamicCacheProcessorConfig` | `dynamic_cache` | KV cache 量化处理器配置。 | 《[dynamic_cache 配置说明](dynamic_cache.md)》 | |
| 41 | -- `FlexAWQSSZProcessorConfig`(`type: flex_awq_ssz`) — FlexAWQSSZ 平滑+AWQ 处理器配置。 《[flex_awq_ssz 配置说明](flex_awq_ssz.md)》 | 41 | +| `FA3QuantProcessorConfig` | `fa3_quant` | FA3(FlashAttention-3)量化处理器配置。 | 《[fa3_quant 配置说明](fa3_quant.md)》 | |
| 42 | -- `FlexSmoothQuantProcessorConfig`(`type: flex_smooth_quant`) — FlexSmoothQuant 平滑量化处理器配置。 《[flex_smooth_quant 配置说明](flex_smooth_quant.md)》 | 42 | +| `FlatQuantProcessorConfig` | `flatquant` | FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 | 《[flatquant 配置说明](flatquant.md)》 | |
| 43 | -- `FloatSparseProcessorConfig`(`type: float_sparse`) — 浮点稀疏处理器配置。 《[float_sparse 配置说明](float_sparse.md)》 | 43 | +| `FlexAWQSSZProcessorConfig` | `flex_awq_ssz` | Flex AWQ SSZ 离群值抑制处理器配置。 | 《[flex_awq_ssz 配置说明](flex_awq_ssz.md)》 | |
| 44 | -- `GroupProcessorConfig`(`type: group`) — 处理器合并器配置。 《[group 配置说明](group.md)》 | 44 | +| `FlexSmoothQuantProcessorConfig` | `flex_smooth_quant` | FlexSmoothQuant 平滑量化处理器配置。 | 《[flex_smooth_quant 配置说明](flex_smooth_quant.md)》 | |
| 45 | -- `IterSmoothProcessorConfig`(`type: iter_smooth`) — 迭代平滑(IterativeSmooth)处理器配置。 《[iter_smooth 配置说明](iter_smooth.md)》 | 45 | +| `FloatSparseProcessorConfig` | `float_sparse` | 浮点稀疏处理器配置。 | 《[float_sparse 配置说明](float_sparse.md)》 | |
| 46 | -- `KVSmoothProcessorConfig`(`type: kv_smooth`) — KV cache 平滑处理器配置。 《[kv_smooth 配置说明](kv_smooth.md)》 | 46 | +| `GroupProcessorConfig` | `group` | 处理器合并器配置。 | 《[group 配置说明](group.md)》 | |
| 47 | -- `LinearProcessorConfig`(`type: linear_quant`) — 线性层(Linear)量化处理器配置。 《[linear_quant 配置说明](linear_quant.md)》 | 47 | +| `IterSmoothProcessorConfig` | `iter_smooth` | 迭代平滑(IterativeSmooth)处理器配置。 | 《[iter_smooth 配置说明](iter_smooth.md)》 | |
| 48 | -- `LoadProcessorConfig`(`type: load`) — 模块加载/卸载处理器配置。 《[load 配置说明](load.md)》 | 48 | +| `KVSmoothProcessorConfig` | `kv_smooth` | KV cache 平滑处理器配置。 | 《[kv_smooth 配置说明](kv_smooth.md)》 | |
| 49 | -- `OASQProcessorConfig`(`type: oasq`) — OASQ(Outlier-Aware Smooth Quantization)处理器配置。 《[oasq 配置说明](oasq.md)》 | 49 | +| `LinearProcessorConfig` | `linear_quant` | 线性层(Linear)量化处理器配置。 | 《[linear_quant 配置说明](linear_quant.md)》 | |
| 50 | -- `OnlineQuaRotProcessorConfig`(`type: online_quarot`) — 在线 QuaRot 旋转处理器配置。 《[online_quarot 配置说明](online_quarot.md)》 | 50 | +| `LoadProcessorConfig` | `load` | 模块加载/卸载处理器配置。 | 《[load 配置说明](load.md)》 | |
| 51 | -- `QuaRotProcessorConfig`(`type: quarot`) — QuaRot(离线旋转)处理器配置。 《[quarot 配置说明](quarot.md)》 | 51 | +| `OASQProcessorConfig` | `oasq` | OASQ(Outlier-Aware Smooth Quantization)处理器配置。 | 《[oasq 配置说明](oasq.md)》 | |
| 52 | -- `QuantSaveProcessorConfig`(`type: saver`) — 统一保存处理器配置。 《[saver 配置说明](saver.md)》 | 52 | +| `OnlineQuaRotProcessorConfig` | `online_quarot` | 在线 QuaRot 旋转处理器配置。 | 《[online_quarot 配置说明](online_quarot.md)》 | |
| 53 | -- `SmoothQuantProcessorConfig`(`type: smooth_quant`) — SmoothQuant 平滑量化处理器配置。 《[smooth_quant 配置说明](smooth_quant.md)》 | 53 | +| `QuaRotProcessorConfig` | `quarot` | QuaRot(离线旋转)处理器配置。 | 《[quarot 配置说明](quarot.md)》 | |
| 54 | -- `SVDResidualProcessorConfig`(`type: svd_res`) — SVD 残差(低秩补偿)处理器配置。 《[svd_res 配置说明](svd_res.md)》 | 54 | +| `QuantSaveProcessorConfig` | `saver` | 统一保存处理器配置。 | 《[saver 配置说明](saver.md)》 | |
| 55 | -- `TrainableLinearQuantProcessorConfig`(`type: trainable_linear_quant`) — 可训练线性量化(TLQ)处理器配置。 《[trainable_linear_quant 配置说明](trainable_linear_quant.md)》 | 55 | +| `SmoothQuantProcessorConfig` | `smooth_quant` | SmoothQuant 平滑量化处理器配置。 | 《[smooth_quant 配置说明](smooth_quant.md)》 | |
| 56 | -- `UnaryAnalysisProcessorConfig`(`type: unary_analysis`) — 一元(无量化)敏感度分析处理器配置。 《[unary_analysis 配置说明](unary_analysis.md)》 | 56 | +| `SVDResidualProcessorConfig` | `svd_res` | SVD 残差(低秩补偿)处理器配置。 | 《[svd_res 配置说明](svd_res.md)》 | |
| 57 | +| `TrainableLinearQuantProcessorConfig` | `trainable_linear_quant` | 可训练线性量化(TLQ)处理器配置。 | 《[trainable_linear_quant 配置说明](trainable_linear_quant.md)》 | | ||
| 58 | +| `UnaryAnalysisProcessorConfig` | `unary_analysis` | 一元(无量化)敏感度分析处理器配置。 | 《[unary_analysis 配置说明](unary_analysis.md)》 | | ||
| 57 | 59 | ||
| 58 | ## 3. 完整配置参考 | 60 | ## 3. 完整配置参考 |
| 59 | 61 | ||
| @@ -17,7 +17,7 @@ KV cache 量化处理器配置。 | |||
| 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | | `type` | `string` | 可选 | `dynamic_cache` | `dynamic_cache` | 处理器类型,固定为 `dynamic_cache`。 | 无 | | 19 | | `type` | `string` | 可选 | `dynamic_cache` | `dynamic_cache` | 处理器类型,固定为 `dynamic_cache`。 | 无 | |
| 20 | -| `qconfig` | `object` | 必选 | 无 | — | KV cache 张量的量化配置,见《QConfig 配置说明》。 | 本页 <a href="#2-2-qconfig">§2.2</a> | | 20 | +| `qconfig` | `object` | 必选 | 无 | — | KV cache 张量的量化配置,见<a href="#2-2-qconfig">《QConfig 配置说明》</a>。 | 本页 <a href="#2-2-qconfig">§2.2</a> | |
| 21 | | `include` | `list[string]` | 可选 | `[]` | — | 包含的模块名称模式 | 无 | | 21 | | `include` | `list[string]` | 可选 | `[]` | — | 包含的模块名称模式 | 无 | |
| 22 | | `exclude` | `list[string]` | 可选 | `[]` | — | 排除的模块名称模式,优先级高于 `include` | 无 | | 22 | | `exclude` | `list[string]` | 可选 | `[]` | — | 排除的模块名称模式,优先级高于 `include` | 无 | |
| 23 | 23 | ||
| @@ -32,9 +32,9 @@ 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` | 量化粒度,即 scale/zero_point 的计算范围:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`dual_scale`(双尺度)等;合法取值组合取决于 `dtype` 与量化器实现。 | 无 | | 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`。 | 无 | |
| 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` 等;可用取值取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数(配合 `float` 使用)。 | 无 | | 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`);空对象表示无扩展参数。 | 无 | |
| 39 | 39 | ||
| 40 | **配置约束** | 40 | **配置约束** |
| @@ -17,14 +17,14 @@ FA3(FlashAttention-3)量化处理器配置。 | |||
| 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | | `type` | `string` | 可选 | `fa3_quant` | `fa3_quant` | 处理器类型,固定为 `fa3_quant`。 | 无 | | 19 | | `type` | `string` | 可选 | `fa3_quant` | `fa3_quant` | 处理器类型,固定为 `fa3_quant`。 | 无 | |
| 20 | -| `qconfig` | `object / null` | 可选 | `null` | — | 统一量化配置;不提供时默认使用 INT8 per-head symmetric,见《QConfig 配置说明》 | 本页 <a href="#2-2-qconfig">§2.2</a> | | 20 | +| `qconfig` | `object / null` | 可选 | `null` | — | 统一量化配置;不提供时默认使用 `dtype: int8`、`scope: per_head`、`symmetric: true`、`method: minmax`(对称量化),见<a href="#2-2-qconfig">《QConfig 配置说明》</a> | 本页 <a href="#2-2-qconfig">§2.2</a> | |
| 21 | | `include` | `list[string]` | 可选 | `['*']` | — | 包含的模块名称模式,默认 `*` 匹配全部模块 | 无 | | 21 | | `include` | `list[string]` | 可选 | `['*']` | — | 包含的模块名称模式,默认 `*` 匹配全部模块 | 无 | |
| 22 | | `exclude` | `list[string]` | 可选 | `[]` | — | 排除的模块名称模式,优先级高于 `include` | 无 | | 22 | | `exclude` | `list[string]` | 可选 | `[]` | — | 排除的模块名称模式,优先级高于 `include` | 无 | |
| 23 | -| `details` | `object / null` | 可选 | `null` | — | Q/K/V 分支级量化配置(FA3AttentionDetails),见《FA3AttentionDetails 配置说明》 | 本页 <a href="#2-3-fa3-attention-details">§2.3</a> | | 23 | +| `details` | `object / null` | 可选 | `null` | — | Q/K/V 分支级量化配置(FA3AttentionDetails),见<a href="#2-3-fa3-attention-details">《FA3AttentionDetails 配置说明》</a> | 本页 <a href="#2-3-fa3-attention-details">§2.3</a> | |
| 24 | 24 | ||
| 25 | **配置约束** | 25 | **配置约束** |
| 26 | 26 | ||
| 27 | -- 校验 qconfig 与 details 互斥:两者都提供时报错;两者都未提供时默认 INT8 per-head symmetric。 | 27 | +- 校验 qconfig 与 details 互斥:两者都提供时报错;两者都未提供时使用默认:`{dtype: int8, scope: per_head, symmetric: true, method: minmax}`。 |
| 28 | 28 | ||
| 29 | <h3 id="2-2-qconfig">2.2 QConfig</h3> | 29 | <h3 id="2-2-qconfig">2.2 QConfig</h3> |
| 30 | 30 | ||
| @@ -33,9 +33,9 @@ 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` | 量化粒度,即 scale/zero_point 的计算范围:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`dual_scale`(双尺度)等;合法取值组合取决于 `dtype` 与量化器实现。 | 无 | | 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`。 | 无 | |
| 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` 等;可用取值取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数(配合 `float` 使用)。 | 无 | | 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`);空对象表示无扩展参数。 | 无 | |
| 40 | 40 | ||
| 41 | **配置约束** | 41 | **配置约束** |
| @@ -48,9 +48,9 @@ FA3 注意力分支级量化配置,分别指定 Q/K/V 的量化方式。 | |||
| 48 | 48 | ||
| 49 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 49 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 50 | |----------|------|-----------|--------|----------------|------|----------| | 50 | |----------|------|-----------|--------|----------------|------|----------| |
| 51 | -| `fa_q` | `object` | 可选 | `null` | — | Query 分支的量化配置,见《QConfig 配置说明》 | 本页 <a href="#2-2-qconfig">§2.2</a> | | 51 | +| `fa_q` | `object` | 可选 | `null` | — | Query 分支的量化配置,见<a href="#2-2-qconfig">《QConfig 配置说明》</a> | 本页 <a href="#2-2-qconfig">§2.2</a> | |
| 52 | -| `fa_k` | `object` | 可选 | `null` | — | Key 分支的量化配置,见《QConfig 配置说明》 | 本页 <a href="#2-2-qconfig">§2.2</a> | | 52 | +| `fa_k` | `object` | 可选 | `null` | — | Key 分支的量化配置,见<a href="#2-2-qconfig">《QConfig 配置说明》</a> | 本页 <a href="#2-2-qconfig">§2.2</a> | |
| 53 | -| `fa_v` | `object` | 可选 | `null` | — | Value 分支的量化配置,见《QConfig 配置说明》 | 本页 <a href="#2-2-qconfig">§2.2</a> | | 53 | +| `fa_v` | `object` | 可选 | `null` | — | Value 分支的量化配置,见<a href="#2-2-qconfig">《QConfig 配置说明》</a> | 本页 <a href="#2-2-qconfig">§2.2</a> | |
| 54 | 54 | ||
| 55 | **配置约束** | 55 | **配置约束** |
| 56 | 56 | ||
| @@ -53,7 +53,7 @@ FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 | |||
| 53 | 53 | ||
| 54 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 54 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 55 | |----------|------|-----------|--------|----------------|------|----------| | 55 | |----------|------|-----------|--------|----------------|------|----------| |
| 56 | -| `qconfig` | `object` | 必选 | 无 | — | 量化配置参数 | 本页 <a href="#2-3-linear-qconfig">§2.3</a> | | 56 | +| `qconfig` | `object` | 必选 | 无 | — | 量化配置参数 | 本页 <a href="#2-2-1-linear-qconfig">§2.2.1</a> | |
| 57 | | `include` | `list[string]` | 可选 | `['*']` | — | 要包含的模块名称(支持通配符 *) | 无 | | 57 | | `include` | `list[string]` | 可选 | `['*']` | — | 要包含的模块名称(支持通配符 *) | 无 | |
| 58 | | `exclude` | `list[string]` | 可选 | `[]` | — | 要排除的模块名称(优先于 include) | 无 | | 58 | | `exclude` | `list[string]` | 可选 | `[]` | — | 要排除的模块名称(优先于 include) | 无 | |
| 59 | 59 | ||
| @@ -61,29 +61,29 @@ FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 | |||
| 61 | 61 | ||
| 62 | - 无。 | 62 | - 无。 |
| 63 | 63 | ||
| 64 | -<h3 id="2-3-linear-qconfig">2.3 LinearQConfig</h3> | 64 | +<h4 id="2-2-1-linear-qconfig">2.2.1 LinearQConfig</h4> |
| 65 | 65 | ||
| 66 | 线性层(Linear)的量化配置,含激活与权重两路量化。 | 66 | 线性层(Linear)的量化配置,含激活与权重两路量化。 |
| 67 | 67 | ||
| 68 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 68 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 69 | |----------|------|-----------|--------|----------------|------|----------| | 69 | |----------|------|-----------|--------|----------------|------|----------| |
| 70 | -| `act` | `object` | 可选 | `{'dtype': 'float', 'scope': 'per_tensor', 'symmetric': True, 'method': 'none', 'ext': {}}` | — | 激活值的量化配置。默认 `float`(不量化激活),仅对权重做量化。 | 本页 <a href="#2-4-qconfig">§2.4</a> | | 70 | +| `act` | `object` | 可选 | `{'dtype': 'float', 'scope': 'per_tensor', 'symmetric': True, 'method': 'none', 'ext': {}}` | — | 激活值的量化配置。由激活量化器实现,`method` 支持 `minmax`、`histogram`、`none`;`scope` 支持 `per_tensor`、`per_token`、`per_channel`(限 int8/fp8_e4m3/mxfp8 的 minmax)等。默认 `float`(不量化激活),仅对权重做量化。 | 本页 <a href="#2-2-2-qconfig">§2.2.2</a> | |
| 71 | -| `weight` | `object` | 必选 | 无 | — | 权重的量化配置,必选。 | 本页 <a href="#2-4-qconfig">§2.4</a> | | 71 | +| `weight` | `object` | 必选 | 无 | — | 权重的量化配置,必选。由权重量化器实现,`method` 支持 `minmax`、`mse_round`、`ssz`、`gptq` 等;`scope` 支持 `per_channel`、`per_group`、`per_block` 等(不支持 `per_tensor`/`per_token`)。 | 本页 <a href="#2-2-2-qconfig">§2.2.2</a> | |
| 72 | 72 | ||
| 73 | **配置约束** | 73 | **配置约束** |
| 74 | 74 | ||
| 75 | - 无。 | 75 | - 无。 |
| 76 | 76 | ||
| 77 | -<h3 id="2-4-qconfig">2.4 QConfig</h3> | 77 | +<h4 id="2-2-2-qconfig">2.2.2 QConfig</h4> |
| 78 | 78 | ||
| 79 | 描述单个张量(权重或激活)的量化方式。 | 79 | 描述单个张量(权重或激活)的量化方式。 |
| 80 | 80 | ||
| 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` | 量化粒度,即 scale/zero_point 的计算范围:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`dual_scale`(双尺度)等;合法取值组合取决于 `dtype` 与量化器实现。 | 无 | | 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`。 | 无 | |
| 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` 等;可用取值取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数(配合 `float` 使用)。 | 无 | | 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`);空对象表示无扩展参数。 | 无 | |
| 88 | 88 | ||
| 89 | **配置约束** | 89 | **配置约束** |
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | ## 1. 配置概述 | 4 | ## 1. 配置概述 |
| 5 | 5 | ||
| 6 | -FlexAWQSSZ 平滑+AWQ 处理器配置。 | 6 | +Flex AWQ SSZ 离群值抑制处理器配置。 |
| 7 | 7 | ||
| 8 | | 项目 | 内容 | | 8 | | 项目 | 内容 | |
| 9 | |------|------| | 9 | |------|------| |
| @@ -22,7 +22,7 @@ FlexAWQSSZ 平滑+AWQ 处理器配置。 | |||
| 22 | | `enable_subgraph_type` | `list[any]` | 可选 | `['norm-linear', 'linear-linear', 'ov', 'up-down']` | — | 应用平滑的子图类型列表,默认 `norm-linear`、`linear-linear`、`ov`、`up-down`。 | 无 | | 22 | | `enable_subgraph_type` | `list[any]` | 可选 | `['norm-linear', 'linear-linear', 'ov', 'up-down']` | — | 应用平滑的子图类型列表,默认 `norm-linear`、`linear-linear`、`ov`、`up-down`。 | 无 | |
| 23 | | `include` | `list[string] / null` | 可选 | `null` | — | 包含的模块名称模式;不设置表示全部匹配。 | 无 | | 23 | | `include` | `list[string] / null` | 可选 | `null` | — | 包含的模块名称模式;不设置表示全部匹配。 | 无 | |
| 24 | | `exclude` | `list[string] / null` | 可选 | `null` | — | 排除的模块名称模式,优先级高于 `include`。 | 无 | | 24 | | `exclude` | `list[string] / null` | 可选 | `null` | — | 排除的模块名称模式,优先级高于 `include`。 | 无 | |
| 25 | -| `qconfig` | `object` | 必选 | 无 | — | 激活与权重的量化配置,见《LinearQConfig 配置说明》。 | 本页 <a href="#2-2-linear-qconfig">§2.2</a> | | 25 | +| `qconfig` | `object` | 必选 | 无 | — | 激活与权重的量化配置,见<a href="#2-2-linear-qconfig">《LinearQConfig 配置说明》</a>。 | 本页 <a href="#2-2-linear-qconfig">§2.2</a> | |
| 26 | 26 | ||
| 27 | **配置约束** | 27 | **配置约束** |
| 28 | 28 | ||
| @@ -34,23 +34,23 @@ FlexAWQSSZ 平滑+AWQ 处理器配置。 | |||
| 34 | 34 | ||
| 35 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 35 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 36 | |----------|------|-----------|--------|----------------|------|----------| | 36 | |----------|------|-----------|--------|----------------|------|----------| |
| 37 | -| `act` | `object` | 可选 | `{'dtype': 'float', 'scope': 'per_tensor', 'symmetric': True, 'method': 'none', 'ext': {}}` | — | 激活值的量化配置。默认 `float`(不量化激活),仅对权重做量化。 | 本页 <a href="#2-3-qconfig">§2.3</a> | | 37 | +| `act` | `object` | 可选 | `{'dtype': 'float', 'scope': 'per_tensor', 'symmetric': True, 'method': 'none', 'ext': {}}` | — | 激活值的量化配置。由激活量化器实现,`method` 支持 `minmax`、`histogram`、`none`;`scope` 支持 `per_tensor`、`per_token`、`per_channel`(限 int8/fp8_e4m3/mxfp8 的 minmax)等。默认 `float`(不量化激活),仅对权重做量化。 | 本页 <a href="#2-2-1-qconfig">§2.2.1</a> | |
| 38 | -| `weight` | `object` | 必选 | 无 | — | 权重的量化配置,必选。 | 本页 <a href="#2-3-qconfig">§2.3</a> | | 38 | +| `weight` | `object` | 必选 | 无 | — | 权重的量化配置,必选。由权重量化器实现,`method` 支持 `minmax`、`mse_round`、`ssz`、`gptq` 等;`scope` 支持 `per_channel`、`per_group`、`per_block` 等(不支持 `per_tensor`/`per_token`)。 | 本页 <a href="#2-2-1-qconfig">§2.2.1</a> | |
| 39 | 39 | ||
| 40 | **配置约束** | 40 | **配置约束** |
| 41 | 41 | ||
| 42 | - 无。 | 42 | - 无。 |
| 43 | 43 | ||
| 44 | -<h3 id="2-3-qconfig">2.3 QConfig</h3> | 44 | +<h4 id="2-2-1-qconfig">2.2.1 QConfig</h4> |
| 45 | 45 | ||
| 46 | 描述单个张量(权重或激活)的量化方式。 | 46 | 描述单个张量(权重或激活)的量化方式。 |
| 47 | 47 | ||
| 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` | 量化粒度,即 scale/zero_point 的计算范围:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`dual_scale`(双尺度)等;合法取值组合取决于 `dtype` 与量化器实现。 | 无 | | 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`。 | 无 | |
| 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` 等;可用取值取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数(配合 `float` 使用)。 | 无 | | 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`);空对象表示无扩展参数。 | 无 | |
| 55 | 55 | ||
| 56 | **配置约束** | 56 | **配置约束** |
| @@ -21,37 +21,39 @@ | |||
| 21 | 21 | ||
| 22 | **配置约束** | 22 | **配置约束** |
| 23 | 23 | ||
| 24 | -- 无。 | 24 | +- `configs` 内各子处理器必须为同一 `type`(同类合并,如均为 `linear_quant`);不同 `type` 请拆成多个独立的 `process` 项,不要混在同一 `group` 中。 |
| 25 | 25 | ||
| 26 | -<h3 id="2-2-autoprocessorconfig">2.2 AutoProcessorConfig</h3> | 26 | +<h3 id="2-2-autoprocessorconfig">2.2 《<a href="linear_quant.md">AutoProcessorConfig</a>》</h3> |
| 27 | 27 | ||
| 28 | **派生类** | 28 | **派生类** |
| 29 | 29 | ||
| 30 | -- `AdaptRotationProcessorConfig`(`type: adapt_rotation`) — 自适应旋转(adapt_rotation)处理器配置。 《[adapt_rotation 配置说明](adapt_rotation.md)》 | 30 | +| 配置类 | `type` | 说明 | 文档 | |
| 31 | -- `AutoroundProcessorConfig`(`type: autoround_quant`) — autoround 量化处理器配置。 《[autoround_quant 配置说明](autoround_quant.md)》 | 31 | +|--------|----------|------|------| |
| 32 | -- `AWQProcessorConfig`(`type: awq`) — AWQ(Activation-aware Weight Quantization)处理器配置。 《[awq 配置说明](awq.md)》 | 32 | +| `AdaptRotationProcessorConfig` | `adapt_rotation` | 自适应旋转(adapt_rotation)处理器配置。 | 《[adapt_rotation 配置说明](adapt_rotation.md)》 | |
| 33 | -- `BinaryAnalysisProcessorConfig`(`type: binary_analysis`) — 二值(有/无量化)敏感度分析处理器配置。 《[binary_analysis 配置说明](binary_analysis.md)》 | 33 | +| `AutoroundProcessorConfig` | `autoround_quant` | autoround 量化处理器配置。 | 《[autoround_quant 配置说明](autoround_quant.md)》 | |
| 34 | -- `BinaryOperatorLayerWiseProcessorConfig`(`type: binary_operator_layer_wise`) — 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 《[binary_operator_layer_wise 配置说明](binary_operator_layer_wise.md)》 | 34 | +| `AWQProcessorConfig` | `awq` | AWQ(Activation-aware Weight Quantization)处理器配置。 | 《[awq 配置说明](awq.md)》 | |
| 35 | -- `BinaryOperatorModelWiseProcessorConfig`(`type: binary_operator_model_wise`) — 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) 《[binary_operator_model_wise 配置说明](binary_operator_model_wise.md)》 | 35 | +| `BinaryAnalysisProcessorConfig` | `binary_analysis` | 二值(有/无量化)敏感度分析处理器配置。 | 《[binary_analysis 配置说明](binary_analysis.md)》 | |
| 36 | -- `DynamicCacheProcessorConfig`(`type: dynamic_cache`) — KV cache 量化处理器配置。 《[dynamic_cache 配置说明](dynamic_cache.md)》 | 36 | +| `BinaryOperatorLayerWiseProcessorConfig` | `binary_operator_layer_wise` | 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 | 《[binary_operator_layer_wise 配置说明](binary_operator_layer_wise.md)》 | |
| 37 | -- `FA3QuantProcessorConfig`(`type: fa3_quant`) — FA3(FlashAttention-3)量化处理器配置。 《[fa3_quant 配置说明](fa3_quant.md)》 | 37 | +| `BinaryOperatorModelWiseProcessorConfig` | `binary_operator_model_wise` | 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) | 《[binary_operator_model_wise 配置说明](binary_operator_model_wise.md)》 | |
| 38 | -- `FlatQuantProcessorConfig`(`type: flatquant`) — FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 《[flatquant 配置说明](flatquant.md)》 | 38 | +| `DynamicCacheProcessorConfig` | `dynamic_cache` | KV cache 量化处理器配置。 | 《[dynamic_cache 配置说明](dynamic_cache.md)》 | |
| 39 | -- `FlexAWQSSZProcessorConfig`(`type: flex_awq_ssz`) — FlexAWQSSZ 平滑+AWQ 处理器配置。 《[flex_awq_ssz 配置说明](flex_awq_ssz.md)》 | 39 | +| `FA3QuantProcessorConfig` | `fa3_quant` | FA3(FlashAttention-3)量化处理器配置。 | 《[fa3_quant 配置说明](fa3_quant.md)》 | |
| 40 | -- `FlexSmoothQuantProcessorConfig`(`type: flex_smooth_quant`) — FlexSmoothQuant 平滑量化处理器配置。 《[flex_smooth_quant 配置说明](flex_smooth_quant.md)》 | 40 | +| `FlatQuantProcessorConfig` | `flatquant` | FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 | 《[flatquant 配置说明](flatquant.md)》 | |
| 41 | -- `FloatSparseProcessorConfig`(`type: float_sparse`) — 浮点稀疏处理器配置。 《[float_sparse 配置说明](float_sparse.md)》 | 41 | +| `FlexAWQSSZProcessorConfig` | `flex_awq_ssz` | Flex AWQ SSZ 离群值抑制处理器配置。 | 《[flex_awq_ssz 配置说明](flex_awq_ssz.md)》 | |
| 42 | -- `GroupProcessorConfig`(`type: group`) — 处理器合并器配置。 本页 <a href="#2-1-group">§2.1</a> | 42 | +| `FlexSmoothQuantProcessorConfig` | `flex_smooth_quant` | FlexSmoothQuant 平滑量化处理器配置。 | 《[flex_smooth_quant 配置说明](flex_smooth_quant.md)》 | |
| 43 | -- `IterSmoothProcessorConfig`(`type: iter_smooth`) — 迭代平滑(IterativeSmooth)处理器配置。 《[iter_smooth 配置说明](iter_smooth.md)》 | 43 | +| `FloatSparseProcessorConfig` | `float_sparse` | 浮点稀疏处理器配置。 | 《[float_sparse 配置说明](float_sparse.md)》 | |
| 44 | -- `KVSmoothProcessorConfig`(`type: kv_smooth`) — KV cache 平滑处理器配置。 《[kv_smooth 配置说明](kv_smooth.md)》 | 44 | +| `GroupProcessorConfig` | `group` | 处理器合并器配置。 | 本页 <a href="#2-1-group">§2.1</a> | |
| 45 | -- `LinearProcessorConfig`(`type: linear_quant`) — 线性层(Linear)量化处理器配置。 《[linear_quant 配置说明](linear_quant.md)》 | 45 | +| `IterSmoothProcessorConfig` | `iter_smooth` | 迭代平滑(IterativeSmooth)处理器配置。 | 《[iter_smooth 配置说明](iter_smooth.md)》 | |
| 46 | -- `LoadProcessorConfig`(`type: load`) — 模块加载/卸载处理器配置。 《[load 配置说明](load.md)》 | 46 | +| `KVSmoothProcessorConfig` | `kv_smooth` | KV cache 平滑处理器配置。 | 《[kv_smooth 配置说明](kv_smooth.md)》 | |
| 47 | -- `OASQProcessorConfig`(`type: oasq`) — OASQ(Outlier-Aware Smooth Quantization)处理器配置。 《[oasq 配置说明](oasq.md)》 | 47 | +| `LinearProcessorConfig` | `linear_quant` | 线性层(Linear)量化处理器配置。 | 《[linear_quant 配置说明](linear_quant.md)》 | |
| 48 | -- `OnlineQuaRotProcessorConfig`(`type: online_quarot`) — 在线 QuaRot 旋转处理器配置。 《[online_quarot 配置说明](online_quarot.md)》 | 48 | +| `LoadProcessorConfig` | `load` | 模块加载/卸载处理器配置。 | 《[load 配置说明](load.md)》 | |
| 49 | -- `QuaRotProcessorConfig`(`type: quarot`) — QuaRot(离线旋转)处理器配置。 《[quarot 配置说明](quarot.md)》 | 49 | +| `OASQProcessorConfig` | `oasq` | OASQ(Outlier-Aware Smooth Quantization)处理器配置。 | 《[oasq 配置说明](oasq.md)》 | |
| 50 | -- `QuantSaveProcessorConfig`(`type: saver`) — 统一保存处理器配置。 《[saver 配置说明](saver.md)》 | 50 | +| `OnlineQuaRotProcessorConfig` | `online_quarot` | 在线 QuaRot 旋转处理器配置。 | 《[online_quarot 配置说明](online_quarot.md)》 | |
| 51 | -- `SmoothQuantProcessorConfig`(`type: smooth_quant`) — SmoothQuant 平滑量化处理器配置。 《[smooth_quant 配置说明](smooth_quant.md)》 | 51 | +| `QuaRotProcessorConfig` | `quarot` | QuaRot(离线旋转)处理器配置。 | 《[quarot 配置说明](quarot.md)》 | |
| 52 | -- `SVDResidualProcessorConfig`(`type: svd_res`) — SVD 残差(低秩补偿)处理器配置。 《[svd_res 配置说明](svd_res.md)》 | 52 | +| `QuantSaveProcessorConfig` | `saver` | 统一保存处理器配置。 | 《[saver 配置说明](saver.md)》 | |
| 53 | -- `TrainableLinearQuantProcessorConfig`(`type: trainable_linear_quant`) — 可训练线性量化(TLQ)处理器配置。 《[trainable_linear_quant 配置说明](trainable_linear_quant.md)》 | 53 | +| `SmoothQuantProcessorConfig` | `smooth_quant` | SmoothQuant 平滑量化处理器配置。 | 《[smooth_quant 配置说明](smooth_quant.md)》 | |
| 54 | -- `UnaryAnalysisProcessorConfig`(`type: unary_analysis`) — 一元(无量化)敏感度分析处理器配置。 《[unary_analysis 配置说明](unary_analysis.md)》 | 54 | +| `SVDResidualProcessorConfig` | `svd_res` | SVD 残差(低秩补偿)处理器配置。 | 《[svd_res 配置说明](svd_res.md)》 | |
| 55 | +| `TrainableLinearQuantProcessorConfig` | `trainable_linear_quant` | 可训练线性量化(TLQ)处理器配置。 | 《[trainable_linear_quant 配置说明](trainable_linear_quant.md)》 | | ||
| 56 | +| `UnaryAnalysisProcessorConfig` | `unary_analysis` | 一元(无量化)敏感度分析处理器配置。 | 《[unary_analysis 配置说明](unary_analysis.md)》 | | ||
| 55 | 57 | ||
| 56 | ## 3. 完整配置参考 | 58 | ## 3. 完整配置参考 |
| 57 | 59 | ||
| @@ -64,16 +66,31 @@ spec: | |||
| 64 | - type: linear_quant | 66 | - type: linear_quant |
| 65 | qconfig: | 67 | qconfig: |
| 66 | act: | 68 | act: |
| 67 | - dtype: float | 69 | + dtype: int8 |
| 68 | scope: per_tensor | 70 | scope: per_tensor |
| 69 | - symmetric: true | 71 | + symmetric: false |
| 70 | - method: none | 72 | + method: minmax |
| 71 | weight: | 73 | weight: |
| 72 | dtype: int8 | 74 | dtype: int8 |
| 73 | scope: per_channel | 75 | scope: per_channel |
| 74 | symmetric: true | 76 | symmetric: true |
| 75 | method: minmax | 77 | method: minmax |
| 76 | - - type: smooth_quant | 78 | + include: |
| 77 | - alpha: 0.5 | 79 | + - '*self_attn*' |
| 78 | - symmetric: true | 80 | + - type: linear_quant |
| 81 | + qconfig: | ||
| 82 | + act: | ||
| 83 | + dtype: int8 | ||
| 84 | + scope: per_token | ||
| 85 | + symmetric: true | ||
| 86 | + method: minmax | ||
| 87 | + weight: | ||
| 88 | + dtype: int8 | ||
| 89 | + scope: per_channel | ||
| 90 | + symmetric: true | ||
| 91 | + method: minmax | ||
| 92 | + include: | ||
| 93 | + - '*mlp*' | ||
| 94 | + exclude: | ||
| 95 | + - '*gate*' | ||
| 79 | ``` | 96 | ``` |
| @@ -17,7 +17,7 @@ | |||
| 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | | `type` | `string` | 可选 | `linear_quant` | `linear_quant` | 处理器类型,固定为 `linear_quant`。 | 无 | | 19 | | `type` | `string` | 可选 | `linear_quant` | `linear_quant` | 处理器类型,固定为 `linear_quant`。 | 无 | |
| 20 | -| `qconfig` | `object` | 必选 | 无 | — | 激活与权重的量化配置,见《LinearQConfig 配置说明》。 | 本页 <a href="#2-2-linear-qconfig">§2.2</a> | | 20 | +| `qconfig` | `object` | 必选 | 无 | — | 激活与权重的量化配置,见<a href="#2-2-linear-qconfig">《LinearQConfig 配置说明》</a>。 | 本页 <a href="#2-2-linear-qconfig">§2.2</a> | |
| 21 | | `include` | `list[string]` | 可选 | `['*']` | — | 包含的模块名称模式,默认 `*` 匹配全部模块 | 无 | | 21 | | `include` | `list[string]` | 可选 | `['*']` | — | 包含的模块名称模式,默认 `*` 匹配全部模块 | 无 | |
| 22 | | `exclude` | `list[string]` | 可选 | `[]` | — | 排除的模块名称模式,优先级高于 `include` | 无 | | 22 | | `exclude` | `list[string]` | 可选 | `[]` | — | 排除的模块名称模式,优先级高于 `include` | 无 | |
| 23 | 23 | ||
| @@ -31,23 +31,23 @@ | |||
| 31 | 31 | ||
| 32 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 32 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 33 | |----------|------|-----------|--------|----------------|------|----------| | 33 | |----------|------|-----------|--------|----------------|------|----------| |
| 34 | -| `act` | `object` | 可选 | `{'dtype': 'float', 'scope': 'per_tensor', 'symmetric': True, 'method': 'none', 'ext': {}}` | — | 激活值的量化配置。默认 `float`(不量化激活),仅对权重做量化。 | 本页 <a href="#2-3-qconfig">§2.3</a> | | 34 | +| `act` | `object` | 可选 | `{'dtype': 'float', 'scope': 'per_tensor', 'symmetric': True, 'method': 'none', 'ext': {}}` | — | 激活值的量化配置。由激活量化器实现,`method` 支持 `minmax`、`histogram`、`none`;`scope` 支持 `per_tensor`、`per_token`、`per_channel`(限 int8/fp8_e4m3/mxfp8 的 minmax)等。默认 `float`(不量化激活),仅对权重做量化。 | 本页 <a href="#2-2-1-qconfig">§2.2.1</a> | |
| 35 | -| `weight` | `object` | 必选 | 无 | — | 权重的量化配置,必选。 | 本页 <a href="#2-3-qconfig">§2.3</a> | | 35 | +| `weight` | `object` | 必选 | 无 | — | 权重的量化配置,必选。由权重量化器实现,`method` 支持 `minmax`、`mse_round`、`ssz`、`gptq` 等;`scope` 支持 `per_channel`、`per_group`、`per_block` 等(不支持 `per_tensor`/`per_token`)。 | 本页 <a href="#2-2-1-qconfig">§2.2.1</a> | |
| 36 | 36 | ||
| 37 | **配置约束** | 37 | **配置约束** |
| 38 | 38 | ||
| 39 | - 无。 | 39 | - 无。 |
| 40 | 40 | ||
| 41 | -<h3 id="2-3-qconfig">2.3 QConfig</h3> | 41 | +<h4 id="2-2-1-qconfig">2.2.1 QConfig</h4> |
| 42 | 42 | ||
| 43 | 描述单个张量(权重或激活)的量化方式。 | 43 | 描述单个张量(权重或激活)的量化方式。 |
| 44 | 44 | ||
| 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` | 量化粒度,即 scale/zero_point 的计算范围:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`dual_scale`(双尺度)等;合法取值组合取决于 `dtype` 与量化器实现。 | 无 | | 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`。 | 无 | |
| 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` 等;可用取值取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数(配合 `float` 使用)。 | 无 | | 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`);空对象表示无扩展参数。 | 无 | |
| 52 | 52 | ||
| 53 | **配置约束** | 53 | **配置约束** |
| @@ -17,7 +17,7 @@ | |||
| 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | | `type` | `string` | 可选 | `saver` | `saver` | 处理器类型,固定为 `saver`。 | 无 | | 19 | | `type` | `string` | 可选 | `saver` | `saver` | 处理器类型,固定为 `saver`。 | 无 | |
| 20 | -| `format` | `object` | 必选 | 无 | — | 导出格式配置(单对象),见《QuantFormatConfig 配置说明》;由保存处理器自动注入。 | QuantFormatConfig | | 20 | +| `format` | `object` | 必选 | 无 | — | 导出格式配置(单对象),由保存处理器自动注入。 | [`QuantFormatConfig`](../../../../../msmodelslim/format/base.py) | |
| 21 | 21 | ||
| 22 | **配置约束** | 22 | **配置约束** |
| 23 | 23 | ||
| @@ -18,10 +18,10 @@ | |||
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | | `type` | `string` | 可选 | `trainable_linear_quant` | `trainable_linear_quant` | 处理器类型,固定为 `trainable_linear_quant`。 | 无 | | 19 | | `type` | `string` | 可选 | `trainable_linear_quant` | `trainable_linear_quant` | 处理器类型,固定为 `trainable_linear_quant`。 | 无 | |
| 20 | | `operations` | `list[object]` | 可选 | `[MinmaxTuneOpConfig(type='minmax_tune', lr=None), RoundTuneOpConfig(type='round_tune', lr=None)]` | 最少1项 | 可训练量化管线 OP 配置列表;每项含 type,其余字段由各插件定义 | 本页 <a href="#2-2-tlq-op-config">§2.2</a> | | 20 | | `operations` | `list[object]` | 可选 | `[MinmaxTuneOpConfig(type='minmax_tune', lr=None), RoundTuneOpConfig(type='round_tune', lr=None)]` | 最少1项 | 可训练量化管线 OP 配置列表;每项含 type,其余字段由各插件定义 | 本页 <a href="#2-2-tlq-op-config">§2.2</a> | |
| 21 | -| `strategies` | `list[object]` | 可选 | `[]` | 0项或≥1项 | 量化策略配置列表;未提供时为空列表,不应用量化策略;若显式提供则至少1项。 | 本页 <a href="#2-6-tlq-quant-strategy-config">§2.6</a> | | 21 | +| `strategies` | `list[object]` | 可选 | `[]` | 0项或≥1项 | 量化策略配置列表;未提供时为空列表,不应用量化策略;若显式提供则至少1项。 | 本页 <a href="#2-3-tlq-quant-strategy-config">§2.3</a> | |
| 22 | | `train_with_act_quant` | `bool` | 可选 | `false` | — | 块级训练前向是否对激活做伪量化(经 x_kernel);false 与 autoround 的 train_with_act_quant=False 一致;导出 IR 仍由 qconfig.act 决定,不受此项影响 | 无 | | 22 | | `train_with_act_quant` | `bool` | 可选 | `false` | — | 块级训练前向是否对激活做伪量化(经 x_kernel);false 与 autoround 的 train_with_act_quant=False 一致;导出 IR 仍由 qconfig.act 决定,不受此项影响 | 无 | |
| 23 | | `enable_quanted_input` | `bool` | 可选 | `false` | — | 是否将本层量化前向结果作为下一层训练/量化传播的旁路输入(q_input);不影响浮点 teacher:Runner 层间 datas 始终传递 teacher 输出 | 无 | | 23 | | `enable_quanted_input` | `bool` | 可选 | `false` | — | 是否将本层量化前向结果作为下一层训练/量化传播的旁路输入(q_input);不影响浮点 teacher:Runner 层间 datas 始终传递 teacher 输出 | 无 | |
| 24 | -| `train_config` | `object` | 可选 | 见嵌套配置默认值 | — | 块级 Trainer 超参:iters、gradient_accumulate_steps、select_best、lr(或 learning_rate)、loss_type;各 OP 可单独配置 lr 覆盖全局值 | 本页 <a href="#2-9-block-train-config">§2.9</a> | | 24 | +| `train_config` | `object` | 可选 | 见嵌套配置默认值 | — | 块级 Trainer 超参:iters、gradient_accumulate_steps、select_best、lr(或 learning_rate)、loss_type;各 OP 可单独配置 lr 覆盖全局值 | 本页 <a href="#2-4-block-train-config">§2.4</a> | |
| 25 | 25 | ||
| 26 | **配置约束** | 26 | **配置约束** |
| 27 | 27 | ||
| @@ -32,7 +32,7 @@ | |||
| 32 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 32 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 33 | |----------|------|-----------|--------|----------------|------|----------| | 33 | |----------|------|-----------|--------|----------------|------|----------| |
| 34 | | `type` | `string` | 必选 | 无 | — | 算子类型,分派具体 TLQ 算子(如 `minmax_tune`、`round_tune`)。 | 无 | | 34 | | `type` | `string` | 必选 | 无 | — | 算子类型,分派具体 TLQ 算子(如 `minmax_tune`、`round_tune`)。 | 无 | |
| 35 | -| `lr` | `float / null` | 可选 | `null` | >0.0;或 null | 该 Op 可训练参数学习率;未指定时使用 train_config.lr | 无 | | 35 | +| `lr` | `float / null` | 可选 | `null` | >0.0 或 null | 该 Op 可训练参数学习率;未指定时使用 train_config.lr | 无 | |
| 36 | 36 | ||
| 37 | **配置约束** | 37 | **配置约束** |
| 38 | 38 | ||
| @@ -40,38 +40,40 @@ | |||
| 40 | 40 | ||
| 41 | **派生类** | 41 | **派生类** |
| 42 | 42 | ||
| 43 | -- `MinmaxTuneOpConfig`(`type: minmax_tune`) — `MinmaxTuneOpConfig` 是嵌套配置。 本页 <a href="#2-3-minmax-tune">§2.3</a> | 43 | +| 配置类 | `type` | 说明 | 文档 | |
| 44 | -- `RoundTuneOpConfig`(`type: round_tune`) — `RoundTuneOpConfig` 是嵌套配置。 本页 <a href="#2-4-round-tune">§2.4</a> | 44 | +|--------|----------|------|------| |
| 45 | -- `TrainableSmoothOpConfig`(`type: trainable_smooth`) — `TrainableSmoothOpConfig` 是嵌套配置。 本页 <a href="#2-5-trainable-smooth">§2.5</a> | 45 | +| `MinmaxTuneOpConfig` | `minmax_tune` | `MinmaxTuneOpConfig` 是嵌套配置。 | 本页 <a href="#2-2-1-minmax-tune">§2.2.1</a> | |
| 46 | +| `RoundTuneOpConfig` | `round_tune` | `RoundTuneOpConfig` 是嵌套配置。 | 本页 <a href="#2-2-2-round-tune">§2.2.2</a> | | ||
| 47 | +| `TrainableSmoothOpConfig` | `trainable_smooth` | `TrainableSmoothOpConfig` 是嵌套配置。 | 本页 <a href="#2-2-3-trainable-smooth">§2.2.3</a> | | ||
| 46 | 48 | ||
| 47 | -<h4 id="2-3-minmax-tune">2.3 MinmaxTuneOpConfig</h4> | 49 | +<h4 id="2-2-1-minmax-tune">2.2.1 MinmaxTuneOpConfig</h4> |
| 48 | 50 | ||
| 49 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 51 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 50 | |----------|------|-----------|--------|----------------|------|----------| | 52 | |----------|------|-----------|--------|----------------|------|----------| |
| 51 | | `type` | `string` | 可选 | `minmax_tune` | `minmax_tune` | 插件类型:minmax_tune | 无 | | 53 | | `type` | `string` | 可选 | `minmax_tune` | `minmax_tune` | 插件类型:minmax_tune | 无 | |
| 52 | -| `lr` | `float / null` | 可选 | `null` | >0.0;或 null | — | 无 | | 54 | +| `lr` | `float / null` | 可选 | `null` | >0.0 或 null | — | 无 | |
| 53 | 55 | ||
| 54 | **配置约束** | 56 | **配置约束** |
| 55 | 57 | ||
| 56 | - 无。 | 58 | - 无。 |
| 57 | 59 | ||
| 58 | -<h4 id="2-4-round-tune">2.4 RoundTuneOpConfig</h4> | 60 | +<h4 id="2-2-2-round-tune">2.2.2 RoundTuneOpConfig</h4> |
| 59 | 61 | ||
| 60 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 62 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 61 | |----------|------|-----------|--------|----------------|------|----------| | 63 | |----------|------|-----------|--------|----------------|------|----------| |
| 62 | | `type` | `string` | 可选 | `round_tune` | `round_tune` | 插件类型:round_tune | 无 | | 64 | | `type` | `string` | 可选 | `round_tune` | `round_tune` | 插件类型:round_tune | 无 | |
| 63 | -| `lr` | `float / null` | 可选 | `null` | >0.0;或 null | — | 无 | | 65 | +| `lr` | `float / null` | 可选 | `null` | >0.0 或 null | — | 无 | |
| 64 | 66 | ||
| 65 | **配置约束** | 67 | **配置约束** |
| 66 | 68 | ||
| 67 | - 无。 | 69 | - 无。 |
| 68 | 70 | ||
| 69 | -<h4 id="2-5-trainable-smooth">2.5 TrainableSmoothOpConfig</h4> | 71 | +<h4 id="2-2-3-trainable-smooth">2.2.3 TrainableSmoothOpConfig</h4> |
| 70 | 72 | ||
| 71 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 73 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 72 | |----------|------|-----------|--------|----------------|------|----------| | 74 | |----------|------|-----------|--------|----------------|------|----------| |
| 73 | | `type` | `string` | 可选 | `trainable_smooth` | `trainable_smooth` | 插件类型:trainable_smooth | 无 | | 75 | | `type` | `string` | 可选 | `trainable_smooth` | `trainable_smooth` | 插件类型:trainable_smooth | 无 | |
| 74 | -| `lr` | `float / null` | 可选 | `null` | >0.0;或 null | — | 无 | | 76 | +| `lr` | `float / null` | 可选 | `null` | >0.0 或 null | — | 无 | |
| 75 | | `enable_subgraph_type` | `list[string]` | 可选 | `['norm-linear', 'linear-linear', 'ov', 'up-down', 'non-fusion']` | — | 启用的 Smooth 子图类型,须为 SMOOTH_SUPPORTED_SUBGRAPH_TYPES 子集 | 无 | | 77 | | `enable_subgraph_type` | `list[string]` | 可选 | `['norm-linear', 'linear-linear', 'ov', 'up-down', 'non-fusion']` | — | 启用的 Smooth 子图类型,须为 SMOOTH_SUPPORTED_SUBGRAPH_TYPES 子集 | 无 | |
| 76 | | `include` | `list[string] / null` | 可选 | `null` | — | 子图入口 include 通配 | 无 | | 78 | | `include` | `list[string] / null` | 可选 | `null` | — | 子图入口 include 通配 | 无 | |
| 77 | | `exclude` | `list[string] / null` | 可选 | `null` | — | 子图入口 exclude 通配 | 无 | | 79 | | `exclude` | `list[string] / null` | 可选 | `null` | — | 子图入口 exclude 通配 | 无 | |
| @@ -80,13 +82,13 @@ | |||
| 80 | 82 | ||
| 81 | - 无。 | 83 | - 无。 |
| 82 | 84 | ||
| 83 | -<h3 id="2-6-tlq-quant-strategy-config">2.6 QuantStrategyConfig</h3> | 85 | +<h3 id="2-3-tlq-quant-strategy-config">2.3 QuantStrategyConfig</h3> |
| 84 | 86 | ||
| 85 | trainable_linear_quant 量化策略:对匹配的线性层应用一组可训练量化配置。 | 87 | trainable_linear_quant 量化策略:对匹配的线性层应用一组可训练量化配置。 |
| 86 | 88 | ||
| 87 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 89 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 88 | |----------|------|-----------|--------|----------------|------|----------| | 90 | |----------|------|-----------|--------|----------------|------|----------| |
| 89 | -| `qconfig` | `object` | 必选 | 无 | — | 激活与权重的量化配置,见《LinearQConfig 配置说明》。 | 本页 <a href="#2-7-linear-qconfig">§2.7</a> | | 91 | +| `qconfig` | `object` | 必选 | 无 | — | 激活与权重的量化配置,见<a href="#2-3-1-linear-qconfig">《LinearQConfig 配置说明》</a>。 | 本页 <a href="#2-3-1-linear-qconfig">§2.3.1</a> | |
| 90 | | `include` | `list[string]` | 可选 | `['*']` | — | 包含的模块名称模式,默认 `*` 匹配全部模块 | 无 | | 92 | | `include` | `list[string]` | 可选 | `['*']` | — | 包含的模块名称模式,默认 `*` 匹配全部模块 | 无 | |
| 91 | | `exclude` | `list[string]` | 可选 | `[]` | — | 排除的模块名称模式,优先级高于 `include` | 无 | | 93 | | `exclude` | `list[string]` | 可选 | `[]` | — | 排除的模块名称模式,优先级高于 `include` | 无 | |
| 92 | 94 | ||
| @@ -94,36 +96,36 @@ trainable_linear_quant 量化策略:对匹配的线性层应用一组可训练 | |||
| 94 | 96 | ||
| 95 | - 校验 qconfig:dtype/method 组合须有对应 TLQ kernel 支持,否则报错。 | 97 | - 校验 qconfig:dtype/method 组合须有对应 TLQ kernel 支持,否则报错。 |
| 96 | 98 | ||
| 97 | -<h3 id="2-7-linear-qconfig">2.7 LinearQConfig</h3> | 99 | +<h4 id="2-3-1-linear-qconfig">2.3.1 LinearQConfig</h4> |
| 98 | 100 | ||
| 99 | 线性层(Linear)的量化配置,含激活与权重两路量化。 | 101 | 线性层(Linear)的量化配置,含激活与权重两路量化。 |
| 100 | 102 | ||
| 101 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 103 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 102 | |----------|------|-----------|--------|----------------|------|----------| | 104 | |----------|------|-----------|--------|----------------|------|----------| |
| 103 | -| `act` | `object` | 可选 | `{'dtype': 'float', 'scope': 'per_tensor', 'symmetric': True, 'method': 'none', 'ext': {}}` | — | 激活值的量化配置。默认 `float`(不量化激活),仅对权重做量化。 | 本页 <a href="#2-8-qconfig">§2.8</a> | | 105 | +| `act` | `object` | 可选 | `{'dtype': 'float', 'scope': 'per_tensor', 'symmetric': True, 'method': 'none', 'ext': {}}` | — | 激活值的量化配置。由激活量化器实现,`method` 支持 `minmax`、`histogram`、`none`;`scope` 支持 `per_tensor`、`per_token`、`per_channel`(限 int8/fp8_e4m3/mxfp8 的 minmax)等。默认 `float`(不量化激活),仅对权重做量化。 | 本页 <a href="#2-3-2-qconfig">§2.3.2</a> | |
| 104 | -| `weight` | `object` | 必选 | 无 | — | 权重的量化配置,必选。 | 本页 <a href="#2-8-qconfig">§2.8</a> | | 106 | +| `weight` | `object` | 必选 | 无 | — | 权重的量化配置,必选。由权重量化器实现,`method` 支持 `minmax`、`mse_round`、`ssz`、`gptq` 等;`scope` 支持 `per_channel`、`per_group`、`per_block` 等(不支持 `per_tensor`/`per_token`)。 | 本页 <a href="#2-3-2-qconfig">§2.3.2</a> | |
| 105 | 107 | ||
| 106 | **配置约束** | 108 | **配置约束** |
| 107 | 109 | ||
| 108 | - 无。 | 110 | - 无。 |
| 109 | 111 | ||
| 110 | -<h3 id="2-8-qconfig">2.8 QConfig</h3> | 112 | +<h4 id="2-3-2-qconfig">2.3.2 QConfig</h4> |
| 111 | 113 | ||
| 112 | 描述单个张量(权重或激活)的量化方式。 | 114 | 描述单个张量(权重或激活)的量化方式。 |
| 113 | 115 | ||
| 114 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 116 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 115 | |----------|------|-----------|--------|----------------|------|----------| | 117 | |----------|------|-----------|--------|----------------|------|----------| |
| 116 | | `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 | | 118 | | `dtype` | `string` | 必选 | 无 | `float`、`int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3` | 量化数据类型,如 `int8`、`int4`、`mxfp8`、`mxfp4`、`fp8_e4m3`;`float` 表示该张量不量化。 | 无 | |
| 117 | -| `scope` | `string` | 必选 | 无 | `per_tensor`、`per_channel`、`per_group`、`per_block`、`per_token`、`pd_mix`、`per_head`、`dual_scale` | 量化粒度,即 scale/zero_point 的计算范围:`per_tensor`(整张量一个尺度)、`per_channel`(按通道)、`per_group`/`per_block`(按分组或固定块)、`per_token`(按 token)、`per_head`(按注意力头)、`dual_scale`(双尺度)等;合法取值组合取决于 `dtype` 与量化器实现。 | 无 | | 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`。 | 无 | |
| 118 | | `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 | | 120 | | `symmetric` | `bool` | 必选 | 无 | — | 是否对称量化。对称量化只保存 scale;非对称量化额外保存 zero_point,可用性取决于 `dtype`/`scope` 组合。 | 无 | |
| 119 | -| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none` 等;可用取值取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数(配合 `float` 使用)。 | 无 | | 121 | +| `method` | `string` | 必选 | 无 | — | 量化参数估计算法,如 `minmax`、`mse_round`、`histogram`、`ssz`、`none`、`gptq` 等;算法按张量类型分属两套量化器:激活量化器支持 `minmax`、`histogram`、`none`(配合 `float`);权重量化器支持 `minmax`、`mse_round`、`ssz`、`gptq` 等。可用取值还取决于 `dtype`/`scope`/`symmetric` 组合,`none` 表示不估计参数。 | 无 | |
| 120 | | `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 | | 122 | | `ext` | `object` | 可选 | `{}` | — | 量化器扩展参数,随 `method` 与量化器实现而定(如 gptq 的 `percdamp`/`group_size`);空对象表示无扩展参数。 | 无 | |
| 121 | 123 | ||
| 122 | **配置约束** | 124 | **配置约束** |
| 123 | 125 | ||
| 124 | - 无。 | 126 | - 无。 |
| 125 | 127 | ||
| 126 | -<h3 id="2-9-block-train-config">2.9 BlockTrainConfig</h3> | 128 | +<h3 id="2-4-block-train-config">2.4 BlockTrainConfig</h3> |
| 127 | 129 | ||
| 128 | 块级训练(block train)超参配置。 | 130 | 块级训练(block train)超参配置。 |
| 129 | 131 | ||
| @@ -132,7 +134,7 @@ trainable_linear_quant 量化策略:对匹配的线性层应用一组可训练 | |||
| 132 | | `iters` | `int` | 可选 | `50` | ≥0 | 块级训练迭代次数;为 0 时 Trainer 跳过优化 | 无 | | 134 | | `iters` | `int` | 可选 | `50` | ≥0 | 块级训练迭代次数;为 0 时 Trainer 跳过优化 | 无 | |
| 133 | | `gradient_accumulate_steps` | `int` | 可选 | `8` | ≥1 | 梯度累加步数,用于在有限显存下调节等效 batch | 无 | | 135 | | `gradient_accumulate_steps` | `int` | 可选 | `8` | ≥1 | 梯度累加步数,用于在有限显存下调节等效 batch | 无 | |
| 134 | | `lr` | `float` | 可选 | `0.01` | >0.0 | 全局基础学习率(别名 `learning_rate`) | 无 | | 136 | | `lr` | `float` | 可选 | `0.01` | >0.0 | 全局基础学习率(别名 `learning_rate`) | 无 | |
| 135 | -| `select_best` | `object` | 可选 | 见嵌套配置默认值 | — | 最优 iter 快照策略(按 mode 区分字段:ema / min_loss / last) | 本页 <a href="#2-10-selectbestconfig">§2.10</a> | | 137 | +| `select_best` | `object` | 可选 | 见嵌套配置默认值 | — | 最优 iter 快照策略(按 mode 区分字段:ema / min_loss / last) | 本页 <a href="#2-4-1-selectbestconfig">§2.4.1</a> | |
| 136 | | `loss_type` | `string` | 可选 | `l1` | `l1`、`custom_outlier` | 块级训练损失:l1(L1Loss reduction=none)、custom_outlier(0.3*全量 L1 + 0.7*3σ 内区域 L1) | 无 | | 138 | | `loss_type` | `string` | 可选 | `l1` | `l1`、`custom_outlier` | 块级训练损失:l1(L1Loss reduction=none)、custom_outlier(0.3*全量 L1 + 0.7*3σ 内区域 L1) | 无 | |
| 137 | | `train_seed` | `int` | 可选 | `42` | — | 块级训练随机种子(用于 sample 打乱与确定性算子) | 无 | | 139 | | `train_seed` | `int` | 可选 | `42` | — | 块级训练随机种子(用于 sample 打乱与确定性算子) | 无 | |
| 138 | 140 | ||
| @@ -140,15 +142,17 @@ trainable_linear_quant 量化策略:对匹配的线性层应用一组可训练 | |||
| 140 | 142 | ||
| 141 | - 无。 | 143 | - 无。 |
| 142 | 144 | ||
| 143 | -<h3 id="2-10-selectbestconfig">2.10 SelectBestConfig(按 `mode` 分派)</h3> | 145 | +<h4 id="2-4-1-selectbestconfig">2.4.1 SelectBestConfig(按 <code>mode</code> 分派)</h4> |
| 144 | 146 | ||
| 145 | **派生类** | 147 | **派生类** |
| 146 | 148 | ||
| 147 | -- `EmaSelectBest`(`mode: ema`) — EMA 滑动平均选最优;支持 early stop。 本页 <a href="#2-11-ema-select-best">§2.11</a> | 149 | +| 配置类 | `mode` | 说明 | 文档 | |
| 148 | -- `MinLossSelectBest`(`mode: min_loss`) — 当轮 loss 历史最小值选最优;支持 early stop。 本页 <a href="#2-12-min-loss-select-best">§2.12</a> | 150 | +|--------|----------|------|------| |
| 149 | -- `LastSelectBest`(`mode: last`) — 仅保存 iter 0 与最后一轮;无 early stop。 本页 <a href="#2-13-last-select-best">§2.13</a> | 151 | +| `EmaSelectBest` | `ema` | EMA 滑动平均选最优;支持 early stop。 | 本页 <a href="#2-4-2-ema-select-best">§2.4.2</a> | |
| 152 | +| `MinLossSelectBest` | `min_loss` | 当轮 loss 历史最小值选最优;支持 early stop。 | 本页 <a href="#2-4-3-min-loss-select-best">§2.4.3</a> | | ||
| 153 | +| `LastSelectBest` | `last` | 仅保存 iter 0 与最后一轮;无 early stop。 | 本页 <a href="#2-4-4-last-select-best">§2.4.4</a> | | ||
| 150 | 154 | ||
| 151 | -<h4 id="2-11-ema-select-best">2.11 EmaSelectBest</h4> | 155 | +<h4 id="2-4-2-ema-select-best">2.4.2 EmaSelectBest</h4> |
| 152 | 156 | ||
| 153 | EMA 滑动平均选最优;支持 early stop。 | 157 | EMA 滑动平均选最优;支持 early stop。 |
| 154 | 158 | ||
| @@ -163,7 +167,7 @@ EMA 滑动平均选最优;支持 early stop。 | |||
| 163 | 167 | ||
| 164 | - 无。 | 168 | - 无。 |
| 165 | 169 | ||
| 166 | -<h4 id="2-12-min-loss-select-best">2.12 MinLossSelectBest</h4> | 170 | +<h4 id="2-4-3-min-loss-select-best">2.4.3 MinLossSelectBest</h4> |
| 167 | 171 | ||
| 168 | 当轮 loss 历史最小值选最优;支持 early stop。 | 172 | 当轮 loss 历史最小值选最优;支持 early stop。 |
| 169 | 173 | ||
| @@ -176,7 +180,7 @@ EMA 滑动平均选最优;支持 early stop。 | |||
| 176 | 180 | ||
| 177 | - 无。 | 181 | - 无。 |
| 178 | 182 | ||
| 179 | -<h4 id="2-13-last-select-best">2.13 LastSelectBest</h4> | 183 | +<h4 id="2-4-4-last-select-best">2.4.4 LastSelectBest</h4> |
| 180 | 184 | ||
| 181 | 仅保存 iter 0 与最后一轮;无 early stop。 | 185 | 仅保存 iter 0 与最后一轮;无 early stop。 |
| 182 | 186 | ||
| @@ -0,0 +1,22 @@ | |||
| 1 | +# 量化任务配置说明导航 | ||
| 2 | + | ||
| 3 | +本目录是 msModelSlim 量化任务配置(YAML)的字段级参考文档,按先选 `apiversion`、再展开 `spec`的方式组织。使用流程与端到端操作步骤见《[一键量化完整指南](../../../user_guide/usage_quick_quantization.md)》;处理器与保存格式总表见《[配置说明导航](../README.md)》;自动调优见《[自动调优配置说明导航](../tuning/README.md)》。 | ||
| 4 | + | ||
| 5 | +## 1. 怎么用这套文档 | ||
| 6 | + | ||
| 7 | +1. **确定协议**:YAML 根节点的 `apiversion` 决定 `spec` 的结构,按任务场景在下方[任务配置](#2-任务配置按-apiversion-选择)表中选择对应页面。各协议可用的 `process` / `save` 子类型并不相同,以对应任务页为准。 | ||
| 8 | +2. **查任务字段**:打开对应协议页的参数列表,根块为任务配置(如 `ModelslimV1QuantConfig`),嵌套块为 `spec` 及展开的服务配置。 | ||
| 9 | +3. **查处理器 / 保存格式**:`spec.process[]`、`spec.save[]` 由 `type` 分派,字段见《[配置说明导航](../README.md)》的处理器、保存格式表,或直接打开 `../processor/`、`../format/` 下对应页面。 | ||
| 10 | +4. **查最佳实践包装**:一键量化 / 调优模板若带 `metadata`,见《[practice_config](practice_config.md)》;其内 `task` 仍对应某一 `apiversion` 任务配置。 | ||
| 11 | + | ||
| 12 | +> 本页为手写导航;本目录其余页面由 `skills/docs-management/scripts/gen_config_api_docs.py`(或 `gen_quant_config_docs.py`)从源码 Pydantic 注解生成。修改字段说明请改源码 `Field(description=)` 等注解后重新生成,不要直接编辑带 `generated-by` 标记的页面。 | ||
| 13 | + | ||
| 14 | +## 2. 任务配置(按 `apiversion` 选择) | ||
| 15 | + | ||
| 16 | +| 配置 | `apiversion` | 说明 | | ||
| 17 | +|------|--------------|------| | ||
| 18 | +| [modelslim_v1](modelslim_v1.md) | `modelslim_v1` | 大语言模型量化与权重转换的默认协议,含 `runner`/`process`/`save`/`dataset`。 | | ||
| 19 | +| [multimodal_vlm_modelslim_v1](multimodal_vlm_modelslim_v1.md) | `multimodal_vlm_modelslim_v1` | 多模态理解(VLM)模型量化协议。 | | ||
| 20 | +| [multimodal_sd_modelslim_v1](multimodal_sd_modelslim_v1.md) | `multimodal_sd_modelslim_v1` | 多模态生成(DiT/SD)模型量化协议,含 dump 与推理参数。 | | ||
| 21 | +| [modelslim_convert](modelslim_convert.md) | `modelslim_convert` | 纯权重转换协议,用于权重重命名、结构替换与格式转换。 | | ||
| 22 | +| [practice_config](practice_config.md) | `modelslim_v1`(在 `task` 内) | 最佳实践配置:`metadata` + `task`,被自动调优策略引用。 | | ||
Rdocs/zh/api_reference/config/task/modelslim_convert.md→docs/zh/api_reference/config/quant/modelslim_convert.md+67-66
| @@ -10,21 +10,18 @@ | |||
| 10 | | 配置类 | `ModelslimConvertQuantConfig` | | 10 | | 配置类 | `ModelslimConvertQuantConfig` | |
| 11 | | 源码 | [quant_config.py](../../../../../msmodelslim/core/quant_service/modelslim_convert/quant_config.py) | | 11 | | 源码 | [quant_config.py](../../../../../msmodelslim/core/quant_service/modelslim_convert/quant_config.py) | |
| 12 | 12 | ||
| 13 | -执行入口是 `msmodelslim quant --config`,完整命令与操作步骤见《[msmodelslim quant 命令行](../../cli/msmodelslim_quant.md#76-权重转换不需要-model_type)》与《[权重转换使用指南](../../../knowledge_base/ptq/convert/usage_weight_conversion.md)》。 | ||
| 14 | - | ||
| 15 | ## 2. 参数列表 | 13 | ## 2. 参数列表 |
| 16 | 14 | ||
| 17 | <h3 id="2-1-modelslim-convert">2.1 ModelslimConvertQuantConfig</h3> | 15 | <h3 id="2-1-modelslim-convert">2.1 ModelslimConvertQuantConfig</h3> |
| 18 | 16 | ||
| 19 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 20 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 21 | -| `apiversion` | `string` | 必选 | 无 | `modelslim_convert` | 权重转换任务类型,固定为 `modelslim_convert`。 | 无 | | 19 | +| `apiversion` | `string` | 可选 | `modelslim_convert` | `modelslim_convert` | — | 无 | |
| 22 | -| `spec` | `object` | 必选 | 无 | — | `modelslim_convert` 服务的 spec 结构,声明线性层转换规则(`linears`)、保存格式(`save`)与并行(`parallel`)。 | 本页 <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> | |
| 23 | 21 | ||
| 24 | **配置约束** | 22 | **配置约束** |
| 25 | 23 | ||
| 26 | -- YAML 须写 `apiversion: modelslim_convert`。 | 24 | +- 无。 |
| 27 | -- `spec` 为必选;日常至少配置 `linears` 与 `save`。 | ||
| 28 | 25 | ||
| 29 | <h3 id="2-2-modelslim-convert-spec">2.2 ModelslimConvertServiceConfig</h3> | 26 | <h3 id="2-2-modelslim-convert-spec">2.2 ModelslimConvertServiceConfig</h3> |
| 30 | 27 | ||
| @@ -32,37 +29,39 @@ | |||
| 32 | 29 | ||
| 33 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 30 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 34 | |----------|------|-----------|--------|----------------|------|----------| | 31 | |----------|------|-----------|--------|----------------|------|----------| |
| 35 | -| `preprocess` | `list[object]` | 可选 | `[]` | — | 预处理步骤列表,每项 `type` 为 `rename` 或 `convert`。 | 本页 <a href="#2-3-preprocessconfig">§2.3</a> | | 32 | +| `preprocess` | `list[object]` | 可选 | `[]` | — | 预处理步骤列表,每项 `type` 为 `rename` 或 `convert`。 | 本页 <a href="#2-2-1-preprocessconfig">§2.2.1</a> | |
| 36 | -| `linears` | `list[object]` | 可选 | `[]` | — | 线性层转换规则列表。 | 本页 <a href="#2-8-linear-convert-config">§2.8</a> | | 33 | +| `linears` | `list[object]` | 可选 | `[]` | — | 线性层转换规则列表。 | 本页 <a href="#2-2-6-linear-convert-config">§2.2.6</a> | |
| 37 | -| `save` | `list[object]` | 可选 | `[]` | — | 保存格式配置列表,取首个生效。 | 本页 <a href="#2-9-save-config">§2.9</a> | | 34 | +| `save` | `list[object]` | 可选 | `[]` | — | 保存格式配置列表,取首个生效。 | 本页 <a href="#2-2-7-save-config">§2.2.7</a> | |
| 38 | -| `parallel` | `object` | 可选 | 见嵌套配置默认值 | — | CPU 并行配置。NPU 多卡用命令行 `--device_id`。 | 本页 <a href="#2-10-parallel-spec-config">§2.10</a> | | 35 | +| `parallel` | `object` | 可选 | 见嵌套配置默认值 | — | 并行执行配置。 | 本页 <a href="#2-2-8-parallel-spec-config">§2.2.8</a> | |
| 39 | -| `defaults` | `object` | 可选 | 见嵌套配置默认值 | — | 保底默认值配置。配置了 `save` 时直接按 `save` 执行,不走此处的默认值。 | 本页 <a href="#2-11-convert-defaults">§2.11</a> | | 36 | +| `defaults` | `object` | 可选 | 见嵌套配置默认值 | — | 字段缺省时的全局默认值。 | 本页 <a href="#2-2-9-convert-defaults">§2.2.9</a> | |
| 40 | 37 | ||
| 41 | **配置约束** | 38 | **配置约束** |
| 42 | 39 | ||
| 43 | -- 日常至少配置 `linears` 与 `save`。配置了 `save` 时以 `save[0].type` 为准,`defaults.dst_format` 会被忽略。 | 40 | +- 无。 |
| 44 | 41 | ||
| 45 | -<h3 id="2-3-preprocessconfig">2.3 PreprocessConfig</h3> | 42 | +<h4 id="2-2-1-preprocessconfig">2.2.1 PreprocessConfig</h4> |
| 46 | 43 | ||
| 47 | **派生类** | 44 | **派生类** |
| 48 | 45 | ||
| 49 | -- `RenamePreprocessConfig`(`type: rename`) — `modelslim_convert` 预处理步骤之一:批量重命名权重张量。 本页 <a href="#2-4-rename">§2.4</a> | 46 | +| 配置类 | `type` | 说明 | 文档 | |
| 50 | -- `ConvertPreprocessConfig`(`type: convert`) — `modelslim_convert` 预处理步骤之一:对匹配的线性层做权重变换(拆分/合并等)。 本页 <a href="#2-6-convert">§2.6</a> | 47 | +|--------|----------|------|------| |
| 48 | +| `RenamePreprocessConfig` | `rename` | `modelslim_convert` 预处理步骤之一:批量重命名权重张量。 | 本页 <a href="#2-2-2-rename">§2.2.2</a> | | ||
| 49 | +| `ConvertPreprocessConfig` | `convert` | `modelslim_convert` 预处理步骤之一:对匹配的线性层做权重变换(拆分/合并等)。 | 本页 <a href="#2-2-4-convert">§2.2.4</a> | | ||
| 51 | 50 | ||
| 52 | -<h4 id="2-4-rename">2.4 RenamePreprocessConfig</h4> | 51 | +<h4 id="2-2-2-rename">2.2.2 RenamePreprocessConfig</h4> |
| 53 | 52 | ||
| 54 | `modelslim_convert` 预处理步骤之一:批量重命名权重张量。 | 53 | `modelslim_convert` 预处理步骤之一:批量重命名权重张量。 |
| 55 | 54 | ||
| 56 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 55 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 57 | |----------|------|-----------|--------|----------------|------|----------| | 56 | |----------|------|-----------|--------|----------------|------|----------| |
| 58 | | `type` | `string` | 可选 | `rename` | `rename` | 预处理类型,固定为 `rename`。 | 无 | | 57 | | `type` | `string` | 可选 | `rename` | `rename` | 预处理类型,固定为 `rename`。 | 无 | |
| 59 | -| `patterns` | `list[object]` | 可选 | `[]` | — | 重命名规则列表,逐条应用到匹配的权重名。 | 本页 <a href="#2-5-rename-pattern">§2.5</a> | | 58 | +| `patterns` | `list[object]` | 可选 | `[]` | — | 重命名规则列表,逐条应用到匹配的权重名。 | 本页 <a href="#2-2-3-rename-pattern">§2.2.3</a> | |
| 60 | 59 | ||
| 61 | **配置约束** | 60 | **配置约束** |
| 62 | 61 | ||
| 63 | - 无。 | 62 | - 无。 |
| 64 | 63 | ||
| 65 | -<h3 id="2-5-rename-pattern">2.5 RenamePattern</h3> | 64 | +<h4 id="2-2-3-rename-pattern">2.2.3 RenamePattern</h4> |
| 66 | 65 | ||
| 67 | 权重张量名重命名规则:把匹配 `from` 的权重名改写为 `to`。 | 66 | 权重张量名重命名规则:把匹配 `from` 的权重名改写为 `to`。 |
| 68 | 67 | ||
| @@ -75,7 +74,7 @@ | |||
| 75 | 74 | ||
| 76 | - 无。 | 75 | - 无。 |
| 77 | 76 | ||
| 78 | -<h4 id="2-6-convert">2.6 ConvertPreprocessConfig</h4> | 77 | +<h4 id="2-2-4-convert">2.2.4 ConvertPreprocessConfig</h4> |
| 79 | 78 | ||
| 80 | `modelslim_convert` 预处理步骤之一:对匹配的线性层做权重变换(拆分/合并等)。 | 79 | `modelslim_convert` 预处理步骤之一:对匹配的线性层做权重变换(拆分/合并等)。 |
| 81 | 80 | ||
| @@ -84,13 +83,13 @@ | |||
| 84 | | `type` | `string` | 可选 | `convert` | `convert` | 预处理类型,固定为 `convert`。 | 无 | | 83 | | `type` | `string` | 可选 | `convert` | `convert` | 预处理类型,固定为 `convert`。 | 无 | |
| 85 | | `source` | `list[string]` | 可选 | `[]` | — | 源权重名模式列表(待变换的线性层)。 | 无 | | 84 | | `source` | `list[string]` | 可选 | `[]` | — | 源权重名模式列表(待变换的线性层)。 | 无 | |
| 86 | | `target` | `list[string]` | 可选 | `[]` | — | 目标权重名模式列表(变换结果)。 | 无 | | 85 | | `target` | `list[string]` | 可选 | `[]` | — | 目标权重名模式列表(变换结果)。 | 无 | |
| 87 | -| `ops` | `list[object]` | 可选 | `[]` | — | 权重变换算子列表,如 `chunk`、`merge`。 | 本页 <a href="#2-7-convert-op-config">§2.7</a> | | 86 | +| `ops` | `list[object]` | 可选 | `[]` | — | 权重变换算子列表,如 `chunk`、`merge`。 | 本页 <a href="#2-2-5-convert-op-config">§2.2.5</a> | |
| 88 | 87 | ||
| 89 | **配置约束** | 88 | **配置约束** |
| 90 | 89 | ||
| 91 | - 无。 | 90 | - 无。 |
| 92 | 91 | ||
| 93 | -<h3 id="2-7-convert-op-config">2.7 ConvertOpConfig</h3> | 92 | +<h4 id="2-2-5-convert-op-config">2.2.5 ConvertOpConfig</h4> |
| 94 | 93 | ||
| 95 | `convert` 预处理步骤中的权重算子,如拆分/合并 fused 的 gate/up 投影。 | 94 | `convert` 预处理步骤中的权重算子,如拆分/合并 fused 的 gate/up 投影。 |
| 96 | 95 | ||
| @@ -102,93 +101,95 @@ | |||
| 102 | 101 | ||
| 103 | **配置约束** | 102 | **配置约束** |
| 104 | 103 | ||
| 105 | -- `type: chunk` 用于拆分 fused 的 `gate_up_proj`。专家数从模型 `config.json` 的 `num_experts` 读取。 | 104 | +- 无。 |
| 106 | -- 权重已经是独立的 `gate_proj` / `up_proj` 时不要再配 `chunk`,只改 `linears.match`。 | ||
| 107 | 105 | ||
| 108 | -<h3 id="2-8-linear-convert-config">2.8 LinearConvertConfig</h3> | 106 | +<h4 id="2-2-6-linear-convert-config">2.2.6 LinearConvertConfig</h4> |
| 109 | 107 | ||
| 110 | -指定匹配的线性层要转到哪种目标格式。 | 108 | +指定匹配的线性层转换到目标 IR 的规则。 |
| 111 | 109 | ||
| 112 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 110 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 113 | |----------|------|-----------|--------|----------------|------|----------| | 111 | |----------|------|-----------|--------|----------------|------|----------| |
| 114 | | `match` | `list[string]` | 可选 | `[]` | — | 匹配的线性层名称模式列表。 | 无 | | 112 | | `match` | `list[string]` | 可选 | `[]` | — | 匹配的线性层名称模式列表。 | 无 | |
| 115 | -| `target` | `string` | 必选 | 无 | `FLOAT`、`W8A8_MXFP8` | 转换目标。常用 `FLOAT`、`W8A8_MXFP8`。 | 无 | | 113 | +| `target` | `string` | 必选 | 无 | `FLOAT`、`FP8_BLOCK`、`W8A8_MXFP8`、`W4A4_MXFP4`、`W4A8_MXFP8`、`INT4_PACKED`、`NVFP4_MODELOPT`、`HIFP4`、`UNKNOWN` | 转换目标 IR 类型,如 `W8A8_MXFP8`、`INT4_PACKED` 等。 | 无 | |
| 114 | +| `route` | `list[string] / string` | 可选 | `auto` | `FLOAT`、`FP8_BLOCK`、`W8A8_MXFP8`、`W4A4_MXFP4`、`W4A8_MXFP8`、`INT4_PACKED`、`NVFP4_MODELOPT`、`HIFP4`、`UNKNOWN`;`auto` | 转换路径:显式 IR 列表(首元素为源 IR),或 `auto` 由虚拟树按权重 dtype 推断。 | 无 | | ||
| 116 | 115 | ||
| 117 | **配置约束** | 116 | **配置约束** |
| 118 | 117 | ||
| 119 | -- `W8A8_MXFP8` 配 `ascend_v1`,`FLOAT` 配 `huggingface`。 | 118 | +- 无。 |
| 120 | 119 | ||
| 121 | -<h3 id="2-9-save-config">2.9 SaveConfig</h3> | 120 | +<h4 id="2-2-7-save-config">2.2.7 SaveConfig</h4> |
| 122 | 121 | ||
| 123 | `modelslim_convert` 的保存格式配置。 | 122 | `modelslim_convert` 的保存格式配置。 |
| 124 | 123 | ||
| 125 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 124 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 126 | |----------|------|-----------|--------|----------------|------|----------| | 125 | |----------|------|-----------|--------|----------------|------|----------| |
| 127 | -| `type` | `string` | 可选 | `ascend_v1` | — | 保存格式:`ascend_v1`(昇腾 AscendV1)、`huggingface`(HF safetensors)。 | 无 | | 126 | +| `type` | `string` | 可选 | `ascend_v1` | — | 保存格式:`ascend_v1`(昇腾,与 `ConvertDefaults.dst_format` 的 `ascendv1` 等价);`compressed_tensors`(HF 兼容 safetensors);`huggingface`/`hf` 是 `compressed_tensors` 的别名。 | 无 | |
| 128 | | `part_file_size` | `int` | 可选 | `4` | — | 分片文件大小,单位 GB;0 表示不分片。 | 无 | | 127 | | `part_file_size` | `int` | 可选 | `4` | — | 分片文件大小,单位 GB;0 表示不分片。 | 无 | |
| 129 | 128 | ||
| 130 | **配置约束** | 129 | **配置约束** |
| 131 | 130 | ||
| 132 | -- `W8A8_MXFP8` 必须用 `ascend_v1`;`FLOAT` 用 `huggingface`。 | 131 | +- 无。 |
| 133 | 132 | ||
| 134 | -<h3 id="2-10-parallel-spec-config">2.10 ParallelSpecConfig</h3> | 133 | +<h4 id="2-2-8-parallel-spec-config">2.2.8 ParallelSpecConfig</h4> |
| 135 | 134 | ||
| 136 | `modelslim_convert` 的并行执行配置。 | 135 | `modelslim_convert` 的并行执行配置。 |
| 137 | 136 | ||
| 138 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 137 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 139 | |----------|------|-----------|--------|----------------|------|----------| | 138 | |----------|------|-----------|--------|----------------|------|----------| |
| 140 | -| `workers` | `int` | 可选 | `1` | — | CPU 并行 worker 数。 | 无 | | 139 | +| `workers` | `int` | 可选 | `1` | — | 并行 worker 数:1 表示单进程组内线程(可配 NPU);大于1 表示组间多进程 + 组内线程(CPU)。 | 无 | |
| 141 | -| `max_group_size` | `int / null` | 可选 | `null` | — | 单个依赖组的最大任务数,超过则拆成多个子组分散到不同进程/卡;不设置表示不拆分。 | 无 | | 140 | +| `max_group_size` | `int / null` | 可选 | `null` | — | 单个依赖组的最大任务数,超过则拆成多个子组分散到不同进程;不设置表示不拆分。 | 无 | |
| 141 | +| `worker_device` | `string` | 可选 | `cpu` | — | worker 运行设备:`cpu` 或 `npu`。 | 无 | | ||
| 142 | +| `npu_max_workers` | `int` | 可选 | `1` | — | 仅 `workers=1` 且 `worker_device=npu` 时生效,限制组内并发以防显存溢出。 | 无 | | ||
| 142 | 143 | ||
| 143 | **配置约束** | 144 | **配置约束** |
| 144 | 145 | ||
| 145 | -- `workers` 用于 CPU。NPU 用 `--device npu --device_id ...`。 | 146 | +- 无。 |
| 146 | -- `max_group_size`:MoE 等含有大量专家任务的模型,可设置为约「每层专家任务数 / 卡数」(如 8 卡设为 96),防止大组单进程/单卡长尾等待。 | ||
| 147 | 147 | ||
| 148 | -<h3 id="2-11-convert-defaults">2.11 ConvertDefaults</h3> | 148 | +<h4 id="2-2-9-convert-defaults">2.2.9 ConvertDefaults</h4> |
| 149 | 149 | ||
| 150 | -未显式声明对应配置时的全局保底默认值。 | 150 | +转换规则未显式声明字段时的全局默认值。 |
| 151 | 151 | ||
| 152 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 152 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 153 | |----------|------|-----------|--------|----------------|------|----------| | 153 | |----------|------|-----------|--------|----------------|------|----------| |
| 154 | -| `src_format` | `string` | 可选 | `auto` | — | 源权重格式;工具按 checkpoint 权重 key 与 dtype 自动推断,日常无需配置。 | 无 | | 154 | +| `src_format` | `string` | 可选 | `auto` | — | 源权重格式;`auto` 由模型适配器/权重目录自动推断。 | 无 | |
| 155 | -| `dst_format` | `string` | 可选 | `ascendv1` | — | 保底落盘格式。**与 `spec.save` 互斥**:只要配置了 `spec.save`,就直接使用 `save[0].type`,不走本字段;未配置 `spec.save` 时才回退到此默认值。 | 无 | | 155 | +| `dst_format` | `string` | 可选 | `ascendv1` | `ascendv1`、`ascendv1_saver`、`compressed_tensors`、`huggingface`、`hf` | 目标保存格式:`ascendv1`(昇腾,与 `SaveConfig.type` 的 `ascend_v1` 等价);`compressed_tensors`(HF 兼容 safetensors);`huggingface`/`hf` 是 `compressed_tensors` 的别名。 | 无 | |
| 156 | -| `dst_ir` | `string / null` | 可选 | `null` | `FLOAT`、`W8A8_MXFP8` 等;或 null | 保底目标格式。各层目标格式直接由 `linears[].target` 显式指定,日常无需配置此项。 | 无 | | 156 | +| `dst_ir` | `string / null` | 可选 | `null` | `FLOAT`、`FP8_BLOCK`、`W8A8_MXFP8`、`W4A4_MXFP4`、`W4A8_MXFP8`、`INT4_PACKED`、`NVFP4_MODELOPT`、`HIFP4`、`UNKNOWN` 或 null | 目标 IR 类型;不设置时由目标格式决定。 | 无 | |
| 157 | 157 | ||
| 158 | -**配置约束与互斥说明** | 158 | +**配置约束** |
| 159 | 159 | ||
| 160 | -- **与 `spec.save` 互斥/覆盖**:`spec.save` 优先级高于 `defaults.dst_format`。只要在 YAML 中配置了 `spec.save`(如 `type: ascend_v1` 或 `type: huggingface`),系统直接按 `save` 落盘,**完全不走 `defaults.dst_format` 默认值**。 | 160 | +- 无。 |
| 161 | -- **与 `linears.target` 的关系**:线性层转换目标直接由各条规则的 `linears[].target` 指定,不走 `defaults.dst_ir`。 | ||
| 162 | -- **无需配置**:日常转换推荐显式配置 `linears` 和 `save`,**无需配置 `defaults`**。 | ||
| 163 | 161 | ||
| 164 | ## 3. 完整配置参考 | 162 | ## 3. 完整配置参考 |
| 165 | 163 | ||
| 166 | ```yaml | 164 | ```yaml |
| 167 | apiversion: modelslim_convert | 165 | apiversion: modelslim_convert |
| 168 | spec: | 166 | spec: |
| 169 | - linears: [] | 167 | + linears: |
| 170 | - save: [] | 168 | + - match: |
| 169 | + - model.language_model.layers.*.mlp.gate_proj | ||
| 170 | + - model.language_model.layers.*.mlp.up_proj | ||
| 171 | + - model.language_model.layers.*.mlp.down_proj | ||
| 172 | + - model.language_model.layers.*.mlp.shared_experts.gate_proj | ||
| 173 | + - model.language_model.layers.*.mlp.shared_experts.up_proj | ||
| 174 | + - model.language_model.layers.*.mlp.shared_experts.down_proj | ||
| 175 | + - model.language_model.layers.*.mlp.experts.*.gate_proj | ||
| 176 | + - model.language_model.layers.*.mlp.experts.*.up_proj | ||
| 177 | + - model.language_model.layers.*.mlp.experts.*.down_proj | ||
| 178 | + - model.language_model.layers.*.self_attn.q_a_proj | ||
| 179 | + - model.language_model.layers.*.self_attn.q_b_proj | ||
| 180 | + - model.language_model.layers.*.self_attn.kv_a_proj_with_mqa | ||
| 181 | + target: W8A8_MXFP8 | ||
| 182 | + route: auto | ||
| 183 | + save: | ||
| 184 | + - type: ascend_v1 | ||
| 185 | + part_file_size: 4 | ||
| 171 | parallel: | 186 | parallel: |
| 172 | workers: 1 | 187 | workers: 1 |
| 173 | max_group_size: null | 188 | max_group_size: null |
| 174 | -``` | 189 | + worker_device: cpu |
| 175 | - | 190 | + npu_max_workers: 1 |
| 176 | -可落地的最小命令: | 191 | + defaults: |
| 177 | - | 192 | + src_format: auto |
| 178 | -```bash | 193 | + dst_format: ascendv1 |
| 179 | -msmodelslim quant \ | 194 | + dst_ir: null |
| 180 | - --model_path "${MODEL_PATH}" \ | ||
| 181 | - --save_path "${SAVE_PATH}" \ | ||
| 182 | - --config "${CONFIG_PATH}" | ||
| 183 | -``` | ||
| 184 | - | ||
| 185 | -多卡 NPU: | ||
| 186 | - | ||
| 187 | -```bash | ||
| 188 | -msmodelslim quant \ | ||
| 189 | - --model_path "${MODEL_PATH}" \ | ||
| 190 | - --save_path "${SAVE_PATH}" \ | ||
| 191 | - --config "${CONFIG_PATH}" \ | ||
| 192 | - --device npu \ | ||
| 193 | - --device_id 0 1 2 3 | ||
| 194 | ``` | 195 | ``` |
Rdocs/zh/api_reference/config/task/modelslim_v1.md→docs/zh/api_reference/config/quant/modelslim_v1.md+40-36
| @@ -16,7 +16,7 @@ | |||
| 16 | 16 | ||
| 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | -| `apiversion` | `string` | 可选 | Unknown(代码占位;YAML 中须按任务类型显式指定) | `modelslim_v1`、`multimodal_vlm_modelslim_v1`、`multimodal_sd_modelslim_v1`、`modelslim_convert` | API 版本(任务类型),决定 spec 的结构:`modelslim_v1`、`multimodal_vlm_modelslim_v1`、`multimodal_sd_modelslim_v1`、`modelslim_convert`;YAML 中必须显式指定,默认值 `Unknown` 仅为代码内部占位,不可直接使用。 | 无 | | 19 | +| `apiversion` | `string` | 可选 | `modelslim_v1` | `modelslim_v1` | — | 无 | |
| 20 | | `spec` | `object` | 必选 | 无 | — | `modelslim_v1` 服务的 spec 结构,声明量化流水线、保存格式与校准数据。 | 本页 <a href="#2-2-modelslim-v1-spec">§2.2</a> | | 20 | | `spec` | `object` | 必选 | 无 | — | `modelslim_v1` 服务的 spec 结构,声明量化流水线、保存格式与校准数据。 | 本页 <a href="#2-2-modelslim-v1-spec">§2.2</a> | |
| 21 | 21 | ||
| 22 | **配置约束** | 22 | **配置约束** |
| @@ -30,65 +30,69 @@ | |||
| 30 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 30 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 31 | |----------|------|-----------|--------|----------------|------|----------| | 31 | |----------|------|-----------|--------|----------------|------|----------| |
| 32 | | `runner` | `string` | 可选 | `auto` | `auto`、`model_wise`、`layer_wise`、`dp_layer_wise` | 流水线执行方式:`auto` 按设备数量自动选择(单设备 `layer_wise`,多设备 `dp_layer_wise`)、`model_wise` 整模型计算、`layer_wise` 逐层计算、`dp_layer_wise` 数据并行逐层计算。 | 无 | | 32 | | `runner` | `string` | 可选 | `auto` | `auto`、`model_wise`、`layer_wise`、`dp_layer_wise` | 流水线执行方式:`auto` 按设备数量自动选择(单设备 `layer_wise`,多设备 `dp_layer_wise`)、`model_wise` 整模型计算、`layer_wise` 逐层计算、`dp_layer_wise` 数据并行逐层计算。 | 无 | |
| 33 | -| `prior` | `list[object]` | 可选 | `[]` | — | 前置阶段列表,每阶段含 process 与 dataset | 本页 <a href="#2-3-prior-stage-config">§2.3</a> | | 33 | +| `prior` | `list[object]` | 可选 | `[]` | — | 前置阶段列表,每阶段含 process 与 dataset | 本页 <a href="#2-2-1-prior-stage-config">§2.2.1</a> | |
| 34 | -| `process` | `list[object]` | 可选 | `[]` | — | 量化处理器链,按顺序执行;每个元素是 `type` 分派的处理器配置,如 `linear_quant`、`awq`、`smooth_quant` 等。 | 本页 <a href="#2-4-autoprocessorconfig">§2.4</a> | | 34 | +| `process` | `list[object]` | 可选 | `[]` | — | 量化处理器链,按顺序执行;每个元素是 `type` 分派的处理器配置,如 `linear_quant`、`awq`、`smooth_quant` 等。 | 本页 <a href="#2-2-2-autoprocessorconfig">§2.2.2</a> | |
| 35 | -| `save` | `list[object]` | 可选 | `[]` | — | 保存格式列表,每个元素是 `type` 分派的保存格式配置,如 `ascendv1_saver`、`compressed_tensors`、`mindie_format_saver`。 | 本页 <a href="#2-5-quantformatconfig">§2.5</a> | | 35 | +| `save` | `list[object]` | 可选 | `[]` | — | 保存格式列表,每个元素是 `type` 分派的保存格式配置,如 `ascendv1_saver`、`compressed_tensors`、`mindie_format_saver`。 | 本页 <a href="#2-2-3-quantformatconfig">§2.2.3</a> | |
| 36 | | `dataset` | `string` | 可选 | `mix_calib.jsonl` | — | 校准数据集名称(`lab_calib` 下的文件名)或数据集路径,用于量化的参数估计与敏感性校准。 | 无 | | 36 | | `dataset` | `string` | 可选 | `mix_calib.jsonl` | — | 校准数据集名称(`lab_calib` 下的文件名)或数据集路径,用于量化的参数估计与敏感性校准。 | 无 | |
| 37 | 37 | ||
| 38 | **配置约束** | 38 | **配置约束** |
| 39 | 39 | ||
| 40 | - 无。 | 40 | - 无。 |
| 41 | 41 | ||
| 42 | -<h3 id="2-3-prior-stage-config">2.3 PriorStageConfig</h3> | 42 | +<h4 id="2-2-1-prior-stage-config">2.2.1 PriorStageConfig</h4> |
| 43 | 43 | ||
| 44 | 前置阶段配置:仅 process + dataset,用于如 adapt_rotation stage1 等先验阶段。 | 44 | 前置阶段配置:仅 process + dataset,用于如 adapt_rotation stage1 等先验阶段。 |
| 45 | 45 | ||
| 46 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 46 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 47 | |----------|------|-----------|--------|----------------|------|----------| | 47 | |----------|------|-----------|--------|----------------|------|----------| |
| 48 | -| `process` | `list[object]` | 可选 | `[]` | — | 该阶段处理器列表 | 本页 <a href="#2-4-autoprocessorconfig">§2.4</a> | | 48 | +| `process` | `list[object]` | 可选 | `[]` | — | 该阶段处理器列表 | 本页 <a href="#2-2-2-autoprocessorconfig">§2.2.2</a> | |
| 49 | | `dataset` | `string / null` | 可选 | `null` | — | 该阶段数据集名称,不提供则使用 spec.dataset | 无 | | 49 | | `dataset` | `string / null` | 可选 | `null` | — | 该阶段数据集名称,不提供则使用 spec.dataset | 无 | |
| 50 | 50 | ||
| 51 | **配置约束** | 51 | **配置约束** |
| 52 | 52 | ||
| 53 | - 无。 | 53 | - 无。 |
| 54 | 54 | ||
| 55 | -<h3 id="2-4-autoprocessorconfig">2.4 AutoProcessorConfig</h3> | 55 | +<h4 id="2-2-2-autoprocessorconfig">2.2.2 《<a href="../processor/linear_quant.md">AutoProcessorConfig</a>》</h4> |
| 56 | 56 | ||
| 57 | **派生类** | 57 | **派生类** |
| 58 | 58 | ||
| 59 | -- `AdaptRotationProcessorConfig`(`type: adapt_rotation`) — 自适应旋转(adapt_rotation)处理器配置。 《[adapt_rotation 配置说明](../processor/adapt_rotation.md)》 | 59 | +| 配置类 | `type` | 说明 | 文档 | |
| 60 | -- `AutoroundProcessorConfig`(`type: autoround_quant`) — autoround 量化处理器配置。 《[autoround_quant 配置说明](../processor/autoround_quant.md)》 | 60 | +|--------|----------|------|------| |
| 61 | -- `AWQProcessorConfig`(`type: awq`) — AWQ(Activation-aware Weight Quantization)处理器配置。 《[awq 配置说明](../processor/awq.md)》 | 61 | +| `AdaptRotationProcessorConfig` | `adapt_rotation` | 自适应旋转(adapt_rotation)处理器配置。 | 《[adapt_rotation 配置说明](../processor/adapt_rotation.md)》 | |
| 62 | -- `BinaryAnalysisProcessorConfig`(`type: binary_analysis`) — 二值(有/无量化)敏感度分析处理器配置。 《[binary_analysis 配置说明](../processor/binary_analysis.md)》 | 62 | +| `AutoroundProcessorConfig` | `autoround_quant` | autoround 量化处理器配置。 | 《[autoround_quant 配置说明](../processor/autoround_quant.md)》 | |
| 63 | -- `BinaryOperatorLayerWiseProcessorConfig`(`type: binary_operator_layer_wise`) — 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 《[binary_operator_layer_wise 配置说明](../processor/binary_operator_layer_wise.md)》 | 63 | +| `AWQProcessorConfig` | `awq` | AWQ(Activation-aware Weight Quantization)处理器配置。 | 《[awq 配置说明](../processor/awq.md)》 | |
| 64 | -- `BinaryOperatorModelWiseProcessorConfig`(`type: binary_operator_model_wise`) — 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) 《[binary_operator_model_wise 配置说明](../processor/binary_operator_model_wise.md)》 | 64 | +| `BinaryAnalysisProcessorConfig` | `binary_analysis` | 二值(有/无量化)敏感度分析处理器配置。 | 《[binary_analysis 配置说明](../processor/binary_analysis.md)》 | |
| 65 | -- `DynamicCacheProcessorConfig`(`type: dynamic_cache`) — KV cache 量化处理器配置。 《[dynamic_cache 配置说明](../processor/dynamic_cache.md)》 | 65 | +| `BinaryOperatorLayerWiseProcessorConfig` | `binary_operator_layer_wise` | 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 | 《[binary_operator_layer_wise 配置说明](../processor/binary_operator_layer_wise.md)》 | |
| 66 | -- `FA3QuantProcessorConfig`(`type: fa3_quant`) — FA3(FlashAttention-3)量化处理器配置。 《[fa3_quant 配置说明](../processor/fa3_quant.md)》 | 66 | +| `BinaryOperatorModelWiseProcessorConfig` | `binary_operator_model_wise` | 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) | 《[binary_operator_model_wise 配置说明](../processor/binary_operator_model_wise.md)》 | |
| 67 | -- `FlatQuantProcessorConfig`(`type: flatquant`) — FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 《[flatquant 配置说明](../processor/flatquant.md)》 | 67 | +| `DynamicCacheProcessorConfig` | `dynamic_cache` | KV cache 量化处理器配置。 | 《[dynamic_cache 配置说明](../processor/dynamic_cache.md)》 | |
| 68 | -- `FlexAWQSSZProcessorConfig`(`type: flex_awq_ssz`) — FlexAWQSSZ 平滑+AWQ 处理器配置。 《[flex_awq_ssz 配置说明](../processor/flex_awq_ssz.md)》 | 68 | +| `FA3QuantProcessorConfig` | `fa3_quant` | FA3(FlashAttention-3)量化处理器配置。 | 《[fa3_quant 配置说明](../processor/fa3_quant.md)》 | |
| 69 | -- `FlexSmoothQuantProcessorConfig`(`type: flex_smooth_quant`) — FlexSmoothQuant 平滑量化处理器配置。 《[flex_smooth_quant 配置说明](../processor/flex_smooth_quant.md)》 | 69 | +| `FlatQuantProcessorConfig` | `flatquant` | FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 | 《[flatquant 配置说明](../processor/flatquant.md)》 | |
| 70 | -- `FloatSparseProcessorConfig`(`type: float_sparse`) — 浮点稀疏处理器配置。 《[float_sparse 配置说明](../processor/float_sparse.md)》 | 70 | +| `FlexAWQSSZProcessorConfig` | `flex_awq_ssz` | Flex AWQ SSZ 离群值抑制处理器配置。 | 《[flex_awq_ssz 配置说明](../processor/flex_awq_ssz.md)》 | |
| 71 | -- `GroupProcessorConfig`(`type: group`) — 处理器合并器配置。 《[group 配置说明](../processor/group.md)》 | 71 | +| `FlexSmoothQuantProcessorConfig` | `flex_smooth_quant` | FlexSmoothQuant 平滑量化处理器配置。 | 《[flex_smooth_quant 配置说明](../processor/flex_smooth_quant.md)》 | |
| 72 | -- `IterSmoothProcessorConfig`(`type: iter_smooth`) — 迭代平滑(IterativeSmooth)处理器配置。 《[iter_smooth 配置说明](../processor/iter_smooth.md)》 | 72 | +| `FloatSparseProcessorConfig` | `float_sparse` | 浮点稀疏处理器配置。 | 《[float_sparse 配置说明](../processor/float_sparse.md)》 | |
| 73 | -- `KVSmoothProcessorConfig`(`type: kv_smooth`) — KV cache 平滑处理器配置。 《[kv_smooth 配置说明](../processor/kv_smooth.md)》 | 73 | +| `GroupProcessorConfig` | `group` | 处理器合并器配置。 | 《[group 配置说明](../processor/group.md)》 | |
| 74 | -- `LinearProcessorConfig`(`type: linear_quant`) — 线性层(Linear)量化处理器配置。 《[linear_quant 配置说明](../processor/linear_quant.md)》 | 74 | +| `IterSmoothProcessorConfig` | `iter_smooth` | 迭代平滑(IterativeSmooth)处理器配置。 | 《[iter_smooth 配置说明](../processor/iter_smooth.md)》 | |
| 75 | -- `LoadProcessorConfig`(`type: load`) — 模块加载/卸载处理器配置。 《[load 配置说明](../processor/load.md)》 | 75 | +| `KVSmoothProcessorConfig` | `kv_smooth` | KV cache 平滑处理器配置。 | 《[kv_smooth 配置说明](../processor/kv_smooth.md)》 | |
| 76 | -- `OASQProcessorConfig`(`type: oasq`) — OASQ(Outlier-Aware Smooth Quantization)处理器配置。 《[oasq 配置说明](../processor/oasq.md)》 | 76 | +| `LinearProcessorConfig` | `linear_quant` | 线性层(Linear)量化处理器配置。 | 《[linear_quant 配置说明](../processor/linear_quant.md)》 | |
| 77 | -- `OnlineQuaRotProcessorConfig`(`type: online_quarot`) — 在线 QuaRot 旋转处理器配置。 《[online_quarot 配置说明](../processor/online_quarot.md)》 | 77 | +| `LoadProcessorConfig` | `load` | 模块加载/卸载处理器配置。 | 《[load 配置说明](../processor/load.md)》 | |
| 78 | -- `QuaRotProcessorConfig`(`type: quarot`) — QuaRot(离线旋转)处理器配置。 《[quarot 配置说明](../processor/quarot.md)》 | 78 | +| `OASQProcessorConfig` | `oasq` | OASQ(Outlier-Aware Smooth Quantization)处理器配置。 | 《[oasq 配置说明](../processor/oasq.md)》 | |
| 79 | -- `QuantSaveProcessorConfig`(`type: saver`) — 统一保存处理器配置。 《[saver 配置说明](../processor/saver.md)》 | 79 | +| `OnlineQuaRotProcessorConfig` | `online_quarot` | 在线 QuaRot 旋转处理器配置。 | 《[online_quarot 配置说明](../processor/online_quarot.md)》 | |
| 80 | -- `SmoothQuantProcessorConfig`(`type: smooth_quant`) — SmoothQuant 平滑量化处理器配置。 《[smooth_quant 配置说明](../processor/smooth_quant.md)》 | 80 | +| `QuaRotProcessorConfig` | `quarot` | QuaRot(离线旋转)处理器配置。 | 《[quarot 配置说明](../processor/quarot.md)》 | |
| 81 | -- `SVDResidualProcessorConfig`(`type: svd_res`) — SVD 残差(低秩补偿)处理器配置。 《[svd_res 配置说明](../processor/svd_res.md)》 | 81 | +| `QuantSaveProcessorConfig` | `saver` | 统一保存处理器配置。 | 《[saver 配置说明](../processor/saver.md)》 | |
| 82 | -- `TrainableLinearQuantProcessorConfig`(`type: trainable_linear_quant`) — 可训练线性量化(TLQ)处理器配置。 《[trainable_linear_quant 配置说明](../processor/trainable_linear_quant.md)》 | 82 | +| `SmoothQuantProcessorConfig` | `smooth_quant` | SmoothQuant 平滑量化处理器配置。 | 《[smooth_quant 配置说明](../processor/smooth_quant.md)》 | |
| 83 | -- `UnaryAnalysisProcessorConfig`(`type: unary_analysis`) — 一元(无量化)敏感度分析处理器配置。 《[unary_analysis 配置说明](../processor/unary_analysis.md)》 | 83 | +| `SVDResidualProcessorConfig` | `svd_res` | SVD 残差(低秩补偿)处理器配置。 | 《[svd_res 配置说明](../processor/svd_res.md)》 | |
| 84 | +| `TrainableLinearQuantProcessorConfig` | `trainable_linear_quant` | 可训练线性量化(TLQ)处理器配置。 | 《[trainable_linear_quant 配置说明](../processor/trainable_linear_quant.md)》 | | ||
| 85 | +| `UnaryAnalysisProcessorConfig` | `unary_analysis` | 一元(无量化)敏感度分析处理器配置。 | 《[unary_analysis 配置说明](../processor/unary_analysis.md)》 | | ||
| 84 | 86 | ||
| 85 | -<h3 id="2-5-quantformatconfig">2.5 QuantFormatConfig</h3> | 87 | +<h4 id="2-2-3-quantformatconfig">2.2.3 《<a href="../format/ascendv1_saver.md">QuantFormatConfig</a>》</h4> |
| 86 | 88 | ||
| 87 | **派生类** | 89 | **派生类** |
| 88 | 90 | ||
| 89 | -- `AscendV1QuantFormatConfig`(`type: ascendv1_saver`) — AscendV1 保存格式配置,导出昇腾落盘格式的权重文件。 《[ascendv1_saver 配置说明](../format/ascendv1_saver.md)》 | 91 | +| 配置类 | `type` | 说明 | 文档 | |
| 90 | -- `CompressedTensorsQuantFormatConfig`(`type: compressed_tensors`) — compressed_tensors 保存格式配置,导出 safetensors 权重与 config.json。 《[compressed_tensors 配置说明](../format/compressed_tensors.md)》 | 92 | +|--------|----------|------|------| |
| 91 | -- `MindIEQuantFormatConfig`(`type: mindie_format_saver`) — MindIE 保存格式配置,导出 MindIE 落盘格式的权重文件。 《[mindie_format_saver 配置说明](../format/mindie_format_saver.md)》 | 93 | +| `AscendV1QuantFormatConfig` | `ascendv1_saver` | AscendV1 保存格式配置,导出昇腾落盘格式的权重文件。 | 《[ascendv1_saver 配置说明](../format/ascendv1_saver.md)》 | |
| 94 | +| `CompressedTensorsQuantFormatConfig` | `compressed_tensors` | compressed_tensors 保存格式配置,导出 safetensors 权重与 config.json。 | 《[compressed_tensors 配置说明](../format/compressed_tensors.md)》 | | ||
| 95 | +| `MindIEQuantFormatConfig` | `mindie_format_saver` | MindIE 保存格式配置,导出 MindIE 落盘格式的权重文件。 | 《[mindie_format_saver 配置说明](../format/mindie_format_saver.md)》 | | ||
| 92 | 96 | ||
| 93 | ## 3. 完整配置参考 | 97 | ## 3. 完整配置参考 |
| 94 | 98 | ||
Rdocs/zh/api_reference/config/task/multimodal_sd_modelslim_v1.md→docs/zh/api_reference/config/quant/multimodal_sd_modelslim_v1.md+48-44
| @@ -16,7 +16,7 @@ | |||
| 16 | 16 | ||
| 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | -| `apiversion` | `string` | 可选 | Unknown(代码占位;YAML 中须按任务类型显式指定) | `modelslim_v1`、`multimodal_vlm_modelslim_v1`、`multimodal_sd_modelslim_v1`、`modelslim_convert` | API 版本(任务类型),决定 spec 的结构:`modelslim_v1`、`multimodal_vlm_modelslim_v1`、`multimodal_sd_modelslim_v1`、`modelslim_convert`;YAML 中必须显式指定,默认值 `Unknown` 仅为代码内部占位,不可直接使用。 | 无 | | 19 | +| `apiversion` | `string` | 可选 | `multimodal_sd_modelslim_v1` | `multimodal_sd_modelslim_v1` | — | 无 | |
| 20 | | `spec` | `object` | 必选 | 无 | — | `multimodal_sd_modelslim_v1` 服务的 spec 结构。<br><br>面向多模态生成(SD)模型:在通用字段之外支持按专家(`per_expert`)覆盖处理器链,<br>并提供多模态专用 `multimodal_sd_config`。 | 本页 <a href="#2-2-multimodal-sd-modelslim-v1-spec">§2.2</a> | | 20 | | `spec` | `object` | 必选 | 无 | — | `multimodal_sd_modelslim_v1` 服务的 spec 结构。<br><br>面向多模态生成(SD)模型:在通用字段之外支持按专家(`per_expert`)覆盖处理器链,<br>并提供多模态专用 `multimodal_sd_config`。 | 本页 <a href="#2-2-multimodal-sd-modelslim-v1-spec">§2.2</a> | |
| 21 | 21 | ||
| 22 | **配置约束** | 22 | **配置约束** |
| @@ -30,82 +30,86 @@ | |||
| 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` 数据并行逐层计算。 | 无 | |
| 33 | -| `prior` | `list[object]` | 可选 | `[]` | — | 前置阶段列表,每阶段含 process 与 dataset | 本页 <a href="#2-3-prior-stage-config">§2.3</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-4-autoprocessorconfig">§2.4</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-4-autoprocessorconfig">§2.4</a> | | 35 | +| `per_expert` | `object / null` | 可选 | `null` | — | 按专家覆盖 process 的字典;值为该专家的 Processor 列表。某专家在此出现则整链替换,否则回退 process | 本页 <a href="#2-2-2-autoprocessorconfig">§2.2.2</a> | |
| 36 | -| `save` | `list[object]` | 可选 | `[]` | — | 保存格式列表,每个元素是 `type` 分派的保存格式配置。 | 本页 <a href="#2-5-quantformatconfig">§2.5</a> | | 36 | +| `save` | `list[object]` | 可选 | `[]` | — | 保存格式列表,每个元素是 `type` 分派的保存格式配置。 | 本页 <a href="#2-2-3-quantformatconfig">§2.2.3</a> | |
| 37 | | `dataset` | `string` | 可选 | `mix_calib.jsonl` | — | 校准数据集名称(`lab_calib` 下的文件名)或数据集路径。 | 无 | | 37 | | `dataset` | `string` | 可选 | `mix_calib.jsonl` | — | 校准数据集名称(`lab_calib` 下的文件名)或数据集路径。 | 无 | |
| 38 | -| `multimodal_sd_config` | `object` | 可选 | 由工厂函数生成 | — | 多模态生成模型的专用配置,可为字典或 `MultimodalSDConfig` 实例,含 `dump_config` 与 `inference_config`。 | 本页 <a href="#2-6-multimodal-sd-config">§2.6</a> | | 38 | +| `multimodal_sd_config` | `object` | 可选 | 由工厂函数生成 | — | 多模态生成模型的专用配置,可为字典或 `MultimodalSDConfig` 实例,含 `dump_config` 与 `inference_config`。 | 本页 <a href="#2-2-4-multimodal-sd-config">§2.2.4</a> | |
| 39 | 39 | ||
| 40 | **配置约束** | 40 | **配置约束** |
| 41 | 41 | ||
| 42 | -- 无。 | 42 | +- 本协议不支持 `adapt_rotation`:量化服务不执行 `spec.prior`,且多模态生成适配器未实现 `AdaptRotationInterface`;请保持 `prior` 为空,且勿在 `process`/`per_expert` 中配置 `adapt_rotation`。 |
| 43 | 43 | ||
| 44 | -<h3 id="2-3-prior-stage-config">2.3 PriorStageConfig</h3> | 44 | +<h4 id="2-2-1-prior-stage-config">2.2.1 PriorStageConfig</h4> |
| 45 | 45 | ||
| 46 | 前置阶段配置:仅 process + dataset,用于如 adapt_rotation stage1 等先验阶段。 | 46 | 前置阶段配置:仅 process + dataset,用于如 adapt_rotation stage1 等先验阶段。 |
| 47 | 47 | ||
| 48 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 48 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 49 | |----------|------|-----------|--------|----------------|------|----------| | 49 | |----------|------|-----------|--------|----------------|------|----------| |
| 50 | -| `process` | `list[object]` | 可选 | `[]` | — | 该阶段处理器列表 | 本页 <a href="#2-4-autoprocessorconfig">§2.4</a> | | 50 | +| `process` | `list[object]` | 可选 | `[]` | — | 该阶段处理器列表 | 本页 <a href="#2-2-2-autoprocessorconfig">§2.2.2</a> | |
| 51 | | `dataset` | `string / null` | 可选 | `null` | — | 该阶段数据集名称,不提供则使用 spec.dataset | 无 | | 51 | | `dataset` | `string / null` | 可选 | `null` | — | 该阶段数据集名称,不提供则使用 spec.dataset | 无 | |
| 52 | 52 | ||
| 53 | **配置约束** | 53 | **配置约束** |
| 54 | 54 | ||
| 55 | - 无。 | 55 | - 无。 |
| 56 | 56 | ||
| 57 | -<h3 id="2-4-autoprocessorconfig">2.4 AutoProcessorConfig</h3> | 57 | +<h4 id="2-2-2-autoprocessorconfig">2.2.2 《<a href="../processor/linear_quant.md">AutoProcessorConfig</a>》</h4> |
| 58 | 58 | ||
| 59 | **派生类** | 59 | **派生类** |
| 60 | 60 | ||
| 61 | -- `AdaptRotationProcessorConfig`(`type: adapt_rotation`) — 自适应旋转(adapt_rotation)处理器配置。 《[adapt_rotation 配置说明](../processor/adapt_rotation.md)》 | 61 | +| 配置类 | `type` | 说明 | 文档 | |
| 62 | -- `AutoroundProcessorConfig`(`type: autoround_quant`) — autoround 量化处理器配置。 《[autoround_quant 配置说明](../processor/autoround_quant.md)》 | 62 | +|--------|----------|------|------| |
| 63 | -- `AWQProcessorConfig`(`type: awq`) — AWQ(Activation-aware Weight Quantization)处理器配置。 《[awq 配置说明](../processor/awq.md)》 | 63 | +| `AdaptRotationProcessorConfig` | `adapt_rotation` | 自适应旋转(adapt_rotation)处理器配置。 | 《[adapt_rotation 配置说明](../processor/adapt_rotation.md)》 | |
| 64 | -- `BinaryAnalysisProcessorConfig`(`type: binary_analysis`) — 二值(有/无量化)敏感度分析处理器配置。 《[binary_analysis 配置说明](../processor/binary_analysis.md)》 | 64 | +| `AutoroundProcessorConfig` | `autoround_quant` | autoround 量化处理器配置。 | 《[autoround_quant 配置说明](../processor/autoround_quant.md)》 | |
| 65 | -- `BinaryOperatorLayerWiseProcessorConfig`(`type: binary_operator_layer_wise`) — 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 《[binary_operator_layer_wise 配置说明](../processor/binary_operator_layer_wise.md)》 | 65 | +| `AWQProcessorConfig` | `awq` | AWQ(Activation-aware Weight Quantization)处理器配置。 | 《[awq 配置说明](../processor/awq.md)》 | |
| 66 | -- `BinaryOperatorModelWiseProcessorConfig`(`type: binary_operator_model_wise`) — 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) 《[binary_operator_model_wise 配置说明](../processor/binary_operator_model_wise.md)》 | 66 | +| `BinaryAnalysisProcessorConfig` | `binary_analysis` | 二值(有/无量化)敏感度分析处理器配置。 | 《[binary_analysis 配置说明](../processor/binary_analysis.md)》 | |
| 67 | -- `DynamicCacheProcessorConfig`(`type: dynamic_cache`) — KV cache 量化处理器配置。 《[dynamic_cache 配置说明](../processor/dynamic_cache.md)》 | 67 | +| `BinaryOperatorLayerWiseProcessorConfig` | `binary_operator_layer_wise` | 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 | 《[binary_operator_layer_wise 配置说明](../processor/binary_operator_layer_wise.md)》 | |
| 68 | -- `FA3QuantProcessorConfig`(`type: fa3_quant`) — FA3(FlashAttention-3)量化处理器配置。 《[fa3_quant 配置说明](../processor/fa3_quant.md)》 | 68 | +| `BinaryOperatorModelWiseProcessorConfig` | `binary_operator_model_wise` | 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) | 《[binary_operator_model_wise 配置说明](../processor/binary_operator_model_wise.md)》 | |
| 69 | -- `FlatQuantProcessorConfig`(`type: flatquant`) — FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 《[flatquant 配置说明](../processor/flatquant.md)》 | 69 | +| `DynamicCacheProcessorConfig` | `dynamic_cache` | KV cache 量化处理器配置。 | 《[dynamic_cache 配置说明](../processor/dynamic_cache.md)》 | |
| 70 | -- `FlexAWQSSZProcessorConfig`(`type: flex_awq_ssz`) — FlexAWQSSZ 平滑+AWQ 处理器配置。 《[flex_awq_ssz 配置说明](../processor/flex_awq_ssz.md)》 | 70 | +| `FA3QuantProcessorConfig` | `fa3_quant` | FA3(FlashAttention-3)量化处理器配置。 | 《[fa3_quant 配置说明](../processor/fa3_quant.md)》 | |
| 71 | -- `FlexSmoothQuantProcessorConfig`(`type: flex_smooth_quant`) — FlexSmoothQuant 平滑量化处理器配置。 《[flex_smooth_quant 配置说明](../processor/flex_smooth_quant.md)》 | 71 | +| `FlatQuantProcessorConfig` | `flatquant` | FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 | 《[flatquant 配置说明](../processor/flatquant.md)》 | |
| 72 | -- `FloatSparseProcessorConfig`(`type: float_sparse`) — 浮点稀疏处理器配置。 《[float_sparse 配置说明](../processor/float_sparse.md)》 | 72 | +| `FlexAWQSSZProcessorConfig` | `flex_awq_ssz` | Flex AWQ SSZ 离群值抑制处理器配置。 | 《[flex_awq_ssz 配置说明](../processor/flex_awq_ssz.md)》 | |
| 73 | -- `GroupProcessorConfig`(`type: group`) — 处理器合并器配置。 《[group 配置说明](../processor/group.md)》 | 73 | +| `FlexSmoothQuantProcessorConfig` | `flex_smooth_quant` | FlexSmoothQuant 平滑量化处理器配置。 | 《[flex_smooth_quant 配置说明](../processor/flex_smooth_quant.md)》 | |
| 74 | -- `IterSmoothProcessorConfig`(`type: iter_smooth`) — 迭代平滑(IterativeSmooth)处理器配置。 《[iter_smooth 配置说明](../processor/iter_smooth.md)》 | 74 | +| `FloatSparseProcessorConfig` | `float_sparse` | 浮点稀疏处理器配置。 | 《[float_sparse 配置说明](../processor/float_sparse.md)》 | |
| 75 | -- `KVSmoothProcessorConfig`(`type: kv_smooth`) — KV cache 平滑处理器配置。 《[kv_smooth 配置说明](../processor/kv_smooth.md)》 | 75 | +| `GroupProcessorConfig` | `group` | 处理器合并器配置。 | 《[group 配置说明](../processor/group.md)》 | |
| 76 | -- `LinearProcessorConfig`(`type: linear_quant`) — 线性层(Linear)量化处理器配置。 《[linear_quant 配置说明](../processor/linear_quant.md)》 | 76 | +| `IterSmoothProcessorConfig` | `iter_smooth` | 迭代平滑(IterativeSmooth)处理器配置。 | 《[iter_smooth 配置说明](../processor/iter_smooth.md)》 | |
| 77 | -- `LoadProcessorConfig`(`type: load`) — 模块加载/卸载处理器配置。 《[load 配置说明](../processor/load.md)》 | 77 | +| `KVSmoothProcessorConfig` | `kv_smooth` | KV cache 平滑处理器配置。 | 《[kv_smooth 配置说明](../processor/kv_smooth.md)》 | |
| 78 | -- `OASQProcessorConfig`(`type: oasq`) — OASQ(Outlier-Aware Smooth Quantization)处理器配置。 《[oasq 配置说明](../processor/oasq.md)》 | 78 | +| `LinearProcessorConfig` | `linear_quant` | 线性层(Linear)量化处理器配置。 | 《[linear_quant 配置说明](../processor/linear_quant.md)》 | |
| 79 | -- `OnlineQuaRotProcessorConfig`(`type: online_quarot`) — 在线 QuaRot 旋转处理器配置。 《[online_quarot 配置说明](../processor/online_quarot.md)》 | 79 | +| `LoadProcessorConfig` | `load` | 模块加载/卸载处理器配置。 | 《[load 配置说明](../processor/load.md)》 | |
| 80 | -- `QuaRotProcessorConfig`(`type: quarot`) — QuaRot(离线旋转)处理器配置。 《[quarot 配置说明](../processor/quarot.md)》 | 80 | +| `OASQProcessorConfig` | `oasq` | OASQ(Outlier-Aware Smooth Quantization)处理器配置。 | 《[oasq 配置说明](../processor/oasq.md)》 | |
| 81 | -- `QuantSaveProcessorConfig`(`type: saver`) — 统一保存处理器配置。 《[saver 配置说明](../processor/saver.md)》 | 81 | +| `OnlineQuaRotProcessorConfig` | `online_quarot` | 在线 QuaRot 旋转处理器配置。 | 《[online_quarot 配置说明](../processor/online_quarot.md)》 | |
| 82 | -- `SmoothQuantProcessorConfig`(`type: smooth_quant`) — SmoothQuant 平滑量化处理器配置。 《[smooth_quant 配置说明](../processor/smooth_quant.md)》 | 82 | +| `QuaRotProcessorConfig` | `quarot` | QuaRot(离线旋转)处理器配置。 | 《[quarot 配置说明](../processor/quarot.md)》 | |
| 83 | -- `SVDResidualProcessorConfig`(`type: svd_res`) — SVD 残差(低秩补偿)处理器配置。 《[svd_res 配置说明](../processor/svd_res.md)》 | 83 | +| `QuantSaveProcessorConfig` | `saver` | 统一保存处理器配置。 | 《[saver 配置说明](../processor/saver.md)》 | |
| 84 | -- `TrainableLinearQuantProcessorConfig`(`type: trainable_linear_quant`) — 可训练线性量化(TLQ)处理器配置。 《[trainable_linear_quant 配置说明](../processor/trainable_linear_quant.md)》 | 84 | +| `SmoothQuantProcessorConfig` | `smooth_quant` | SmoothQuant 平滑量化处理器配置。 | 《[smooth_quant 配置说明](../processor/smooth_quant.md)》 | |
| 85 | -- `UnaryAnalysisProcessorConfig`(`type: unary_analysis`) — 一元(无量化)敏感度分析处理器配置。 《[unary_analysis 配置说明](../processor/unary_analysis.md)》 | 85 | +| `SVDResidualProcessorConfig` | `svd_res` | SVD 残差(低秩补偿)处理器配置。 | 《[svd_res 配置说明](../processor/svd_res.md)》 | |
| 86 | +| `TrainableLinearQuantProcessorConfig` | `trainable_linear_quant` | 可训练线性量化(TLQ)处理器配置。 | 《[trainable_linear_quant 配置说明](../processor/trainable_linear_quant.md)》 | | ||
| 87 | +| `UnaryAnalysisProcessorConfig` | `unary_analysis` | 一元(无量化)敏感度分析处理器配置。 | 《[unary_analysis 配置说明](../processor/unary_analysis.md)》 | | ||
| 86 | 88 | ||
| 87 | -<h3 id="2-5-quantformatconfig">2.5 QuantFormatConfig</h3> | 89 | +<h4 id="2-2-3-quantformatconfig">2.2.3 《<a href="../format/ascendv1_saver.md">QuantFormatConfig</a>》</h4> |
| 88 | 90 | ||
| 89 | **派生类** | 91 | **派生类** |
| 90 | 92 | ||
| 91 | -- `AscendV1QuantFormatConfig`(`type: ascendv1_saver`) — AscendV1 保存格式配置,导出昇腾落盘格式的权重文件。 《[ascendv1_saver 配置说明](../format/ascendv1_saver.md)》 | 93 | +| 配置类 | `type` | 说明 | 文档 | |
| 92 | -- `CompressedTensorsQuantFormatConfig`(`type: compressed_tensors`) — compressed_tensors 保存格式配置,导出 safetensors 权重与 config.json。 《[compressed_tensors 配置说明](../format/compressed_tensors.md)》 | 94 | +|--------|----------|------|------| |
| 93 | -- `MindIEQuantFormatConfig`(`type: mindie_format_saver`) — MindIE 保存格式配置,导出 MindIE 落盘格式的权重文件。 《[mindie_format_saver 配置说明](../format/mindie_format_saver.md)》 | 95 | +| `AscendV1QuantFormatConfig` | `ascendv1_saver` | AscendV1 保存格式配置,导出昇腾落盘格式的权重文件。 | 《[ascendv1_saver 配置说明](../format/ascendv1_saver.md)》 | |
| 96 | +| `CompressedTensorsQuantFormatConfig` | `compressed_tensors` | compressed_tensors 保存格式配置,导出 safetensors 权重与 config.json。 | 《[compressed_tensors 配置说明](../format/compressed_tensors.md)》 | | ||
| 97 | +| `MindIEQuantFormatConfig` | `mindie_format_saver` | MindIE 保存格式配置,导出 MindIE 落盘格式的权重文件。 | 《[mindie_format_saver 配置说明](../format/mindie_format_saver.md)》 | | ||
| 94 | 98 | ||
| 95 | -<h3 id="2-6-multimodal-sd-config">2.6 MultimodalSDConfig</h3> | 99 | +<h4 id="2-2-4-multimodal-sd-config">2.2.4 MultimodalSDConfig</h4> |
| 96 | 100 | ||
| 97 | 多模态生成(SD)模型的专用配置,含 dump 与推理参数。 | 101 | 多模态生成(SD)模型的专用配置,含 dump 与推理参数。 |
| 98 | 102 | ||
| 99 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 103 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 100 | |----------|------|-----------|--------|----------------|------|----------| | 104 | |----------|------|-----------|--------|----------------|------|----------| |
| 101 | -| `dump_config` | `object` | 必选 | 无 | — | 浮点 dump 配置,必选。 | 本页 <a href="#2-7-dump-config">§2.7</a> | | 105 | +| `dump_config` | `object` | 必选 | 无 | — | 浮点 dump 配置,必选。 | 本页 <a href="#2-2-5-dump-config">§2.2.5</a> | |
| 102 | -| `inference_config` | `object / null` | 可选 | `null` | — | 推理参数字典,经模型适配器的 InferenceConfig 类校验;与迁移期字段 `model_config` 互斥。 | 无 | | 106 | +| `inference_config` | `object / null` | 可选 | `null` | — | 推理参数字典。字段形状由当前模型适配器的 `get_inference_config_class()` 返回的 InferenceConfig 决定,量化时用该类做校验;与迁移期字段 `model_config` 互斥。 | 无 | |
| 103 | 107 | ||
| 104 | **配置约束** | 108 | **配置约束** |
| 105 | 109 | ||
| 106 | - 校验 inference_config 与迁移期字段 model_config 互斥:两者同时提供时报错。 | 110 | - 校验 inference_config 与迁移期字段 model_config 互斥:两者同时提供时报错。 |
| 107 | 111 | ||
| 108 | -<h3 id="2-7-dump-config">2.7 DumpConfig</h3> | 112 | +<h4 id="2-2-5-dump-config">2.2.5 DumpConfig</h4> |
| 109 | 113 | ||
| 110 | 多模态生成(SD)模型的浮点 dump 配置。 | 114 | 多模态生成(SD)模型的浮点 dump 配置。 |
| 111 | 115 | ||
| @@ -113,7 +117,7 @@ | |||
| 113 | |----------|------|-----------|--------|----------------|------|----------| | 117 | |----------|------|-----------|--------|----------------|------|----------| |
| 114 | | `enable_dump` | `bool` | 可选 | `true` | — | 是否在量化前对模型做浮点 dump(导出 pth 校准数据);`false` 时跳过 pth 加载与浮点 dump。 | 无 | | 118 | | `enable_dump` | `bool` | 可选 | `true` | — | 是否在量化前对模型做浮点 dump(导出 pth 校准数据);`false` 时跳过 pth 加载与浮点 dump。 | 无 | |
| 115 | | `capture_mode` | `string` | 可选 | `args` | `args` | dump 捕获模式,当前仅支持 `args`。 | 无 | | 119 | | `capture_mode` | `string` | 可选 | `args` | `args` | dump 捕获模式,当前仅支持 `args`。 | 无 | |
| 116 | -| `dump_data_dir` | `string` | 可选 | `` | — | 浮点 dump 数据的输出目录;为空时回退到 save_path。 | 无 | | 120 | +| `dump_data_dir` | `string` | 可选 | `` | — | 浮点 dump 数据的输出目录;为空时回退到本次量化的权重保存目录 `save_path`。 | 无 | |
| 117 | 121 | ||
| 118 | **配置约束** | 122 | **配置约束** |
| 119 | 123 | ||
Rdocs/zh/api_reference/config/task/multimodal_vlm_modelslim_v1.md→docs/zh/api_reference/config/quant/multimodal_vlm_modelslim_v1.md+40-36
| @@ -16,7 +16,7 @@ | |||
| 16 | 16 | ||
| 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | -| `apiversion` | `string` | 可选 | Unknown(代码占位;YAML 中须按任务类型显式指定) | `modelslim_v1`、`multimodal_vlm_modelslim_v1`、`multimodal_sd_modelslim_v1`、`modelslim_convert` | API 版本(任务类型),决定 spec 的结构:`modelslim_v1`、`multimodal_vlm_modelslim_v1`、`multimodal_sd_modelslim_v1`、`modelslim_convert`;YAML 中必须显式指定,默认值 `Unknown` 仅为代码内部占位,不可直接使用。 | 无 | | 19 | +| `apiversion` | `string` | 可选 | `multimodal_vlm_modelslim_v1` | `multimodal_vlm_modelslim_v1` | — | 无 | |
| 20 | | `spec` | `object` | 必选 | 无 | — | `multimodal_vlm_modelslim_v1` 服务的 spec 结构。<br><br>面向多模态理解(VLM)模型:在 `ModelslimV1ServiceConfig` 基础上增加<br>`default_text` 提示词,用于图像类校准数据缺省文本时的默认输入。 | 本页 <a href="#2-2-multimodal-vlm-modelslim-v1-spec">§2.2</a> | | 20 | | `spec` | `object` | 必选 | 无 | — | `multimodal_vlm_modelslim_v1` 服务的 spec 结构。<br><br>面向多模态理解(VLM)模型:在 `ModelslimV1ServiceConfig` 基础上增加<br>`default_text` 提示词,用于图像类校准数据缺省文本时的默认输入。 | 本页 <a href="#2-2-multimodal-vlm-modelslim-v1-spec">§2.2</a> | |
| 21 | 21 | ||
| 22 | **配置约束** | 22 | **配置约束** |
| @@ -30,9 +30,9 @@ | |||
| 30 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 30 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 31 | |----------|------|-----------|--------|----------------|------|----------| | 31 | |----------|------|-----------|--------|----------------|------|----------| |
| 32 | | `runner` | `string` | 可选 | `auto` | `auto`、`model_wise`、`layer_wise`、`dp_layer_wise` | 流水线执行方式:`auto` 按设备数量自动选择(单设备 `layer_wise`,多设备 `dp_layer_wise`)、`model_wise` 整模型计算、`layer_wise` 逐层计算、`dp_layer_wise` 数据并行逐层计算。 | 无 | | 32 | | `runner` | `string` | 可选 | `auto` | `auto`、`model_wise`、`layer_wise`、`dp_layer_wise` | 流水线执行方式:`auto` 按设备数量自动选择(单设备 `layer_wise`,多设备 `dp_layer_wise`)、`model_wise` 整模型计算、`layer_wise` 逐层计算、`dp_layer_wise` 数据并行逐层计算。 | 无 | |
| 33 | -| `prior` | `list[object]` | 可选 | `[]` | — | 前置阶段列表,每阶段含 process 与 dataset | 本页 <a href="#2-3-prior-stage-config">§2.3</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-4-autoprocessorconfig">§2.4</a> | | 34 | +| `process` | `list[object]` | 可选 | `[]` | — | 量化处理器链,按顺序执行;每个元素是 `type` 分派的处理器配置。 | 本页 <a href="#2-2-2-autoprocessorconfig">§2.2.2</a> | |
| 35 | -| `save` | `list[object]` | 可选 | `[]` | — | 保存格式列表,每个元素是 `type` 分派的保存格式配置。 | 本页 <a href="#2-5-quantformatconfig">§2.5</a> | | 35 | +| `save` | `list[object]` | 可选 | `[]` | — | 保存格式列表,每个元素是 `type` 分派的保存格式配置。 | 本页 <a href="#2-2-3-quantformatconfig">§2.2.3</a> | |
| 36 | | `dataset` | `string` | 可选 | `mix_calib.jsonl` | — | 校准数据集名称(`lab_calib` 下的文件名)或数据集路径。 | 无 | | 36 | | `dataset` | `string` | 可选 | `mix_calib.jsonl` | — | 校准数据集名称(`lab_calib` 下的文件名)或数据集路径。 | 无 | |
| 37 | | `default_text` | `string` | 可选 | `Describe this image in detail.` | — | 校准数据缺少文本模态时,图像类样本使用的默认提示词。 | 无 | | 37 | | `default_text` | `string` | 可选 | `Describe this image in detail.` | — | 校准数据缺少文本模态时,图像类样本使用的默认提示词。 | 无 | |
| 38 | 38 | ||
| @@ -40,56 +40,60 @@ | |||
| 40 | 40 | ||
| 41 | - 无。 | 41 | - 无。 |
| 42 | 42 | ||
| 43 | -<h3 id="2-3-prior-stage-config">2.3 PriorStageConfig</h3> | 43 | +<h4 id="2-2-1-prior-stage-config">2.2.1 PriorStageConfig</h4> |
| 44 | 44 | ||
| 45 | 前置阶段配置:仅 process + dataset,用于如 adapt_rotation stage1 等先验阶段。 | 45 | 前置阶段配置:仅 process + dataset,用于如 adapt_rotation stage1 等先验阶段。 |
| 46 | 46 | ||
| 47 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 47 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 48 | |----------|------|-----------|--------|----------------|------|----------| | 48 | |----------|------|-----------|--------|----------------|------|----------| |
| 49 | -| `process` | `list[object]` | 可选 | `[]` | — | 该阶段处理器列表 | 本页 <a href="#2-4-autoprocessorconfig">§2.4</a> | | 49 | +| `process` | `list[object]` | 可选 | `[]` | — | 该阶段处理器列表 | 本页 <a href="#2-2-2-autoprocessorconfig">§2.2.2</a> | |
| 50 | | `dataset` | `string / null` | 可选 | `null` | — | 该阶段数据集名称,不提供则使用 spec.dataset | 无 | | 50 | | `dataset` | `string / null` | 可选 | `null` | — | 该阶段数据集名称,不提供则使用 spec.dataset | 无 | |
| 51 | 51 | ||
| 52 | **配置约束** | 52 | **配置约束** |
| 53 | 53 | ||
| 54 | - 无。 | 54 | - 无。 |
| 55 | 55 | ||
| 56 | -<h3 id="2-4-autoprocessorconfig">2.4 AutoProcessorConfig</h3> | 56 | +<h4 id="2-2-2-autoprocessorconfig">2.2.2 《<a href="../processor/linear_quant.md">AutoProcessorConfig</a>》</h4> |
| 57 | 57 | ||
| 58 | **派生类** | 58 | **派生类** |
| 59 | 59 | ||
| 60 | -- `AdaptRotationProcessorConfig`(`type: adapt_rotation`) — 自适应旋转(adapt_rotation)处理器配置。 《[adapt_rotation 配置说明](../processor/adapt_rotation.md)》 | 60 | +| 配置类 | `type` | 说明 | 文档 | |
| 61 | -- `AutoroundProcessorConfig`(`type: autoround_quant`) — autoround 量化处理器配置。 《[autoround_quant 配置说明](../processor/autoround_quant.md)》 | 61 | +|--------|----------|------|------| |
| 62 | -- `AWQProcessorConfig`(`type: awq`) — AWQ(Activation-aware Weight Quantization)处理器配置。 《[awq 配置说明](../processor/awq.md)》 | 62 | +| `AdaptRotationProcessorConfig` | `adapt_rotation` | 自适应旋转(adapt_rotation)处理器配置。 | 《[adapt_rotation 配置说明](../processor/adapt_rotation.md)》 | |
| 63 | -- `BinaryAnalysisProcessorConfig`(`type: binary_analysis`) — 二值(有/无量化)敏感度分析处理器配置。 《[binary_analysis 配置说明](../processor/binary_analysis.md)》 | 63 | +| `AutoroundProcessorConfig` | `autoround_quant` | autoround 量化处理器配置。 | 《[autoround_quant 配置说明](../processor/autoround_quant.md)》 | |
| 64 | -- `BinaryOperatorLayerWiseProcessorConfig`(`type: binary_operator_layer_wise`) — 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 《[binary_operator_layer_wise 配置说明](../processor/binary_operator_layer_wise.md)》 | 64 | +| `AWQProcessorConfig` | `awq` | AWQ(Activation-aware Weight Quantization)处理器配置。 | 《[awq 配置说明](../processor/awq.md)》 | |
| 65 | -- `BinaryOperatorModelWiseProcessorConfig`(`type: binary_operator_model_wise`) — 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) 《[binary_operator_model_wise 配置说明](../processor/binary_operator_model_wise.md)》 | 65 | +| `BinaryAnalysisProcessorConfig` | `binary_analysis` | 二值(有/无量化)敏感度分析处理器配置。 | 《[binary_analysis 配置说明](../processor/binary_analysis.md)》 | |
| 66 | -- `DynamicCacheProcessorConfig`(`type: dynamic_cache`) — KV cache 量化处理器配置。 《[dynamic_cache 配置说明](../processor/dynamic_cache.md)》 | 66 | +| `BinaryOperatorLayerWiseProcessorConfig` | `binary_operator_layer_wise` | 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 | 《[binary_operator_layer_wise 配置说明](../processor/binary_operator_layer_wise.md)》 | |
| 67 | -- `FA3QuantProcessorConfig`(`type: fa3_quant`) — FA3(FlashAttention-3)量化处理器配置。 《[fa3_quant 配置说明](../processor/fa3_quant.md)》 | 67 | +| `BinaryOperatorModelWiseProcessorConfig` | `binary_operator_model_wise` | 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) | 《[binary_operator_model_wise 配置说明](../processor/binary_operator_model_wise.md)》 | |
| 68 | -- `FlatQuantProcessorConfig`(`type: flatquant`) — FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 《[flatquant 配置说明](../processor/flatquant.md)》 | 68 | +| `DynamicCacheProcessorConfig` | `dynamic_cache` | KV cache 量化处理器配置。 | 《[dynamic_cache 配置说明](../processor/dynamic_cache.md)》 | |
| 69 | -- `FlexAWQSSZProcessorConfig`(`type: flex_awq_ssz`) — FlexAWQSSZ 平滑+AWQ 处理器配置。 《[flex_awq_ssz 配置说明](../processor/flex_awq_ssz.md)》 | 69 | +| `FA3QuantProcessorConfig` | `fa3_quant` | FA3(FlashAttention-3)量化处理器配置。 | 《[fa3_quant 配置说明](../processor/fa3_quant.md)》 | |
| 70 | -- `FlexSmoothQuantProcessorConfig`(`type: flex_smooth_quant`) — FlexSmoothQuant 平滑量化处理器配置。 《[flex_smooth_quant 配置说明](../processor/flex_smooth_quant.md)》 | 70 | +| `FlatQuantProcessorConfig` | `flatquant` | FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 | 《[flatquant 配置说明](../processor/flatquant.md)》 | |
| 71 | -- `FloatSparseProcessorConfig`(`type: float_sparse`) — 浮点稀疏处理器配置。 《[float_sparse 配置说明](../processor/float_sparse.md)》 | 71 | +| `FlexAWQSSZProcessorConfig` | `flex_awq_ssz` | Flex AWQ SSZ 离群值抑制处理器配置。 | 《[flex_awq_ssz 配置说明](../processor/flex_awq_ssz.md)》 | |
| 72 | -- `GroupProcessorConfig`(`type: group`) — 处理器合并器配置。 《[group 配置说明](../processor/group.md)》 | 72 | +| `FlexSmoothQuantProcessorConfig` | `flex_smooth_quant` | FlexSmoothQuant 平滑量化处理器配置。 | 《[flex_smooth_quant 配置说明](../processor/flex_smooth_quant.md)》 | |
| 73 | -- `IterSmoothProcessorConfig`(`type: iter_smooth`) — 迭代平滑(IterativeSmooth)处理器配置。 《[iter_smooth 配置说明](../processor/iter_smooth.md)》 | 73 | +| `FloatSparseProcessorConfig` | `float_sparse` | 浮点稀疏处理器配置。 | 《[float_sparse 配置说明](../processor/float_sparse.md)》 | |
| 74 | -- `KVSmoothProcessorConfig`(`type: kv_smooth`) — KV cache 平滑处理器配置。 《[kv_smooth 配置说明](../processor/kv_smooth.md)》 | 74 | +| `GroupProcessorConfig` | `group` | 处理器合并器配置。 | 《[group 配置说明](../processor/group.md)》 | |
| 75 | -- `LinearProcessorConfig`(`type: linear_quant`) — 线性层(Linear)量化处理器配置。 《[linear_quant 配置说明](../processor/linear_quant.md)》 | 75 | +| `IterSmoothProcessorConfig` | `iter_smooth` | 迭代平滑(IterativeSmooth)处理器配置。 | 《[iter_smooth 配置说明](../processor/iter_smooth.md)》 | |
| 76 | -- `LoadProcessorConfig`(`type: load`) — 模块加载/卸载处理器配置。 《[load 配置说明](../processor/load.md)》 | 76 | +| `KVSmoothProcessorConfig` | `kv_smooth` | KV cache 平滑处理器配置。 | 《[kv_smooth 配置说明](../processor/kv_smooth.md)》 | |
| 77 | -- `OASQProcessorConfig`(`type: oasq`) — OASQ(Outlier-Aware Smooth Quantization)处理器配置。 《[oasq 配置说明](../processor/oasq.md)》 | 77 | +| `LinearProcessorConfig` | `linear_quant` | 线性层(Linear)量化处理器配置。 | 《[linear_quant 配置说明](../processor/linear_quant.md)》 | |
| 78 | -- `OnlineQuaRotProcessorConfig`(`type: online_quarot`) — 在线 QuaRot 旋转处理器配置。 《[online_quarot 配置说明](../processor/online_quarot.md)》 | 78 | +| `LoadProcessorConfig` | `load` | 模块加载/卸载处理器配置。 | 《[load 配置说明](../processor/load.md)》 | |
| 79 | -- `QuaRotProcessorConfig`(`type: quarot`) — QuaRot(离线旋转)处理器配置。 《[quarot 配置说明](../processor/quarot.md)》 | 79 | +| `OASQProcessorConfig` | `oasq` | OASQ(Outlier-Aware Smooth Quantization)处理器配置。 | 《[oasq 配置说明](../processor/oasq.md)》 | |
| 80 | -- `QuantSaveProcessorConfig`(`type: saver`) — 统一保存处理器配置。 《[saver 配置说明](../processor/saver.md)》 | 80 | +| `OnlineQuaRotProcessorConfig` | `online_quarot` | 在线 QuaRot 旋转处理器配置。 | 《[online_quarot 配置说明](../processor/online_quarot.md)》 | |
| 81 | -- `SmoothQuantProcessorConfig`(`type: smooth_quant`) — SmoothQuant 平滑量化处理器配置。 《[smooth_quant 配置说明](../processor/smooth_quant.md)》 | 81 | +| `QuaRotProcessorConfig` | `quarot` | QuaRot(离线旋转)处理器配置。 | 《[quarot 配置说明](../processor/quarot.md)》 | |
| 82 | -- `SVDResidualProcessorConfig`(`type: svd_res`) — SVD 残差(低秩补偿)处理器配置。 《[svd_res 配置说明](../processor/svd_res.md)》 | 82 | +| `QuantSaveProcessorConfig` | `saver` | 统一保存处理器配置。 | 《[saver 配置说明](../processor/saver.md)》 | |
| 83 | -- `TrainableLinearQuantProcessorConfig`(`type: trainable_linear_quant`) — 可训练线性量化(TLQ)处理器配置。 《[trainable_linear_quant 配置说明](../processor/trainable_linear_quant.md)》 | 83 | +| `SmoothQuantProcessorConfig` | `smooth_quant` | SmoothQuant 平滑量化处理器配置。 | 《[smooth_quant 配置说明](../processor/smooth_quant.md)》 | |
| 84 | -- `UnaryAnalysisProcessorConfig`(`type: unary_analysis`) — 一元(无量化)敏感度分析处理器配置。 《[unary_analysis 配置说明](../processor/unary_analysis.md)》 | 84 | +| `SVDResidualProcessorConfig` | `svd_res` | SVD 残差(低秩补偿)处理器配置。 | 《[svd_res 配置说明](../processor/svd_res.md)》 | |
| 85 | +| `TrainableLinearQuantProcessorConfig` | `trainable_linear_quant` | 可训练线性量化(TLQ)处理器配置。 | 《[trainable_linear_quant 配置说明](../processor/trainable_linear_quant.md)》 | | ||
| 86 | +| `UnaryAnalysisProcessorConfig` | `unary_analysis` | 一元(无量化)敏感度分析处理器配置。 | 《[unary_analysis 配置说明](../processor/unary_analysis.md)》 | | ||
| 85 | 87 | ||
| 86 | -<h3 id="2-5-quantformatconfig">2.5 QuantFormatConfig</h3> | 88 | +<h4 id="2-2-3-quantformatconfig">2.2.3 《<a href="../format/ascendv1_saver.md">QuantFormatConfig</a>》</h4> |
| 87 | 89 | ||
| 88 | **派生类** | 90 | **派生类** |
| 89 | 91 | ||
| 90 | -- `AscendV1QuantFormatConfig`(`type: ascendv1_saver`) — AscendV1 保存格式配置,导出昇腾落盘格式的权重文件。 《[ascendv1_saver 配置说明](../format/ascendv1_saver.md)》 | 92 | +| 配置类 | `type` | 说明 | 文档 | |
| 91 | -- `CompressedTensorsQuantFormatConfig`(`type: compressed_tensors`) — compressed_tensors 保存格式配置,导出 safetensors 权重与 config.json。 《[compressed_tensors 配置说明](../format/compressed_tensors.md)》 | 93 | +|--------|----------|------|------| |
| 92 | -- `MindIEQuantFormatConfig`(`type: mindie_format_saver`) — MindIE 保存格式配置,导出 MindIE 落盘格式的权重文件。 《[mindie_format_saver 配置说明](../format/mindie_format_saver.md)》 | 94 | +| `AscendV1QuantFormatConfig` | `ascendv1_saver` | AscendV1 保存格式配置,导出昇腾落盘格式的权重文件。 | 《[ascendv1_saver 配置说明](../format/ascendv1_saver.md)》 | |
| 95 | +| `CompressedTensorsQuantFormatConfig` | `compressed_tensors` | compressed_tensors 保存格式配置,导出 safetensors 权重与 config.json。 | 《[compressed_tensors 配置说明](../format/compressed_tensors.md)》 | | ||
| 96 | +| `MindIEQuantFormatConfig` | `mindie_format_saver` | MindIE 保存格式配置,导出 MindIE 落盘格式的权重文件。 | 《[mindie_format_saver 配置说明](../format/mindie_format_saver.md)》 | | ||
| 93 | 97 | ||
| 94 | ## 3. 完整配置参考 | 98 | ## 3. 完整配置参考 |
| 95 | 99 | ||
Rdocs/zh/api_reference/config/task/practice_config.md→docs/zh/api_reference/config/quant/practice_config.md+50-4
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | ## 1. 配置概述 | 4 | ## 1. 配置概述 |
| 5 | 5 | ||
| 6 | -完整最佳实践量化任务配置:apiversion + spec + metadata。 | 6 | +完整最佳实践量化任务配置:metadata + task(task ≡ apiversion + spec)。 |
| 7 | 7 | ||
| 8 | | 项目 | 内容 | | 8 | | 项目 | 内容 | |
| 9 | |------|------| | 9 | |------|------| |
| @@ -16,13 +16,13 @@ | |||
| 16 | 16 | ||
| 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | -| `apiversion` | `string` | 可选 | Unknown(代码占位;YAML 中须按任务类型显式指定) | `modelslim_v1`、`multimodal_vlm_modelslim_v1`、`multimodal_sd_modelslim_v1`、`modelslim_convert` | API 版本(任务类型),决定 spec 的结构:`modelslim_v1`、`multimodal_vlm_modelslim_v1`、`multimodal_sd_modelslim_v1`、`modelslim_convert`;YAML 中必须显式指定,默认值 `Unknown` 仅为代码内部占位,不可直接使用。 | 无 | | ||
| 20 | -| `spec` | `any` | 可选 | `{}` | — | 任务规格,结构随 apiversion 而定。 | 无 | | ||
| 21 | | `metadata` | `object` | 可选 | 见嵌套配置默认值 | — | 量化配置元数据(config_id/score/label/verified_*) | 本页 <a href="#2-2-metadata">§2.2</a> | | 19 | | `metadata` | `object` | 可选 | 见嵌套配置默认值 | — | 量化配置元数据(config_id/score/label/verified_*) | 本页 <a href="#2-2-metadata">§2.2</a> | |
| 20 | +| `task` | `object` | 可选 | 见嵌套配置默认值 | — | 量化任务描述(apiversion + spec) | 本页 <a href="#2-3-basequantconfig">§2.3</a> | | ||
| 22 | 21 | ||
| 23 | **配置约束** | 22 | **配置约束** |
| 24 | 23 | ||
| 25 | -- 无。 | 24 | +- 预处理:旧格式 {apiversion, metadata, spec, ...} → {metadata, task:{apiversion, spec, ...}}。 |
| 25 | +- 剥除聚合后 task. 前缀,使错误路径与 yaml 的 spec. 一致。 | ||
| 26 | 26 | ||
| 27 | <h3 id="2-2-metadata">2.2 Metadata</h3> | 27 | <h3 id="2-2-metadata">2.2 Metadata</h3> |
| 28 | 28 | ||
| @@ -39,3 +39,49 @@ | |||
| 39 | **配置约束** | 39 | **配置约束** |
| 40 | 40 | ||
| 41 | - 无。 | 41 | - 无。 |
| 42 | + | ||
| 43 | +<h3 id="2-3-basequantconfig">2.3 BaseQuantConfig</h3> | ||
| 44 | + | ||
| 45 | +**派生类** | ||
| 46 | + | ||
| 47 | +| 配置类 | 说明 | 文档 | | ||
| 48 | +|--------|------|------| | ||
| 49 | +| `ModelslimV1QuantConfig` | `modelslim_v1` 量化任务配置,位于 YAML 根节点。 | 《[modelslim_v1 配置说明](modelslim_v1.md)》 | | ||
| 50 | +| `ModelslimConvertQuantConfig` | `modelslim_convert` 量化(权重转换)任务配置,位于 YAML 根节点。 | 《[modelslim_convert 配置说明](modelslim_convert.md)》 | | ||
| 51 | + | ||
| 52 | +## 3. 完整配置参考 | ||
| 53 | + | ||
| 54 | +```yaml | ||
| 55 | +metadata: | ||
| 56 | + config_id: Qwen3-32B W8A8 | ||
| 57 | + label: | ||
| 58 | + w_bit: 8 | ||
| 59 | + a_bit: 8 | ||
| 60 | + is_sparse: false | ||
| 61 | + kv_cache: false | ||
| 62 | + verified_model_types: | ||
| 63 | + - Qwen3-32B | ||
| 64 | +task: | ||
| 65 | + apiversion: modelslim_v1 | ||
| 66 | + spec: | ||
| 67 | + process: | ||
| 68 | + - type: linear_quant | ||
| 69 | + qconfig: | ||
| 70 | + act: | ||
| 71 | + dtype: int8 | ||
| 72 | + scope: per_tensor | ||
| 73 | + symmetric: false | ||
| 74 | + method: minmax | ||
| 75 | + weight: | ||
| 76 | + dtype: int8 | ||
| 77 | + scope: per_channel | ||
| 78 | + symmetric: true | ||
| 79 | + method: minmax | ||
| 80 | + include: | ||
| 81 | + - '*' | ||
| 82 | + exclude: [] | ||
| 83 | + save: | ||
| 84 | + - type: ascendv1_saver | ||
| 85 | + part_file_size: 4 | ||
| 86 | + dataset: mix_calib.jsonl | ||
| 87 | +``` | ||
| @@ -0,0 +1,34 @@ | |||
| 1 | +# 自动调优配置说明导航 | ||
| 2 | + | ||
| 3 | +本目录是 msModelSlim 自动调优配置(YAML)的字段级参考文档,按先写调优计划、再按 `type` 查策略与评估服务的方式组织。使用流程与端到端操作步骤见《[自动调优使用说明](../../../user_guide/usage_auto_precision_tuning.md)》,命令行参数见《[msmodelslim tune 命令行 API 文档](../../cli/msmodelslim_tune.md)》,策略选型见《[自动调优策略总览](../../../knowledge_base/tuning_strategies/README.md)》。量化任务 YAML 的字段见《[量化任务配置说明导航](../quant/README.md)》;处理器与保存格式总表见《[配置说明导航](../README.md)》。 | ||
| 4 | + | ||
| 5 | +## 1. 怎么用这套文档 | ||
| 6 | + | ||
| 7 | +1. **确定顶层结构**:调优 YAML 根节点不是 `apiversion`,而是《[tuning_plan](tuning_plan.md)》的两个必选字段 `strategy` 与 `evaluation`。 | ||
| 8 | +2. **查策略**:`strategy` 由 `type` 分派,按下方[调优策略](#3-调优策略strategy-按-type-分派)表查对应页面。 | ||
| 9 | +3. **查评估服务**:`evaluation` 由 `type` 分派,按下方[评估服务](#4-评估服务evaluation-按-type-分派)表查对应页面。当前仅 `service_oriented`。 | ||
| 10 | +4. **查内嵌量化配置**:`standing_high` 与 `binary_fallback` 的 `template` 引用最佳实践或 `modelslim_v1` 任务配置,协议页见《[量化任务配置说明导航](../quant/README.md)》,处理器 `type` 见《[配置说明导航](../README.md)》。`standing_high_with_experience` 不要求手写完整量化 YAML,由 `quant_type` 与 `structure_configs` 生成。 | ||
| 11 | + | ||
| 12 | +> 本目录除本页外,均由 `skills/docs-management/scripts/gen_config_api_docs.py` 从源码 Pydantic 注解生成。修改字段说明请改源码 `Field(description=)` 等注解后重新生成,不要直接编辑带 `generated-by` 标记的页面。 | ||
| 13 | + | ||
| 14 | +## 2. 调优计划 | ||
| 15 | + | ||
| 16 | +| 配置 | 说明 | | ||
| 17 | +|------|------| | ||
| 18 | +| [tuning_plan](tuning_plan.md) | 调优计划根配置,只含 `strategy` 与 `evaluation`。 | | ||
| 19 | + | ||
| 20 | +## 3. 调优策略(`strategy` 按 `type` 分派) | ||
| 21 | + | ||
| 22 | +| `type` | 配置 | 作用 | | ||
| 23 | +|--------|------|------| | ||
| 24 | +| `standing_high` | [standing_high](strategy_standing_high.md) | 摸高:先做敏感层分析,再逐步回退并尝试不同离群值抑制链;需提供量化模板。 | | ||
| 25 | +| `standing_high_with_experience` | [standing_high_with_experience](strategy_standing_high_with_experience.md) | 基于专家经验的摸高:由量化类型与结构配置生成量化方案,无需手写完整模板。 | | ||
| 26 | +| `binary_fallback` | [binary_fallback](strategy_binary_fallback.md) | 二分回退:在完整 `PracticeConfig` 模板上搜索最小回退前缀。 | | ||
| 27 | + | ||
| 28 | +`standing_high.template` 指向《[modelslim_v1 配置说明](../quant/modelslim_v1.md)》。`binary_fallback.template` 指向《[PracticeConfig 配置说明](../quant/practice_config.md)》,且 `apiversion` 须为 `modelslim_v1`。 | ||
| 29 | + | ||
| 30 | +## 4. 评估服务(`evaluation` 按 `type` 分派) | ||
| 31 | + | ||
| 32 | +| `type` | 配置 | 作用 | | ||
| 33 | +|--------|------|------| | ||
| 34 | +| `service_oriented` | [evaluation_service_oriented](evaluation_service_oriented.md) | 面向服务的评估:精度期望、AISBench 评测与 vLLM-Ascend 推理引擎。 | | ||
| @@ -18,8 +18,8 @@ | |||
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | | `type` | `string` | 可选 | `service_oriented` | — | 评估服务类型,固定为 `service_oriented` | 无 | | 19 | | `type` | `string` | 可选 | `service_oriented` | — | 评估服务类型,固定为 `service_oriented` | 无 | |
| 20 | | `demand` | `object` | 必选 | 无 | — | 评估需求(数据集精度期望) | 本页 <a href="#2-2-evaluate-demand">§2.2</a> | | 20 | | `demand` | `object` | 必选 | 无 | — | 评估需求(数据集精度期望) | 本页 <a href="#2-2-evaluate-demand">§2.2</a> | |
| 21 | -| `evaluation` | `object` | 必选 | 无 | — | AISBench 评测服务配置 | 本页 <a href="#2-4-aisbench">§2.4</a> | | 21 | +| `evaluation` | `object` | 必选 | 无 | — | AISBench 评测服务配置 | 本页 <a href="#2-3-aisbench">§2.3</a> | |
| 22 | -| `inference_engine` | `object` | 必选 | 无 | — | vLLM-Ascend 推理引擎配置 | 本页 <a href="#2-9-vllm-ascend">§2.9</a> | | 22 | +| `inference_engine` | `object` | 必选 | 无 | — | vLLM-Ascend 推理引擎配置 | 本页 <a href="#2-4-vllm-ascend">§2.4</a> | |
| 23 | 23 | ||
| 24 | **配置约束** | 24 | **配置约束** |
| 25 | 25 | ||
| @@ -31,45 +31,45 @@ | |||
| 31 | 31 | ||
| 32 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 32 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 33 | |----------|------|-----------|--------|----------------|------|----------| | 33 | |----------|------|-----------|--------|----------------|------|----------| |
| 34 | -| `expectations` | `list[object]` | 必选 | 无 | — | 精度期望列表,至少1个;每项声明数据集与目标精度(含容差) | 本页 <a href="#2-3-accuracy-expectation">§2.3</a> | | 34 | +| `expectations` | `list[object]` | 必选 | 无 | — | 精度期望列表,至少1个;每项声明数据集与目标精度(含容差) | 本页 <a href="#2-2-1-accuracy-expectation">§2.2.1</a> | |
| 35 | 35 | ||
| 36 | **配置约束** | 36 | **配置约束** |
| 37 | 37 | ||
| 38 | - 无。 | 38 | - 无。 |
| 39 | 39 | ||
| 40 | -<h3 id="2-3-accuracy-expectation">2.3 AccuracyExpectation</h3> | 40 | +<h4 id="2-2-1-accuracy-expectation">2.2.1 AccuracyExpectation</h4> |
| 41 | 41 | ||
| 42 | 精度期望:要求模型在指定数据集上达到的目标精度(含容差)。 | 42 | 精度期望:要求模型在指定数据集上达到的目标精度(含容差)。 |
| 43 | 43 | ||
| 44 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 44 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 45 | |----------|------|-----------|--------|----------------|------|----------| | 45 | |----------|------|-----------|--------|----------------|------|----------| |
| 46 | | `dataset` | `string` | 必选 | 无 | — | 数据集名称 | 无 | | 46 | | `dataset` | `string` | 必选 | 无 | — | 数据集名称 | 无 | |
| 47 | -| `target` | `string` | 必选 | 无 | — | 目标精度,必须 > 0 | 无 | | 47 | +| `target` | `string` | 必选 | 无 | `^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$` | 目标精度,必须 > 0 | 无 | |
| 48 | -| `tolerance` | `string` | 必选 | 无 | — | 相对目标精度可容忍的偏差,必须 >= 0 | 无 | | 48 | +| `tolerance` | `string` | 必选 | 无 | `^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$` | 相对目标精度可容忍的偏差,必须 >= 0 | 无 | |
| 49 | 49 | ||
| 50 | **配置约束** | 50 | **配置约束** |
| 51 | 51 | ||
| 52 | - 无。 | 52 | - 无。 |
| 53 | 53 | ||
| 54 | -<h3 id="2-4-aisbench">2.4 AisbenchServerConfig</h3> | 54 | +<h3 id="2-3-aisbench">2.3 AisbenchServerConfig</h3> |
| 55 | 55 | ||
| 56 | AISBench 评测服务配置 | 56 | AISBench 评测服务配置 |
| 57 | 57 | ||
| 58 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 58 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 59 | |----------|------|-----------|--------|----------------|------|----------| | 59 | |----------|------|-----------|--------|----------------|------|----------| |
| 60 | | `type` | `string` | 可选 | `aisbench` | `aisbench` | 评测服务类型,固定为 `aisbench` | 无 | | 60 | | `type` | `string` | 可选 | `aisbench` | `aisbench` | 评测服务类型,固定为 `aisbench` | 无 | |
| 61 | -| `aisbench` | `object` | 可选 | 见嵌套配置默认值 | — | AISBench 评测配置 | 本页 <a href="#2-5-aisbench-config">§2.5</a> | | 61 | +| `aisbench` | `object` | 可选 | 见嵌套配置默认值 | — | AISBench 评测配置 | 本页 <a href="#2-3-1-aisbench-config">§2.3.1</a> | |
| 62 | -| `datasets` | `object` | 可选 | `{}` | — | 数据集配置字典,键为数据集名称 | 本页 <a href="#2-7-dataset-config">§2.7</a> | | 62 | +| `datasets` | `object` | 可选 | `{}` | — | 数据集配置字典,键为数据集名称 | 本页 <a href="#2-3-3-dataset-config">§2.3.3</a> | |
| 63 | | `host` | `string` | 可选 | `localhost` | — | 评测服务监听地址,须为合法主机名/IP | 无 | | 63 | | `host` | `string` | 可选 | `localhost` | — | 评测服务监听地址,须为合法主机名/IP | 无 | |
| 64 | | `port` | `int` | 可选 | `1234` | — | 评测服务监听端口,须为合法端口号 | 无 | | 64 | | `port` | `int` | 可选 | `1234` | — | 评测服务监听端口,须为合法端口号 | 无 | |
| 65 | | `served_model_name` | `string` | 可选 | `served_model_name` | — | 已部署的模型名称 | 无 | | 65 | | `served_model_name` | `string` | 可选 | `served_model_name` | — | 已部署的模型名称 | 无 | |
| 66 | -| `precheck` | `list[object]` | 可选 | `[]` | — | 模型预检配置列表,每个元素是一个字典,包含 'type' 字段('garbled_text' 或 'expected_answer') | 本页 <a href="#2-8-base-precheck-config">§2.8</a> | | 66 | +| `precheck` | `list[object]` | 可选 | `[]` | — | 模型预检配置列表,每个元素是一个字典,包含 'type' 字段('garbled_text' 或 'expected_answer') | 本页 <a href="#2-3-4-base-precheck-config">§2.3.4</a> | |
| 67 | 67 | ||
| 68 | **配置约束** | 68 | **配置约束** |
| 69 | 69 | ||
| 70 | - 无。 | 70 | - 无。 |
| 71 | 71 | ||
| 72 | -<h3 id="2-5-aisbench-config">2.5 AisbenchConfig</h3> | 72 | +<h4 id="2-3-1-aisbench-config">2.3.1 AisbenchConfig</h4> |
| 73 | 73 | ||
| 74 | AISBench 评测配置 | 74 | AISBench 评测配置 |
| 75 | 75 | ||
| @@ -79,7 +79,7 @@ AISBench 评测配置 | |||
| 79 | | `mode` | `string` | 可选 | `all` | — | 评测模式 | 无 | | 79 | | `mode` | `string` | 可选 | `all` | — | 评测模式 | 无 | |
| 80 | | `timeout` | `int` | 可选 | `7200` | — | 命令执行超时时间(秒),默认2小时 | 无 | | 80 | | `timeout` | `int` | 可选 | `7200` | — | 命令执行超时时间(秒),默认2小时 | 无 | |
| 81 | | `cleanup_model_config` | `bool` | 可选 | `true` | — | 是否清理生成的模型配置文件 | 无 | | 81 | | `cleanup_model_config` | `bool` | 可选 | `true` | — | 是否清理生成的模型配置文件 | 无 | |
| 82 | -| `model_meta` | `object` | 可选 | 见嵌套配置默认值 | — | 模型配置元数据 | 本页 <a href="#2-6-model-config-meta">§2.6</a> | | 82 | +| `model_meta` | `object` | 可选 | 见嵌套配置默认值 | — | 模型配置元数据 | 本页 <a href="#2-3-2-model-config-meta">§2.3.2</a> | |
| 83 | | `request_rate` | `float` | 可选 | `1.0` | — | 默认请求速率,必须 > 0 | 无 | | 83 | | `request_rate` | `float` | 可选 | `1.0` | — | 默认请求速率,必须 > 0 | 无 | |
| 84 | | `pred_postprocessor` | `string` | 可选 | `extract_non_reasoning_content` | — | 预测后处理器名称 | 无 | | 84 | | `pred_postprocessor` | `string` | 可选 | `extract_non_reasoning_content` | — | 预测后处理器名称 | 无 | |
| 85 | | `retry` | `int` | 可选 | `2` | ≥0 | 请求重试次数,必须 >= 0 | 无 | | 85 | | `retry` | `int` | 可选 | `2` | ≥0 | 请求重试次数,必须 >= 0 | 无 | |
| @@ -94,7 +94,7 @@ AISBench 评测配置 | |||
| 94 | 94 | ||
| 95 | - 无。 | 95 | - 无。 |
| 96 | 96 | ||
| 97 | -<h3 id="2-6-model-config-meta">2.6 ModelConfigMeta</h3> | 97 | +<h4 id="2-3-2-model-config-meta">2.3.2 ModelConfigMeta</h4> |
| 98 | 98 | ||
| 99 | 模型配置元数据 | 99 | 模型配置元数据 |
| 100 | 100 | ||
| @@ -111,7 +111,7 @@ AISBench 评测配置 | |||
| 111 | 111 | ||
| 112 | - 无。 | 112 | - 无。 |
| 113 | 113 | ||
| 114 | -<h3 id="2-7-dataset-config">2.7 DatasetConfig</h3> | 114 | +<h4 id="2-3-3-dataset-config">2.3.3 DatasetConfig</h4> |
| 115 | 115 | ||
| 116 | 单个数据集的评测配置 | 116 | 单个数据集的评测配置 |
| 117 | 117 | ||
| @@ -123,14 +123,14 @@ AISBench 评测配置 | |||
| 123 | | `max_out_len` | `int / null` | 可选 | `null` | — | 该数据集的最大输出长度,None 表示使用全局默认值 | 无 | | 123 | | `max_out_len` | `int / null` | 可选 | `null` | — | 该数据集的最大输出长度,None 表示使用全局默认值 | 无 | |
| 124 | | `returns_tool_calls` | `bool / null` | 可选 | `null` | — | 是否返回工具调用,None 表示不写入该字段 | 无 | | 124 | | `returns_tool_calls` | `bool / null` | 可选 | `null` | — | 是否返回工具调用,None 表示不写入该字段 | 无 | |
| 125 | | `api_chat_type` | `string` | 可选 | `VLLMCustomAPIChat` | — | 该数据集使用的 API Chat 类型 | 无 | | 125 | | `api_chat_type` | `string` | 可选 | `VLLMCustomAPIChat` | — | 该数据集使用的 API Chat 类型 | 无 | |
| 126 | -| `chat_template_kwargs` | `object` | 可选 | `{}` | — | chat_template 的额外参数,例如 aime25 需要 {"thinking": True} | 无 | | 126 | +| `chat_template_kwargs` | `object` | 可选 | `{}` | — | chat_template 的额外参数,具体参数请参考 AISBench 文档 | 无 | |
| 127 | | `extra_args` | `list[string]` | 可选 | `[]` | — | 该数据集额外的命令行参数列表,默认为空列表 | 无 | | 127 | | `extra_args` | `list[string]` | 可选 | `[]` | — | 该数据集额外的命令行参数列表,默认为空列表 | 无 | |
| 128 | 128 | ||
| 129 | **配置约束** | 129 | **配置约束** |
| 130 | 130 | ||
| 131 | - 无。 | 131 | - 无。 |
| 132 | 132 | ||
| 133 | -<h3 id="2-8-base-precheck-config">2.8 BasePrecheckConfig</h3> | 133 | +<h4 id="2-3-4-base-precheck-config">2.3.4 BasePrecheckConfig</h4> |
| 134 | 134 | ||
| 135 | 预检查配置基类 | 135 | 预检查配置基类 |
| 136 | 136 | ||
| @@ -144,7 +144,7 @@ AISBench 评测配置 | |||
| 144 | 144 | ||
| 145 | - 无。 | 145 | - 无。 |
| 146 | 146 | ||
| 147 | -<h3 id="2-9-vllm-ascend">2.9 VllmAscendConfig</h3> | 147 | +<h3 id="2-4-vllm-ascend">2.4 VllmAscendConfig</h3> |
| 148 | 148 | ||
| 149 | vLLM-Ascend 推理引擎配置:用于拉起 OpenAI 兼容的服务端并做健康检查。 | 149 | vLLM-Ascend 推理引擎配置:用于拉起 OpenAI 兼容的服务端并做健康检查。 |
| 150 | 150 | ||
| @@ -152,13 +152,13 @@ vLLM-Ascend 推理引擎配置:用于拉起 OpenAI 兼容的服务端并做健 | |||
| 152 | |----------|------|-----------|--------|----------------|------|----------| | 152 | |----------|------|-----------|--------|----------------|------|----------| |
| 153 | | `type` | `string` | 可选 | `vllm-ascend` | `vllm-ascend` | 推理引擎类型,固定为 `vllm-ascend` | 无 | | 153 | | `type` | `string` | 可选 | `vllm-ascend` | `vllm-ascend` | 推理引擎类型,固定为 `vllm-ascend` | 无 | |
| 154 | | `entrypoint` | `string` | 可选 | `vllm.entrypoints.openai.api_server` | — | vLLM 服务启动入口,默认 OpenAI API server | 无 | | 154 | | `entrypoint` | `string` | 可选 | `vllm.entrypoints.openai.api_server` | — | vLLM 服务启动入口,默认 OpenAI API server | 无 | |
| 155 | -| `env_vars` | `object` | 可选 | `{}` | — | 传递给 vLLM 进程的额外环境变量字典 | 无 | | 155 | +| `env_vars` | `object` | 可选 | `{}` | — | 传递给 vLLM 进程的额外环境变量字典(键值对),具体参数请参考 vLLM-Ascend 文档 | 无 | |
| 156 | | `served_model_name` | `string` | 可选 | `served_model_name` | — | 已部署/对外暴露的模型名称 | 无 | | 156 | | `served_model_name` | `string` | 可选 | `served_model_name` | — | 已部署/对外暴露的模型名称 | 无 | |
| 157 | | `host` | `string` | 可选 | `localhost` | — | 服务监听地址 | 无 | | 157 | | `host` | `string` | 可选 | `localhost` | — | 服务监听地址 | 无 | |
| 158 | | `port` | `int` | 可选 | `1234` | — | 服务监听端口 | 无 | | 158 | | `port` | `int` | 可选 | `1234` | — | 服务监听端口 | 无 | |
| 159 | | `health_check_endpoint` | `string` | 可选 | `/v1/models` | — | 健康检查接口路径(vLLM OpenAI 兼容) | 无 | | 159 | | `health_check_endpoint` | `string` | 可选 | `/v1/models` | — | 健康检查接口路径(vLLM OpenAI 兼容) | 无 | |
| 160 | | `startup_timeout` | `int` | 可选 | `600` | — | 服务启动超时(秒),必须 > 0 | 无 | | 160 | | `startup_timeout` | `int` | 可选 | `600` | — | 服务启动超时(秒),必须 > 0 | 无 | |
| 161 | -| `args` | `object` | 可选 | `{}` | — | 追加的 vLLM 启动命令行参数(键值对) | 无 | | 161 | +| `args` | `object` | 可选 | `{}` | — | 追加的 vLLM 启动命令行参数(键值对),具体参数请参考 vLLM-Ascend 文档 | 无 | |
| 162 | 162 | ||
| 163 | **配置约束** | 163 | **配置约束** |
| 164 | 164 | ||
| @@ -17,7 +17,7 @@ | |||
| 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | | 17 | | 字段路径 | 类型 | 必选/可选 | 默认值 | 取值范围或格式 | 含义 | 引用配置 | |
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | | `type` | `string` | 可选 | `binary_fallback` | `binary_fallback` | 策略类型,固定为 `binary_fallback` | 无 | | 19 | | `type` | `string` | 可选 | `binary_fallback` | `binary_fallback` | 策略类型,固定为 `binary_fallback` | 无 | |
| 20 | -| `template` | `object` | 必选 | 无 | — | 完整最佳实践 PracticeConfig,apiversion 须为 modelslim_v1 | 《[PracticeConfig 配置说明](../task/practice_config.md)》 | | 20 | +| `template` | `object` | 必选 | 无 | — | 完整最佳实践 PracticeConfig,apiversion 须为 modelslim_v1 | 《[PracticeConfig 配置说明](../quant/practice_config.md)》 | |
| 21 | | `rollback_path` | `string` | 必选 | 无 | — | 点分路径,指向 template 内必须为 list 的回退字段 | 无 | | 21 | | `rollback_path` | `string` | 必选 | 无 | — | 点分路径,指向 template 内必须为 list 的回退字段 | 无 | |
| 22 | | `rollback_candidates` | `list[string] / null` | 可选 | `null` | — | 有序回退候选;非空则跳过敏感层分析 | 无 | | 22 | | `rollback_candidates` | `list[string] / null` | 可选 | `null` | — | 有序回退候选;非空则跳过敏感层分析 | 无 | |
| 23 | | `analysis_dataset` | `string / null` | 可选 | `null` | — | 敏感层分析校准集名称;未填则使用 template.spec.dataset | 无 | | 23 | | `analysis_dataset` | `string / null` | 可选 | `null` | — | 敏感层分析校准集名称;未填则使用 template.spec.dataset | 无 | |
| @@ -33,6 +33,7 @@ strategy: | |||
| 33 | type: binary_fallback | 33 | type: binary_fallback |
| 34 | rollback_path: spec.process.1.exclude | 34 | rollback_path: spec.process.1.exclude |
| 35 | rollback_candidates: [] | 35 | rollback_candidates: [] |
| 36 | + analysis_dataset: mix_calib.jsonl | ||
| 36 | template: | 37 | template: |
| 37 | apiversion: modelslim_v1 | 38 | apiversion: modelslim_v1 |
| 38 | metadata: | 39 | metadata: |
| @@ -18,42 +18,44 @@ | |||
| 18 | |----------|------|-----------|--------|----------------|------|----------| | 18 | |----------|------|-----------|--------|----------------|------|----------| |
| 19 | | `type` | `string` | 可选 | `standing_high` | `standing_high` | 策略类型,固定为 `standing_high` | 无 | | 19 | | `type` | `string` | 可选 | `standing_high` | `standing_high` | 策略类型,固定为 `standing_high` | 无 | |
| 20 | | `anti_outlier_strategies` | `list[list[object]]` | 必选 | 无 | — | 离群值抑制处理器链列表,至少1个;每个元素是一条处理器链,链内每个处理器是 `type` 分派的处理器配置(如 smooth_quant 等) | 本页 <a href="#2-2-autoprocessorconfig">§2.2</a> | | 20 | | `anti_outlier_strategies` | `list[list[object]]` | 必选 | 无 | — | 离群值抑制处理器链列表,至少1个;每个元素是一条处理器链,链内每个处理器是 `type` 分派的处理器配置(如 smooth_quant 等) | 本页 <a href="#2-2-autoprocessorconfig">§2.2</a> | |
| 21 | -| `template` | `object` | 可选 | 由工厂函数生成 | — | 完整的PracticeConfig模板,用于提取所有配置(包括线性层量化)。如果未提供,将使用默认的V1模板 | 《[modelslim_v1_spec 配置说明](../task/modelslim_v1.md#2-2-modelslim-v1-spec)》 | | 21 | +| `template` | `object` | 可选 | 由工厂函数生成 | — | 完整的PracticeConfig模板,用于提取所有配置(包括线性层量化)。如果未提供,将使用默认的V1模板 | 《[modelslim_v1_spec 配置说明](../quant/modelslim_v1.md#2-2-modelslim-v1-spec)》 | |
| 22 | | `metadata` | `object` | 可选 | 见嵌套配置默认值 | — | 量化配置元数据(config_id / label 等) | 本页 <a href="#2-3-metadata">§2.3</a> | | 22 | | `metadata` | `object` | 可选 | 见嵌套配置默认值 | — | 量化配置元数据(config_id / label 等) | 本页 <a href="#2-3-metadata">§2.3</a> | |
| 23 | 23 | ||
| 24 | **配置约束** | 24 | **配置约束** |
| 25 | 25 | ||
| 26 | - 校验template中至少有一个linear_quant配置 | 26 | - 校验template中至少有一个linear_quant配置 |
| 27 | 27 | ||
| 28 | -<h3 id="2-2-autoprocessorconfig">2.2 AutoProcessorConfig</h3> | 28 | +<h3 id="2-2-autoprocessorconfig">2.2 《<a href="../processor/linear_quant.md">AutoProcessorConfig</a>》</h3> |
| 29 | 29 | ||
| 30 | **派生类** | 30 | **派生类** |
| 31 | 31 | ||
| 32 | -- `AdaptRotationProcessorConfig`(`type: adapt_rotation`) — 自适应旋转(adapt_rotation)处理器配置。 《[adapt_rotation 配置说明](../processor/adapt_rotation.md)》 | 32 | +| 配置类 | `type` | 说明 | 文档 | |
| 33 | -- `AutoroundProcessorConfig`(`type: autoround_quant`) — autoround 量化处理器配置。 《[autoround_quant 配置说明](../processor/autoround_quant.md)》 | 33 | +|--------|----------|------|------| |
| 34 | -- `AWQProcessorConfig`(`type: awq`) — AWQ(Activation-aware Weight Quantization)处理器配置。 《[awq 配置说明](../processor/awq.md)》 | 34 | +| `AdaptRotationProcessorConfig` | `adapt_rotation` | 自适应旋转(adapt_rotation)处理器配置。 | 《[adapt_rotation 配置说明](../processor/adapt_rotation.md)》 | |
| 35 | -- `BinaryAnalysisProcessorConfig`(`type: binary_analysis`) — 二值(有/无量化)敏感度分析处理器配置。 《[binary_analysis 配置说明](../processor/binary_analysis.md)》 | 35 | +| `AutoroundProcessorConfig` | `autoround_quant` | autoround 量化处理器配置。 | 《[autoround_quant 配置说明](../processor/autoround_quant.md)》 | |
| 36 | -- `BinaryOperatorLayerWiseProcessorConfig`(`type: binary_operator_layer_wise`) — 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 《[binary_operator_layer_wise 配置说明](../processor/binary_operator_layer_wise.md)》 | 36 | +| `AWQProcessorConfig` | `awq` | AWQ(Activation-aware Weight Quantization)处理器配置。 | 《[awq 配置说明](../processor/awq.md)》 | |
| 37 | -- `BinaryOperatorModelWiseProcessorConfig`(`type: binary_operator_model_wise`) — 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) 《[binary_operator_model_wise 配置说明](../processor/binary_operator_model_wise.md)》 | 37 | +| `BinaryAnalysisProcessorConfig` | `binary_analysis` | 二值(有/无量化)敏感度分析处理器配置。 | 《[binary_analysis 配置说明](../processor/binary_analysis.md)》 | |
| 38 | -- `DynamicCacheProcessorConfig`(`type: dynamic_cache`) — KV cache 量化处理器配置。 《[dynamic_cache 配置说明](../processor/dynamic_cache.md)》 | 38 | +| `BinaryOperatorLayerWiseProcessorConfig` | `binary_operator_layer_wise` | 逐层敏感度分析处理器配置(对比逐块浮点与量化输出)。 | 《[binary_operator_layer_wise 配置说明](../processor/binary_operator_layer_wise.md)》 | |
| 39 | -- `FA3QuantProcessorConfig`(`type: fa3_quant`) — FA3(FlashAttention-3)量化处理器配置。 《[fa3_quant 配置说明](../processor/fa3_quant.md)》 | 39 | +| `BinaryOperatorModelWiseProcessorConfig` | `binary_operator_model_wise` | 模型级敏感度分析配置(对比模型最终输出,使用 MSE 指标) | 《[binary_operator_model_wise 配置说明](../processor/binary_operator_model_wise.md)》 | |
| 40 | -- `FlatQuantProcessorConfig`(`type: flatquant`) — FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 《[flatquant 配置说明](../processor/flatquant.md)》 | 40 | +| `DynamicCacheProcessorConfig` | `dynamic_cache` | KV cache 量化处理器配置。 | 《[dynamic_cache 配置说明](../processor/dynamic_cache.md)》 | |
| 41 | -- `FlexAWQSSZProcessorConfig`(`type: flex_awq_ssz`) — FlexAWQSSZ 平滑+AWQ 处理器配置。 《[flex_awq_ssz 配置说明](../processor/flex_awq_ssz.md)》 | 41 | +| `FA3QuantProcessorConfig` | `fa3_quant` | FA3(FlashAttention-3)量化处理器配置。 | 《[fa3_quant 配置说明](../processor/fa3_quant.md)》 | |
| 42 | -- `FlexSmoothQuantProcessorConfig`(`type: flex_smooth_quant`) — FlexSmoothQuant 平滑量化处理器配置。 《[flex_smooth_quant 配置说明](../processor/flex_smooth_quant.md)》 | 42 | +| `FlatQuantProcessorConfig` | `flatquant` | FlatQuant处理器配置:定义量化训练参数、策略、混合精度等 | 《[flatquant 配置说明](../processor/flatquant.md)》 | |
| 43 | -- `FloatSparseProcessorConfig`(`type: float_sparse`) — 浮点稀疏处理器配置。 《[float_sparse 配置说明](../processor/float_sparse.md)》 | 43 | +| `FlexAWQSSZProcessorConfig` | `flex_awq_ssz` | Flex AWQ SSZ 离群值抑制处理器配置。 | 《[flex_awq_ssz 配置说明](../processor/flex_awq_ssz.md)》 | |
| 44 | -- `GroupProcessorConfig`(`type: group`) — 处理器合并器配置。 《[group 配置说明](../processor/group.md)》 | 44 | +| `FlexSmoothQuantProcessorConfig` | `flex_smooth_quant` | FlexSmoothQuant 平滑量化处理器配置。 | 《[flex_smooth_quant 配置说明](../processor/flex_smooth_quant.md)》 | |
| 45 | -- `IterSmoothProcessorConfig`(`type: iter_smooth`) — 迭代平滑(IterativeSmooth)处理器配置。 《[iter_smooth 配置说明](../processor/iter_smooth.md)》 | 45 | +| `FloatSparseProcessorConfig` | `float_sparse` | 浮点稀疏处理器配置。 | 《[float_sparse 配置说明](../processor/float_sparse.md)》 | |
| 46 | -- `KVSmoothProcessorConfig`(`type: kv_smooth`) — KV cache 平滑处理器配置。 《[kv_smooth 配置说明](../processor/kv_smooth.md)》 | 46 | +| `GroupProcessorConfig` | `group` | 处理器合并器配置。 | 《[group 配置说明](../processor/group.md)》 | |
| 47 | -- `LinearProcessorConfig`(`type: linear_quant`) — 线性层(Linear)量化处理器配置。 《[linear_quant 配置说明](../processor/linear_quant.md)》 | 47 | +| `IterSmoothProcessorConfig` | `iter_smooth` | 迭代平滑(IterativeSmooth)处理器配置。 | 《[iter_smooth 配置说明](../processor/iter_smooth.md)》 | |
| 48 | -- `LoadProcessorConfig`(`type: load`) — 模块加载/卸载处理器配置。 《[load 配置说明](../processor/load.md)》 | 48 | +| `KVSmoothProcessorConfig` | `kv_smooth` | KV cache 平滑处理器配置。 | 《[kv_smooth 配置说明](../processor/kv_smooth.md)》 | |
| 49 | -- `OASQProcessorConfig`(`type: oasq`) — OASQ(Outlier-Aware Smooth Quantization)处理器配置。 《[oasq 配置说明](../processor/oasq.md)》 | 49 | +| `LinearProcessorConfig` | `linear_quant` | 线性层(Linear)量化处理器配置。 | 《[linear_quant 配置说明](../processor/linear_quant.md)》 | |
| 50 | -- `OnlineQuaRotProcessorConfig`(`type: online_quarot`) — 在线 QuaRot 旋转处理器配置。 《[online_quarot 配置说明](../processor/online_quarot.md)》 | 50 | +| `LoadProcessorConfig` | `load` | 模块加载/卸载处理器配置。 | 《[load 配置说明](../processor/load.md)》 | |
| 51 | -- `QuaRotProcessorConfig`(`type: quarot`) — QuaRot(离线旋转)处理器配置。 《[quarot 配置说明](../processor/quarot.md)》 | 51 | +| `OASQProcessorConfig` | `oasq` | OASQ(Outlier-Aware Smooth Quantization)处理器配置。 | 《[oasq 配置说明](../processor/oasq.md)》 | |
| 52 | -- `QuantSaveProcessorConfig`(`type: saver`) — 统一保存处理器配置。 《[saver 配置说明](../processor/saver.md)》 | 52 | +| `OnlineQuaRotProcessorConfig` | `online_quarot` | 在线 QuaRot 旋转处理器配置。 | 《[online_quarot 配置说明](../processor/online_quarot.md)》 | |
| 53 | -- `SmoothQuantProcessorConfig`(`type: smooth_quant`) — SmoothQuant 平滑量化处理器配置。 《[smooth_quant 配置说明](../processor/smooth_quant.md)》 | 53 | +| `QuaRotProcessorConfig` | `quarot` | QuaRot(离线旋转)处理器配置。 | 《[quarot 配置说明](../processor/quarot.md)》 | |
| 54 | -- `SVDResidualProcessorConfig`(`type: svd_res`) — SVD 残差(低秩补偿)处理器配置。 《[svd_res 配置说明](../processor/svd_res.md)》 | 54 | +| `QuantSaveProcessorConfig` | `saver` | 统一保存处理器配置。 | 《[saver 配置说明](../processor/saver.md)》 | |
| 55 | -- `TrainableLinearQuantProcessorConfig`(`type: trainable_linear_quant`) — 可训练线性量化(TLQ)处理器配置。 《[trainable_linear_quant 配置说明](../processor/trainable_linear_quant.md)》 | 55 | +| `SmoothQuantProcessorConfig` | `smooth_quant` | SmoothQuant 平滑量化处理器配置。 | 《[smooth_quant 配置说明](../processor/smooth_quant.md)》 | |
| 56 | -- `UnaryAnalysisProcessorConfig`(`type: unary_analysis`) — 一元(无量化)敏感度分析处理器配置。 《[unary_analysis 配置说明](../processor/unary_analysis.md)》 | 56 | +| `SVDResidualProcessorConfig` | `svd_res` | SVD 残差(低秩补偿)处理器配置。 | 《[svd_res 配置说明](../processor/svd_res.md)》 | |
| 57 | +| `TrainableLinearQuantProcessorConfig` | `trainable_linear_quant` | 可训练线性量化(TLQ)处理器配置。 | 《[trainable_linear_quant 配置说明](../processor/trainable_linear_quant.md)》 | | ||
| 58 | +| `UnaryAnalysisProcessorConfig` | `unary_analysis` | 一元(无量化)敏感度分析处理器配置。 | 《[unary_analysis 配置说明](../processor/unary_analysis.md)》 | | ||
| 57 | 59 | ||
| 58 | <h3 id="2-3-metadata">2.3 Metadata</h3> | 60 | <h3 id="2-3-metadata">2.3 Metadata</h3> |
| 59 | 61 | ||
| @@ -27,15 +27,19 @@ | |||
| 27 | 27 | ||
| 28 | **派生类** | 28 | **派生类** |
| 29 | 29 | ||
| 30 | -- `StandingHighStrategyConfig`(`type: standing_high`) — 摸高算法策略配置(V1框架):先跑敏感层分析,再逐步回退不满意的层并尝试不同离群值抑制策略。 《[standing_high 配置说明](strategy_standing_high.md)》 | 30 | +| 配置类 | `type` | 说明 | 文档 | |
| 31 | -- `StandingHighWithExperienceStrategyConfig`(`type: standing_high_with_experience`) — 基于专家经验的摸高算法策略配置 《[standing_high_with_experience 配置说明](strategy_standing_high_with_experience.md)》 | 31 | +|--------|----------|------|------| |
| 32 | -- `BinaryFallbackStrategyConfig`(`type: binary_fallback`) — 二分回退调优策略配置。 《[binary_fallback 配置说明](strategy_binary_fallback.md)》 | 32 | +| `StandingHighStrategyConfig` | `standing_high` | 摸高算法策略配置(V1框架):先跑敏感层分析,再逐步回退不满意的层并尝试不同离群值抑制策略。 | 《[standing_high 配置说明](strategy_standing_high.md)》 | |
| 33 | +| `StandingHighWithExperienceStrategyConfig` | `standing_high_with_experience` | 基于专家经验的摸高算法策略配置 | 《[standing_high_with_experience 配置说明](strategy_standing_high_with_experience.md)》 | | ||
| 34 | +| `BinaryFallbackStrategyConfig` | `binary_fallback` | 二分回退调优策略配置。 | 《[binary_fallback 配置说明](strategy_binary_fallback.md)》 | | ||
| 33 | 35 | ||
| 34 | <h3 id="2-3-evaluateserviceconfig">2.3 EvaluateServiceConfig</h3> | 36 | <h3 id="2-3-evaluateserviceconfig">2.3 EvaluateServiceConfig</h3> |
| 35 | 37 | ||
| 36 | **派生类** | 38 | **派生类** |
| 37 | 39 | ||
| 38 | -- `ServiceOrientedEvaluateServiceConfig` — 面向服务的评估服务配置:评估需求 + aisbench 评测 + vLLM-Ascend 推理引擎。 《[evaluation_service_oriented 配置说明](evaluation_service_oriented.md)》 | 40 | +| 配置类 | 说明 | 文档 | |
| 41 | +|--------|------|------| | ||
| 42 | +| `ServiceOrientedEvaluateServiceConfig` | 面向服务的评估服务配置:评估需求 + aisbench 评测 + vLLM-Ascend 推理引擎。 | 《[evaluation_service_oriented 配置说明](evaluation_service_oriented.md)》 | | ||
| 39 | 43 | ||
| 40 | ## 3. 完整配置参考 | 44 | ## 3. 完整配置参考 |
| 41 | 45 | ||
| @@ -77,7 +77,7 @@ Pydantic 配置类 | |||
| 77 | 77 | ||
| 78 | CLI 文档不在本生成器范围内,也不使用 `generated-by` 标记。 | 78 | CLI 文档不在本生成器范围内,也不使用 `generated-by` 标记。 |
| 79 | 79 | ||
| 80 | -手写保留:`processor_group.md`、`auto_precision_tuning.md`。生成器写入前跳过这两个文件名。 | 80 | +手写保留:`README.md`(配置说明导航)、`auto_precision_tuning.md`、`processor_group.md`(已迁至 `user_guide/usage_processor_group.md`)。生成器写入与清理前跳过这些文件名。 |
| 81 | 81 | ||
| 82 | ## 4. 量化配置生成器 | 82 | ## 4. 量化配置生成器 |
| 83 | 83 | ||
| @@ -97,14 +97,14 @@ CLI 文档不在本生成器范围内,也不使用 `generated-by` 标记。 | |||
| 97 | 97 | ||
| 98 | | 分类 | 子目录 | | 98 | | 分类 | 子目录 | |
| 99 | |------|--------| | 99 | |------|--------| |
| 100 | -| 任务配置 | `task/` | | 100 | +| 任务配置 | `quant/` | |
| 101 | -| 服务规格 | 默认不单独成页:展开进对应 task 页的「参数列表」;基础脚本独立成文时放 `spec/` | | 101 | +| 服务规格 | 默认不单独成页:展开进对应任务(quant)页的「参数列表」;基础脚本独立成文时放 `spec/` | |
| 102 | | 处理器 | `processor/` | | 102 | | 处理器 | `processor/` | |
| 103 | | 保存格式 | `format/` | | 103 | | 保存格式 | `format/` | |
| 104 | | 自动调优 | `tuning/` | | 104 | | 自动调优 | `tuning/` | |
| 105 | | 嵌套配置(仅基础脚本独立成文时) | `nested/` | | 105 | | 嵌套配置(仅基础脚本独立成文时) | `nested/` | |
| 106 | 106 | ||
| 107 | -不再生成 `config/README.md` 索引页;入口文档(使用指南)直接链接到各分类下的具体页面。 | 107 | +不生成 `config/README.md` 的**内容**(该页为手写导航页,`MANUAL_KEEP` 保护):协议选择、`type` 索引与分组由人工维护,生成器只负责各配置页;入口文档(使用指南)同时直接链接到各分类下的具体页面。 |
| 108 | 108 | ||
| 109 | ### 4.2 为什么这样切 | 109 | ### 4.2 为什么这样切 |
| 110 | 110 | ||
| @@ -112,7 +112,7 @@ YAML 是「根配置 → spec → process[] / save[] → 嵌套对象」的树 | |||
| 112 | 112 | ||
| 113 | 因此采用 **一模型一文档 + 引用图(正向)**:每份文档只回答「本类字段指向哪些配置」,`type` 分派字段(`process`、`save`、`strategy`、`evaluation`、`select_best`、`operations`、`preprocess` 等)用「基础类块 + 派生类列表 + 派生类子块」表达:基础类块说明该字段按 `type`/`mode` 分派并列出全部公开子类型,而不是只写基类名。被引用信息收敛到参数表的「引用配置」列,不再单设「引用的配置 / 被引用的配置」小节。 | 113 | 因此采用 **一模型一文档 + 引用图(正向)**:每份文档只回答「本类字段指向哪些配置」,`type` 分派字段(`process`、`save`、`strategy`、`evaluation`、`select_best`、`operations`、`preprocess` 等)用「基础类块 + 派生类列表 + 派生类子块」表达:基础类块说明该字段按 `type`/`mode` 分派并列出全部公开子类型,而不是只写基类名。被引用信息收敛到参数表的「引用配置」列,不再单设「引用的配置 / 被引用的配置」小节。 |
| 114 | 114 | ||
| 115 | -内部配置按[第2.1节](#21-内部类格式)判定,不把内部 `type` 写进公开分派索引。驱动脚本默认把嵌套内部配置展开进上级文档「参数列表」内对应类名子块,减少跳转;task 根配置同时把对应的 spec(服务规格)展开进「参数列表」,task 与 spec 合并为一页,不再单独生成 `spec/` 页面。`PracticeConfig` 是 `BaseQuantConfig` 子类(任务配置),虽然会被调优策略引用,仍独立成 `task/practice_config.md` 页,在任务侧集中展示 `apiversion + spec + metadata`(`Metadata`)的完整实践配置结构。 | 115 | +内部配置按[第2.1节](#21-内部类格式)判定,不把内部 `type` 写进公开分派索引。驱动脚本默认把嵌套内部配置展开进上级文档「参数列表」内对应类名子块,减少跳转;任务根配置同时把对应的 spec(服务规格)展开进「参数列表」,任务与 spec 合并为一页,不再单独生成 `spec/` 页面。`PracticeConfig` 是 `BaseQuantConfig` 子类(任务配置),虽然会被调优策略引用,仍独立成 `quant/practice_config.md` 页,在任务侧集中展示 `apiversion + spec + metadata`(`Metadata`)的完整实践配置结构。 |
| 116 | 116 | ||
| 117 | ### 4.3 如何实现 | 117 | ### 4.3 如何实现 |
| 118 | 118 | ||
| @@ -180,9 +180,9 @@ YAML 是「根配置 → spec → process[] / save[] → 嵌套对象」的树 | |||
| 180 | - `ModelslimConvertServiceConfig.preprocess`:`rename` / `convert` 两类预处理步骤,关系为 `type 分派`,分派基础类名合成 `PreprocessConfig`。 | 180 | - `ModelslimConvertServiceConfig.preprocess`:`rename` / `convert` 两类预处理步骤,关系为 `type 分派`,分派基础类名合成 `PreprocessConfig`。 |
| 181 | - 普通嵌套 BaseModel:一条 `嵌套对象`。处理器 / 保存器子类在这条路径上跳过,避免与分派展开重复。 | 181 | - 普通嵌套 BaseModel:一条 `嵌套对象`。处理器 / 保存器子类在这条路径上跳过,避免与分派展开重复。 |
| 182 | 182 | ||
| 183 | -不再渲染「被引用的配置」小节(内部仍保留 `parents` 反查表供示例 YAML 上溯宿主)。展开嵌套时,BFS 从 `nested_refs` 出发,把可达的嵌套配置按引用处上下文路径渲染进「参数列表」内对应类名子块;task 页把 spec 一并展开。对未独立成页的 spec 的引用(如调优策略的 `template` 指向 `ModelslimV1ServiceConfig`)重定向到所属 task 页的 2.2 小节锚点(task 页块序固定:根块 §2.1,spec 为首个嵌套块 §2.2);跨目录链接按输出子目录计算相对路径。 | 183 | +不再渲染「被引用的配置」小节(内部仍保留 `parents` 反查表供示例 YAML 上溯宿主)。展开嵌套时,BFS 从 `nested_refs` 出发,把可达的嵌套配置按引用处上下文路径渲染进「参数列表」内对应类名子块;任务(quant)页把 spec 一并展开。对未独立成页的 spec 的引用(如调优策略的 `template` 指向 `ModelslimV1ServiceConfig`)重定向到所属任务页的 2.2 小节锚点(任务页块序固定:根块 §2.1,spec 为首个嵌套块 §2.2);配置块编号最多 3 段(`2.x.y` / `<h4>`),再深则提升为祖父同级续号;跨目录链接按输出子目录计算相对路径。 |
| 184 | 184 | ||
| 185 | -**type 分派渲染**:同一字段路径下引用数 ≥2 或含 `type 分派` 即判为分派组。渲染成一个 `<h3 id="…">2.x 基础类名(按 type 分派)</h3>` 块:块内含基础类参数表(基础类本身是真实模型时)与「派生类」列表(每项 = 类名、`type` 值、一行说明、本页子块锚点或独立页相对链接),各派生类参数表 + 配置约束作为 `<h4 id="…">2.x 派生类名</h4>` 子块排在其后。同一页面同一基础类只渲染一次,后续分派字段的「引用配置」列别名指向该块锚点(例如 task 页的 `spec.process[]` 与 `spec.prior[].process` 共用同一个 `AutoProcessorConfig` 块)。「引用配置」列对分派字段统一写`「本页 <a href="#anchor">§x.y</a>」`指向基础类块锚点,不再逐个子类型平铺、也不再写「按 `type` 分派,见对应配置文档」汇总文案。配置块标题带可见编号,且标题与页内跳转统一用 HTML 标签(`<h3 id>` / `<h4 id>` / `<a href="#…">`),不用 Markdown 的 `{#anchor}` 属性语法。 | 185 | +**type 分派渲染**:同一字段路径下引用数 ≥2 或含 `type 分派` 即判为分派组。渲染成一个 `<h3 id="…">2.x 基础类名(按 type 分派)</h3>` 块:块内含基础类参数表(基础类本身是真实模型时)与「派生类」列表(每项 = 类名、`type` 值、一行说明、本页子块锚点或独立页相对链接),各派生类参数表 + 配置约束作为同级或下层编号子块排在其后(仍受 3 段编号上限约束)。同一页面同一基础类只渲染一次,后续分派字段的「引用配置」列别名指向该块锚点(例如任务页的 `spec.process[]` 与 `spec.prior[].process` 共用同一个 `AutoProcessorConfig` 块)。「引用配置」列对分派字段统一写`「本页 <a href="#anchor">§x.y</a>」`指向基础类块锚点,不再逐个子类型平铺、也不再写「按 `type` 分派,见对应配置文档」汇总文案。配置块标题带可见编号,且标题与页内跳转统一用 HTML 标签(`<h3 id>` / `<h4 id>` / `<a href="#…">`),不用 Markdown 的 `{#anchor}` 属性语法。 |
| 186 | 186 | ||
| 187 | #### 4.3.6 示例 YAML | 187 | #### 4.3.6 示例 YAML |
| 188 | 188 | ||
| @@ -198,7 +198,7 @@ YAML 是「根配置 → spec → process[] / save[] → 嵌套对象」的树 | |||
| 198 | 198 | ||
| 199 | #### 4.3.7 导航 | 199 | #### 4.3.7 导航 |
| 200 | 200 | ||
| 201 | -默认不改 `mkdocs.yml`。仅当显式传入 `--update-mkdocs` 时,才替换 `# BEGIN GENERATED QUANT CONFIG NAV` … `# END GENERATED QUANT CONFIG NAV`。分组顺序固定为:任务配置、服务规格、处理器、保存格式、自动调优、嵌套配置。手写的组合处理器与自动调优条目接在生成块末尾。不再生成 `config/README.md` 索引页。 | 201 | +默认不改 `mkdocs.yml`。仅当显式传入 `--update-mkdocs` 时,才替换 `# BEGIN GENERATED QUANT CONFIG NAV` … `# END GENERATED QUANT CONFIG NAV`。分组顺序固定为:任务配置、服务规格、处理器、保存格式、自动调优、嵌套配置。手写的组合处理器与自动调优条目接在生成块末尾;`config/README.md` 为手写导航页,不参与生成与清理。 |
| 202 | 202 | ||
| 203 | 开发树里 `config.ini` 在仓库根 `config/`,包代码期望 `msmodelslim/config`。生成前若缺失则建临时 symlink,结束后删除,避免导入失败。 | 203 | 开发树里 `config.ini` 在仓库根 `config/`,包代码期望 `msmodelslim/config`。生成前若缺失则建临时 symlink,结束后删除,避免导入失败。 |
| 204 | 204 | ||
| @@ -13,7 +13,7 @@ | |||
| 13 | | 是否需要 `quant_type` | 方式 1 需要 | **不需要**(须通过 `--config` 指定转换配置) | | 13 | | 是否需要 `quant_type` | 方式 1 需要 | **不需要**(须通过 `--config` 指定转换配置) | |
| 14 | | 典型场景 | 浮点模型 → W8A8 等 | FP8 → BF16、BF16 → MXFP8、FP8 → MXFP8 等 | | 14 | | 典型场景 | 浮点模型 → W8A8 等 | FP8 → BF16、BF16 → MXFP8、FP8 → MXFP8 等 | |
| 15 | 15 | ||
| 16 | -命令行书写规范见 [步骤 3](#步骤-3执行转换命令),参数总表见《[msmodelslim quant 命令行](../../../api_reference/cli/msmodelslim_quant.md)》,字段说明见《[modelslim_convert 配置说明](../../../api_reference/config/task/modelslim_convert.md)》。 | 16 | +命令行书写规范见 [步骤 3](#步骤-3执行转换命令),参数总表见《[msmodelslim quant 命令行](../../../api_reference/cli/msmodelslim_quant.md)》,字段说明见《[modelslim_convert 配置说明](../../../api_reference/config/quant/modelslim_convert.md)》。 |
| 17 | 17 | ||
| 18 | ## 2. 输入和交付件 | 18 | ## 2. 输入和交付件 |
| 19 | 19 | ||
| @@ -203,6 +203,6 @@ msmodelslim quant \ | |||
| 203 | | 接口或能力 | 简述 | 链接 | | 203 | | 接口或能力 | 简述 | 链接 | |
| 204 | | --- | --- | --- | | 204 | | --- | --- | --- | |
| 205 | | `msmodelslim quant` | 命令行入口、参数与权重转换示例 | [msmodelslim quant 命令行](../../../api_reference/cli/msmodelslim_quant.md) | | 205 | | `msmodelslim quant` | 命令行入口、参数与权重转换示例 | [msmodelslim quant 命令行](../../../api_reference/cli/msmodelslim_quant.md) | |
| 206 | -| modelslim_convert 配置说明 | `linears` / `save` / `parallel` 等字段说明 | [modelslim_convert 配置说明](../../../api_reference/config/task/modelslim_convert.md) | | 206 | +| modelslim_convert 配置说明 | `linears` / `save` / `parallel` 等字段说明 | [modelslim_convert 配置说明](../../../api_reference/config/quant/modelslim_convert.md) | |
| 207 | | 格式支持矩阵 | 量化格式与存储格式说明 | [格式支持矩阵](../../quantization_format/README.md) | | 207 | | 格式支持矩阵 | 量化格式与存储格式说明 | [格式支持矩阵](../../quantization_format/README.md) | |
| 208 | | AscendV1 量化结果 | AscendV1 落盘结果说明 | [一键量化生成结果](../../quantization_format/ascendv1/ascendv1_usage.md) | | 208 | | AscendV1 量化结果 | AscendV1 落盘结果说明 | [一键量化生成结果](../../quantization_format/ascendv1/ascendv1_usage.md) | |
| @@ -251,7 +251,7 @@ def enable_kv_cache(self, model: nn.Module, need_kv_cache: bool) -> None: | |||
| 251 | | Interface Hub | 量化机制与算法组件对模型所需接口的集中定义与汇总 | [《Interface Hub》](https://gitcode.com/Ascend/msmodelslim/blob/master/msmodelslim/model/interface_hub.py) | | 251 | | Interface Hub | 量化机制与算法组件对模型所需接口的集中定义与汇总 | [《Interface Hub》](https://gitcode.com/Ascend/msmodelslim/blob/master/msmodelslim/model/interface_hub.py) | |
| 252 | | Pipeline 接口 | 多模态生成量化服务的流水线接口定义 | [《pipeline_interface.py》](https://gitcode.com/Ascend/msmodelslim/blob/master/msmodelslim/core/quant_service/multimodal_sd_v1/pipeline_interface.py) | | 252 | | Pipeline 接口 | 多模态生成量化服务的流水线接口定义 | [《pipeline_interface.py》](https://gitcode.com/Ascend/msmodelslim/blob/master/msmodelslim/core/quant_service/multimodal_sd_v1/pipeline_interface.py) | |
| 253 | | DiT 量化使用指南 | 标准 DiT 模型量化全流程、配置协议与开箱即用示例 | [《DiT 量化使用指南》](usage_diffusion_transformer_quantization.md) | | 253 | | DiT 量化使用指南 | 标准 DiT 模型量化全流程、配置协议与开箱即用示例 | [《DiT 量化使用指南》](usage_diffusion_transformer_quantization.md) | |
| 254 | -| multimodal_sd_modelslim_v1 配置说明 | `process`/`save`/`multimodal_sd_config` 等多模态生成配置字段说明 | [《multimodal_sd_modelslim_v1 配置说明》](../../../api_reference/config/task/multimodal_sd_modelslim_v1.md) | | 254 | +| multimodal_sd_modelslim_v1 配置说明 | `process`/`save`/`multimodal_sd_config` 等多模态生成配置字段说明 | [《multimodal_sd_modelslim_v1 配置说明》](../../../api_reference/config/quant/multimodal_sd_modelslim_v1.md) | |
| 255 | | mindie_format_saver 配置说明 | MindIE-SD 保存格式与多专家落盘说明 | [《mindie_format_saver 配置说明》](../../../api_reference/config/format/mindie_format_saver.md) | | 255 | | mindie_format_saver 配置说明 | MindIE-SD 保存格式与多专家落盘说明 | [《mindie_format_saver 配置说明》](../../../api_reference/config/format/mindie_format_saver.md) | |
| 256 | | 一键量化完整指南 | 一键量化 CLI 入口与完整命令参数说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | | 256 | | 一键量化完整指南 | 一键量化 CLI 入口与完整命令参数说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | |
| 257 | | 量化算法总览 | 微缩浮点、在线旋转与各类量化算法详述 | [《量化算法总览》](../../quantization_algorithms/README.md) | | 257 | | 量化算法总览 | 微缩浮点、在线旋转与各类量化算法详述 | [《量化算法总览》](../../quantization_algorithms/README.md) | |
| @@ -285,6 +285,6 @@ msmodelslim quant \ | |||
| 285 | | 接口或能力 | 简述 | 链接 | | 285 | | 接口或能力 | 简述 | 链接 | |
| 286 | | --- | --- | --- | | 286 | | --- | --- | --- | |
| 287 | | `msmodelslim quant` | 一键量化 CLI 入口与完整命令说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | | 287 | | `msmodelslim quant` | 一键量化 CLI 入口与完整命令说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | |
| 288 | -| multimodal_sd_modelslim_v1 配置说明 | `runner`/`process`/`per_expert`/`save`/`dataset`/`multimodal_sd_config` 等任务级配置的字段说明 | [《multimodal_sd_modelslim_v1 配置说明》](../../../api_reference/config/task/multimodal_sd_modelslim_v1.md) | | 288 | +| multimodal_sd_modelslim_v1 配置说明 | `runner`/`process`/`per_expert`/`save`/`dataset`/`multimodal_sd_config` 等任务级配置的字段说明 | [《multimodal_sd_modelslim_v1 配置说明》](../../../api_reference/config/quant/multimodal_sd_modelslim_v1.md) | |
| 289 | | linear_quant 配置说明 | `linear_quant` 处理器及其 `qconfig` 各字段的完整取值说明 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | | 289 | | linear_quant 配置说明 | `linear_quant` 处理器及其 `qconfig` 各字段的完整取值说明 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | |
| 290 | | 多模态生成模型接入 | DiT 模型接入与适配器开发 | [《多模态生成模型接入》](./integration_guide_diffusion_transformer_quantization.md) | | 290 | | 多模态生成模型接入 | DiT 模型接入与适配器开发 | [《多模态生成模型接入》](./integration_guide_diffusion_transformer_quantization.md) | |
| @@ -225,7 +225,7 @@ def enable_kv_cache(self, model: nn.Module, need_kv_cache: bool) -> None | |||
| 225 | | --- | --- | --- | | 225 | | --- | --- | --- | |
| 226 | | Interface Hub | 量化机制与算法组件对模型所需接口的集中定义与汇总 | [《Interface Hub》](https://gitcode.com/Ascend/msmodelslim/blob/master/msmodelslim/model/interface_hub.py) | | 226 | | Interface Hub | 量化机制与算法组件对模型所需接口的集中定义与汇总 | [《Interface Hub》](https://gitcode.com/Ascend/msmodelslim/blob/master/msmodelslim/model/interface_hub.py) | |
| 227 | | LLM 量化使用指南 | 标准 LLM 量化全流程、配置协议与开箱即用示例 | [《LLM 量化使用指南》](usage_large_language_model_quantization.md) | | 227 | | LLM 量化使用指南 | 标准 LLM 量化全流程、配置协议与开箱即用示例 | [《LLM 量化使用指南》](usage_large_language_model_quantization.md) | |
| 228 | -| modelslim_v1 配置说明 | `runner`/`process`/`save`/`dataset` 等任务级配置的字段说明 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 228 | +| modelslim_v1 配置说明 | `runner`/`process`/`save`/`dataset` 等任务级配置的字段说明 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 229 | | 一键量化完整指南 | 一键量化 CLI 入口与完整命令参数说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | | 229 | | 一键量化完整指南 | 一键量化 CLI 入口与完整命令参数说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | |
| 230 | | 自动调优使用说明 | 敏感层分析、回退候选及调优策略说明 | [《自动调优使用说明》](../../../user_guide/usage_auto_precision_tuning.md) | | 230 | | 自动调优使用说明 | 敏感层分析、回退候选及调优策略说明 | [《自动调优使用说明》](../../../user_guide/usage_auto_precision_tuning.md) | |
| 231 | | 量化算法总览 | 离群值平滑抑制与各类量化算法详述 | [《量化算法总览》](../../quantization_algorithms/README.md) | | 231 | | 量化算法总览 | 离群值平滑抑制与各类量化算法详述 | [《量化算法总览》](../../quantization_algorithms/README.md) | |
| @@ -255,4 +255,4 @@ msmodelslim quant \ | |||
| 255 | | 接口或能力 | 简述 | 链接 | | 255 | | 接口或能力 | 简述 | 链接 | |
| 256 | | --- | --- | --- | | 256 | | --- | --- | --- | |
| 257 | | `msmodelslim quant` | 一键量化 CLI 入口与完整命令说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | | 257 | | `msmodelslim quant` | 一键量化 CLI 入口与完整命令说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | |
| 258 | -| modelslim_v1 配置说明 | `runner`/`process`/`save`/`dataset` 等任务级配置的字段说明 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 258 | +| modelslim_v1 配置说明 | `runner`/`process`/`save`/`dataset` 等任务级配置的字段说明 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| @@ -233,6 +233,6 @@ def enable_kv_cache(self, model: nn.Module, need_kv_cache: bool) -> None: | |||
| 233 | | --- | --- | --- | | 233 | | --- | --- | --- | |
| 234 | | Interface Hub | 量化机制与算法组件对模型所需接口的集中定义与汇总 | [《Interface Hub》](https://gitcode.com/Ascend/msmodelslim/blob/master/msmodelslim/model/interface_hub.py) | | 234 | | Interface Hub | 量化机制与算法组件对模型所需接口的集中定义与汇总 | [《Interface Hub》](https://gitcode.com/Ascend/msmodelslim/blob/master/msmodelslim/model/interface_hub.py) | |
| 235 | | VLM 量化使用指南 | 标准多模态理解模型量化全流程、配置协议与开箱即用示例 | [《VLM 量化使用指南》](usage_vision_transformer_quantization.md) | | 235 | | VLM 量化使用指南 | 标准多模态理解模型量化全流程、配置协议与开箱即用示例 | [《VLM 量化使用指南》](usage_vision_transformer_quantization.md) | |
| 236 | -| multimodal_vlm_modelslim_v1 配置说明 | `process`/`save`/`dataset` 等多模态理解配置的字段说明 | [《multimodal_vlm_modelslim_v1 配置说明》](../../../api_reference/config/task/multimodal_vlm_modelslim_v1.md) | | 236 | +| multimodal_vlm_modelslim_v1 配置说明 | `process`/`save`/`dataset` 等多模态理解配置的字段说明 | [《multimodal_vlm_modelslim_v1 配置说明》](../../../api_reference/config/quant/multimodal_vlm_modelslim_v1.md) | |
| 237 | | 一键量化完整指南 | 一键量化 CLI 入口与完整命令参数说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | | 237 | | 一键量化完整指南 | 一键量化 CLI 入口与完整命令参数说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | |
| 238 | | 量化算法总览 | 离群值平滑抑制与各类量化算法详述 | [《量化算法总览》](../../quantization_algorithms/README.md) | | 238 | | 量化算法总览 | 离群值平滑抑制与各类量化算法详述 | [《量化算法总览》](../../quantization_algorithms/README.md) | |
| @@ -226,4 +226,4 @@ msmodelslim quant \ | |||
| 226 | | 接口或能力 | 简述 | 链接 | | 226 | | 接口或能力 | 简述 | 链接 | |
| 227 | | --- | --- | --- | | 227 | | --- | --- | --- | |
| 228 | | `msmodelslim quant` | 一键量化 CLI 入口与完整命令说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | | 228 | | `msmodelslim quant` | 一键量化 CLI 入口与完整命令说明 | [《一键量化完整指南》](../../../user_guide/usage_one_click_quantization.md) | |
| 229 | -| multimodal_vlm_modelslim_v1 配置说明 | `runner`/`process`/`save`/`dataset`/`default_text` 等任务级配置的字段说明 | [《multimodal_vlm_modelslim_v1 配置说明》](../../../api_reference/config/task/multimodal_vlm_modelslim_v1.md) | | 229 | +| multimodal_vlm_modelslim_v1 配置说明 | `runner`/`process`/`save`/`dataset`/`default_text` 等任务级配置的字段说明 | [《multimodal_vlm_modelslim_v1 配置说明》](../../../api_reference/config/quant/multimodal_vlm_modelslim_v1.md) | |
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | msModelSlim 支持多种先进的量化算法,涵盖了从离群值抑制到低比特优化的各个环节。下表按类别总结了目前支持的核心算法及其主要特性。 | 3 | msModelSlim 支持多种先进的量化算法,涵盖了从离群值抑制到低比特优化的各个环节。下表按类别总结了目前支持的核心算法及其主要特性。 |
| 4 | 4 | ||
| 5 | -> **阅读建议**:每个算法目录包含“词条”和“使用指南”两类文档。词条只介绍算法定义、原理、性质、适用场景与关联知识;使用指南面向入门用户,重点解释配置参数的含义、推荐起步值以及何时调整。需要查询完整字段类型、默认值和高级任务级配置时,请继续阅读《[modelslim_v1 配置说明](../../api_reference/config/task/modelslim_v1.md)》。 | 5 | +> **阅读建议**:每个算法目录包含“词条”和“使用指南”两类文档。词条只介绍算法定义、原理、性质、适用场景与关联知识;使用指南面向入门用户,重点解释配置参数的含义、推荐起步值以及何时调整。需要查询完整字段类型、默认值和高级任务级配置时,请继续阅读《[modelslim_v1 配置说明](../../api_reference/config/quant/modelslim_v1.md)》。 |
| 6 | 6 | ||
| 7 | ## 1. 离群值抑制算法 | 7 | ## 1. 离群值抑制算法 |
| 8 | 8 | ||
| @@ -203,5 +203,5 @@ msmodelslim quant \ | |||
| 203 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | | 203 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | |
| 204 | | `AdaptRotationInterface` / `QuaRotInterface` | 自适应旋转模型适配接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 204 | | `AdaptRotationInterface` / `QuaRotInterface` | 自适应旋转模型适配接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 205 | | adapt_rotation 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《adapt_rotation 配置说明》](../../../api_reference/config/processor/adapt_rotation.md) | | 205 | | adapt_rotation 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《adapt_rotation 配置说明》](../../../api_reference/config/processor/adapt_rotation.md) | |
| 206 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 206 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 207 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 207 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -211,5 +211,5 @@ msmodelslim quant \ | |||
| 211 | | --- | --- | --- | | 211 | | --- | --- | --- | |
| 212 | | `PipelineInterface` | 模型流水线接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 212 | | `PipelineInterface` | 模型流水线接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 213 | | autoround_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《autoround_quant 配置说明》](../../../api_reference/config/processor/autoround_quant.md) | | 213 | | autoround_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《autoround_quant 配置说明》](../../../api_reference/config/processor/autoround_quant.md) | |
| 214 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 214 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 215 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 215 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -189,5 +189,5 @@ msmodelslim quant \ | |||
| 189 | | --- | --- | --- | | 189 | | --- | --- | --- | |
| 190 | | `PipelineInterface` | 模型流水线接口,由 `msmodelslim.model.interface_hub` 汇总导出;`AWQInterface` 由 `msmodelslim.processor.anti_outlier.awq` 提供。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 190 | | `PipelineInterface` | 模型流水线接口,由 `msmodelslim.model.interface_hub` 汇总导出;`AWQInterface` 由 `msmodelslim.processor.anti_outlier.awq` 提供。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 191 | | awq 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《awq 配置说明》](../../../api_reference/config/processor/awq.md) | | 191 | | awq 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《awq 配置说明》](../../../api_reference/config/processor/awq.md) | |
| 192 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 192 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 193 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 193 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -112,5 +112,5 @@ Ceil-X 中真正可调的是 `ceil_x_value` 或其搜索配置;`dtype/scope/sy | |||
| 112 | | 接口或文档 | 简述 | 链接 | | 112 | | 接口或文档 | 简述 | 链接 | |
| 113 | | --- | --- | --- | | 113 | | --- | --- | --- | |
| 114 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | | 114 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | |
| 115 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 115 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 116 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 116 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -124,5 +124,5 @@ flowchart LR | |||
| 124 | | oasq 配置说明 | 字段类型、默认值与约束。 | [《oasq 配置说明》](../../../api_reference/config/processor/oasq.md) | | 124 | | oasq 配置说明 | 字段类型、默认值与约束。 | [《oasq 配置说明》](../../../api_reference/config/processor/oasq.md) | |
| 125 | | trainable_linear_quant 配置说明 | 字段类型、默认值与约束。 | [《trainable_linear_quant 配置说明》](../../../api_reference/config/processor/trainable_linear_quant.md) | | 125 | | trainable_linear_quant 配置说明 | 字段类型、默认值与约束。 | [《trainable_linear_quant 配置说明》](../../../api_reference/config/processor/trainable_linear_quant.md) | |
| 126 | | fa3_quant 配置说明 | 字段类型、默认值与约束。 | [《fa3_quant 配置说明》](../../../api_reference/config/processor/fa3_quant.md) | | 126 | | fa3_quant 配置说明 | 字段类型、默认值与约束。 | [《fa3_quant 配置说明》](../../../api_reference/config/processor/fa3_quant.md) | |
| 127 | -| multimodal_sd_modelslim_v1 | 多模态生成任务级配置。 | [《multimodal_sd_modelslim_v1 配置说明》](../../../api_reference/config/task/multimodal_sd_modelslim_v1.md) | | 127 | +| multimodal_sd_modelslim_v1 | 多模态生成任务级配置。 | [《multimodal_sd_modelslim_v1 配置说明》](../../../api_reference/config/quant/multimodal_sd_modelslim_v1.md) | |
| 128 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 128 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -111,5 +111,5 @@ DualScale 的核心旋钮是 `dual_block_size`。先固定 MXFP4 + dual_scale | |||
| 111 | | 接口或文档 | 简述 | 链接 | | 111 | | 接口或文档 | 简述 | 链接 | |
| 112 | | --- | --- | --- | | 112 | | --- | --- | --- | |
| 113 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | | 113 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | |
| 114 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 114 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 115 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 115 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -162,5 +162,5 @@ msmodelslim quant \ | |||
| 162 | | --- | --- | --- | | 162 | | --- | --- | --- | |
| 163 | | `PipelineInterface` / `FA3QuantAdapterInterface` | 模型流水线与 FA3 Quant 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 163 | | `PipelineInterface` / `FA3QuantAdapterInterface` | 模型流水线与 FA3 Quant 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 164 | | fa3_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《fa3_quant 配置说明》](../../../api_reference/config/processor/fa3_quant.md) | | 164 | | fa3_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《fa3_quant 配置说明》](../../../api_reference/config/processor/fa3_quant.md) | |
| 165 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 165 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 166 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 166 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -192,5 +192,5 @@ msmodelslim quant \ | |||
| 192 | | --- | --- | --- | | 192 | | --- | --- | --- | |
| 193 | | `PipelineInterface` / `FlexSmoothQuantInterface` | 模型流水线与 Flex AWQ SSZ 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 193 | | `PipelineInterface` / `FlexSmoothQuantInterface` | 模型流水线与 Flex AWQ SSZ 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 194 | | flex_awq_ssz 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《flex_awq_ssz 配置说明》](../../../api_reference/config/processor/flex_awq_ssz.md) | | 194 | | flex_awq_ssz 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《flex_awq_ssz 配置说明》](../../../api_reference/config/processor/flex_awq_ssz.md) | |
| 195 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 195 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 196 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 196 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -189,5 +189,5 @@ msmodelslim quant \ | |||
| 189 | | --- | --- | --- | | 189 | | --- | --- | --- | |
| 190 | | `PipelineInterface` / `FlexSmoothQuantInterface` | 模型流水线与 Flex Smooth Quant 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 190 | | `PipelineInterface` / `FlexSmoothQuantInterface` | 模型流水线与 Flex Smooth Quant 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 191 | | flex_smooth_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《flex_smooth_quant 配置说明》](../../../api_reference/config/processor/flex_smooth_quant.md) | | 191 | | flex_smooth_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《flex_smooth_quant 配置说明》](../../../api_reference/config/processor/flex_smooth_quant.md) | |
| 192 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 192 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 193 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 193 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -152,5 +152,5 @@ msmodelslim quant \ | |||
| 152 | | --- | --- | --- | | 152 | | --- | --- | --- | |
| 153 | | `PipelineInterface` | 模型流水线接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 153 | | `PipelineInterface` | 模型流水线接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 154 | | float_sparse 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《float_sparse 配置说明》](../../../api_reference/config/processor/float_sparse.md) | | 154 | | float_sparse 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《float_sparse 配置说明》](../../../api_reference/config/processor/float_sparse.md) | |
| 155 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 155 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 156 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 156 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -108,5 +108,5 @@ FourOverSix 是自动逐块二选一算法,通常没有必要再人为搜索 4 | |||
| 108 | | 接口或文档 | 简述 | 链接 | | 108 | | 接口或文档 | 简述 | 链接 | |
| 109 | | --- | --- | --- | | 109 | | --- | --- | --- | |
| 110 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | | 110 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | |
| 111 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 111 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 112 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 112 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -114,5 +114,5 @@ GPTQ 建议按 **位宽 → scope/group_size → percdamp → block_size** 的 | |||
| 114 | | 接口或文档 | 简述 | 链接 | | 114 | | 接口或文档 | 简述 | 链接 | |
| 115 | | --- | --- | --- | | 115 | | --- | --- | --- | |
| 116 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | | 116 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | |
| 117 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 117 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 118 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 118 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -113,5 +113,5 @@ Histogram 的关键决策不是“bin 数调多少”,因为当前用户配置 | |||
| 113 | | 接口或文档 | 简述 | 链接 | | 113 | | 接口或文档 | 简述 | 链接 | |
| 114 | | --- | --- | --- | | 114 | | --- | --- | --- | |
| 115 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | | 115 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | |
| 116 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 116 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 117 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 117 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -110,4 +110,4 @@ HQQ 的核心自由度在作用范围,算法中迭代参数和配置侧 `scope | |||
| 110 | | 接口或能力 | 简述 | 链接 | | 110 | | 接口或能力 | 简述 | 链接 | |
| 111 | | --- | --- | --- | | 111 | | --- | --- | --- | |
| 112 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | 《[linear_quant 配置说明](../../../api_reference/config/processor/linear_quant.md)》 | | 112 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | 《[linear_quant 配置说明](../../../api_reference/config/processor/linear_quant.md)》 | |
| 113 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | 《[modelslim_v1 配置说明](../../../api_reference/config/task/modelslim_v1.md)》 | | 113 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | 《[modelslim_v1 配置说明](../../../api_reference/config/quant/modelslim_v1.md)》 | |
| @@ -194,5 +194,5 @@ msmodelslim quant \ | |||
| 194 | | --- | --- | --- | | 194 | | --- | --- | --- | |
| 195 | | `PipelineInterface` / `IterSmoothInterface` | 模型流水线与 Iterative Smooth 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 195 | | `PipelineInterface` / `IterSmoothInterface` | 模型流水线与 Iterative Smooth 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 196 | | iter_smooth 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《iter_smooth 配置说明》](../../../api_reference/config/processor/iter_smooth.md) | | 196 | | iter_smooth 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《iter_smooth 配置说明》](../../../api_reference/config/processor/iter_smooth.md) | |
| 197 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 197 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 198 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 198 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -105,5 +105,5 @@ Kurtosis 适合做低成本候选筛选。若高峰度层最终量化后并不 | |||
| 105 | | 接口或文档 | 简述 | 链接 | | 105 | | 接口或文档 | 简述 | 链接 | |
| 106 | | --- | --- | --- | | 106 | | --- | --- | --- | |
| 107 | | 敏感层分析使用指南 | 完整 CLI、输入输出和进阶流程。 | [《敏感层分析使用指南》](../../../user_guide/usage_sensitive_linear_analysis.md) | | 107 | | 敏感层分析使用指南 | 完整 CLI、输入输出和进阶流程。 | [《敏感层分析使用指南》](../../../user_guide/usage_sensitive_linear_analysis.md) | |
| 108 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 108 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 109 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 109 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -180,5 +180,5 @@ msmodelslim quant \ | |||
| 180 | | --- | --- | --- | | 180 | | --- | --- | --- | |
| 181 | | `PipelineInterface` / `KVSmoothFusedInterface` | 模型流水线与 KV Smooth 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 181 | | `PipelineInterface` / `KVSmoothFusedInterface` | 模型流水线与 KV Smooth 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 182 | | kv_smooth 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《kv_smooth 配置说明》](../../../api_reference/config/processor/kv_smooth.md) | | 182 | | kv_smooth 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《kv_smooth 配置说明》](../../../api_reference/config/processor/kv_smooth.md) | |
| 183 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 183 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 184 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 184 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -177,5 +177,5 @@ msmodelslim quant \ | |||
| 177 | | --- | --- | --- | | 177 | | --- | --- | --- | |
| 178 | | `PipelineInterface` | 模型流水线接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 178 | | `PipelineInterface` | 模型流水线接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 179 | | dynamic_cache 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《dynamic_cache 配置说明》](../../../api_reference/config/processor/dynamic_cache.md) | | 179 | | dynamic_cache 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《dynamic_cache 配置说明》](../../../api_reference/config/processor/dynamic_cache.md) | |
| 180 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 180 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 181 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 181 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -262,5 +262,5 @@ msmodelslim quant \ | |||
| 262 | | `PipelineInterface` / `LAOSOnlineRotationInterface` / `QuaRotInterface` | 模型流水线与 LAOS 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 262 | | `PipelineInterface` / `LAOSOnlineRotationInterface` / `QuaRotInterface` | 模型流水线与 LAOS 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 263 | | adapt_rotation 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《adapt_rotation 配置说明》](../../../api_reference/config/processor/adapt_rotation.md) | | 263 | | adapt_rotation 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《adapt_rotation 配置说明》](../../../api_reference/config/processor/adapt_rotation.md) | |
| 264 | | autoround_quant 配置说明 | LAOS 第二阶段的 AutoRound 参数。 | [《autoround_quant 配置说明》](../../../api_reference/config/processor/autoround_quant.md) | | 264 | | autoround_quant 配置说明 | LAOS 第二阶段的 AutoRound 参数。 | [《autoround_quant 配置说明》](../../../api_reference/config/processor/autoround_quant.md) | |
| 265 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 265 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 266 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 266 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -191,5 +191,5 @@ msmodelslim quant \ | |||
| 191 | | --- | --- | --- | | 191 | | --- | --- | --- | |
| 192 | | `PipelineInterface` | 模型流水线接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 192 | | `PipelineInterface` | 模型流水线接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 193 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | | 193 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | |
| 194 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 194 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 195 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 195 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -116,5 +116,5 @@ MinMax 是首选基线的原因是变量最少。精度不够时应先定位:* | |||
| 116 | | 接口或文档 | 简述 | 链接 | | 116 | | 接口或文档 | 简述 | 链接 | |
| 117 | | --- | --- | --- | | 117 | | --- | --- | --- | |
| 118 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | | 118 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | |
| 119 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 119 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 120 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 120 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -159,5 +159,5 @@ msmodelslim analyze layer \ | |||
| 159 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | | 159 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | |
| 160 | | `MSEModelWiseAnalysisInterface` | 模型级 MSE 分析模型适配接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 160 | | `MSEModelWiseAnalysisInterface` | 模型级 MSE 分析模型适配接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 161 | | binary_operator_model_wise 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《binary_operator_model_wise 配置说明》](../../../api_reference/config/processor/binary_operator_model_wise.md) | | 161 | | binary_operator_model_wise 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《binary_operator_model_wise 配置说明》](../../../api_reference/config/processor/binary_operator_model_wise.md) | |
| 162 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 162 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 163 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 163 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -113,5 +113,5 @@ MSE-Round 的算法内部已经自动比较两种 exponent 舍入,因此用户 | |||
| 113 | | 接口或文档 | 简述 | 链接 | | 113 | | 接口或文档 | 简述 | 链接 | |
| 114 | | --- | --- | --- | | 114 | | --- | --- | --- | |
| 115 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | | 115 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | |
| 116 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 116 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 117 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 117 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -208,5 +208,5 @@ msmodelslim quant \ | |||
| 208 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | | 208 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | |
| 209 | | `OASQInterface` | OASQ 算法模型适配接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 209 | | `OASQInterface` | OASQ 算法模型适配接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 210 | | oasq 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《oasq 配置说明》](../../../api_reference/config/processor/oasq.md) | | 210 | | oasq 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《oasq 配置说明》](../../../api_reference/config/processor/oasq.md) | |
| 211 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 211 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 212 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 212 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -113,5 +113,5 @@ PDMIX 中激活四个字段基本是固定定义;真正可变的是它与哪 | |||
| 113 | | 接口或文档 | 简述 | 链接 | | 113 | | 接口或文档 | 简述 | 链接 | |
| 114 | | --- | --- | --- | | 114 | | --- | --- | --- | |
| 115 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | | 115 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | |
| 116 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 116 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 117 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 117 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -103,5 +103,5 @@ Quantile 比纯 max 更关注“极值相对主体区间有多异常”。它适 | |||
| 103 | | 接口或文档 | 简述 | 链接 | | 103 | | 接口或文档 | 简述 | 链接 | |
| 104 | | --- | --- | --- | | 104 | | --- | --- | --- | |
| 105 | | 敏感层分析使用指南 | 完整 CLI、输入输出和进阶流程。 | [《敏感层分析使用指南》](../../../user_guide/usage_sensitive_linear_analysis.md) | | 105 | | 敏感层分析使用指南 | 完整 CLI、输入输出和进阶流程。 | [《敏感层分析使用指南》](../../../user_guide/usage_sensitive_linear_analysis.md) | |
| 106 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 106 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 107 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 107 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -280,5 +280,5 @@ msmodelslim quant \ | |||
| 280 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | | 280 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | |
| 281 | | `QuaRotInterface` / `OnlineQuaRotInterface` / `LAOSOnlineRotationInterface` / `AdaptRotationInterface` | QuaRot 算法模型适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 281 | | `QuaRotInterface` / `OnlineQuaRotInterface` / `LAOSOnlineRotationInterface` / `AdaptRotationInterface` | QuaRot 算法模型适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 282 | | quarot 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《quarot 配置说明》](../../../api_reference/config/processor/quarot.md) | | 282 | | quarot 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《quarot 配置说明》](../../../api_reference/config/processor/quarot.md) | |
| 283 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 283 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 284 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 284 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -185,3 +185,5 @@ msmodelslim analyze attn_head \ | |||
| 185 | | --- | --- | --- | | 185 | | --- | --- | --- | |
| 186 | | `RaCompressAnalysisInterface` | RA Compress 分析模型适配接口(需实现 `get_proj_names` 与 `get_tokenizer`),由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 186 | | `RaCompressAnalysisInterface` | RA Compress 分析模型适配接口(需实现 `get_proj_names` 与 `get_tokenizer`),由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 187 | | unary_analysis 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《unary_analysis 配置说明》](../../../api_reference/config/processor/unary_analysis.md) | | 187 | | unary_analysis 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《unary_analysis 配置说明》](../../../api_reference/config/processor/unary_analysis.md) | |
| 188 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | | ||
| 189 | +| 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | ||
| @@ -188,5 +188,5 @@ msmodelslim quant \ | |||
| 188 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | | 188 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | |
| 189 | | `SmoothQuantInterface` | SmoothQuant 算法模型适配接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 189 | | `SmoothQuantInterface` | SmoothQuant 算法模型适配接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 190 | | smooth_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《smooth_quant 配置说明》](../../../api_reference/config/processor/smooth_quant.md) | | 190 | | smooth_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《smooth_quant 配置说明》](../../../api_reference/config/processor/smooth_quant.md) | |
| 191 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 191 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 192 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 192 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -109,5 +109,5 @@ SSZ 的核心自由度是位宽和 `step`;scope/symmetric/method 当前基本 | |||
| 109 | | 接口或文档 | 简述 | 链接 | | 109 | | 接口或文档 | 简述 | 链接 | |
| 110 | | --- | --- | --- | | 110 | | --- | --- | --- | |
| 111 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | | 111 | | linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《linear_quant 配置说明》](../../../api_reference/config/processor/linear_quant.md) | |
| 112 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 112 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 113 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 113 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -103,5 +103,5 @@ Std 成本低、解释直接,适合作为第一轮粗筛;对非常重尾的 | |||
| 103 | | 接口或文档 | 简述 | 链接 | | 103 | | 接口或文档 | 简述 | 链接 | |
| 104 | | --- | --- | --- | | 104 | | --- | --- | --- | |
| 105 | | 敏感层分析使用指南 | 完整 CLI、输入输出和进阶流程。 | [《敏感层分析使用指南》](../../../user_guide/usage_sensitive_linear_analysis.md) | | 105 | | 敏感层分析使用指南 | 完整 CLI、输入输出和进阶流程。 | [《敏感层分析使用指南》](../../../user_guide/usage_sensitive_linear_analysis.md) | |
| 106 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 106 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 107 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 107 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -167,5 +167,5 @@ msmodelslim quant \ | |||
| 167 | | `PipelineInterface` / `IterSmoothInterface` | 模型流水线与 SVDQuant 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 167 | | `PipelineInterface` / `IterSmoothInterface` | 模型流水线与 SVDQuant 算法适配接口,均由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 168 | | svd_res 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《svd_res 配置说明》](../../../api_reference/config/processor/svd_res.md) | | 168 | | svd_res 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《svd_res 配置说明》](../../../api_reference/config/processor/svd_res.md) | |
| 169 | | iter_smooth 配置说明 | 三阶段流水线中的其他处理器参数。 | [《iter_smooth 配置说明》](../../../api_reference/config/processor/iter_smooth.md) | | 169 | | iter_smooth 配置说明 | 三阶段流水线中的其他处理器参数。 | [《iter_smooth 配置说明》](../../../api_reference/config/processor/iter_smooth.md) | |
| 170 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 170 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 171 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 171 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -262,5 +262,5 @@ msmodelslim quant \ | |||
| 262 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | | 262 | | `PipelineInterface` | 模型流水线适配接口(数据预处理、模型加载、模块遍历)。 | [《LLM 量化使用指南·步骤 1》](../../ptq/llm/usage_large_language_model_quantization.md) | |
| 263 | | `TLQBlockDataInterface` | TLQ 块 I/O 模型适配接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | | 263 | | `TLQBlockDataInterface` | TLQ 块 I/O 模型适配接口,由 `msmodelslim.model.interface_hub` 汇总导出。 | [接口汇总模块](../../../../../msmodelslim/model/interface_hub.py) | |
| 264 | | trainable_linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《trainable_linear_quant 配置说明》](../../../api_reference/config/processor/trainable_linear_quant.md) | | 264 | | trainable_linear_quant 配置说明 | 字段类型、默认值、合法取值与完整配置约束。 | [《trainable_linear_quant 配置说明》](../../../api_reference/config/processor/trainable_linear_quant.md) | |
| 265 | -| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/task/modelslim_v1.md) | | 265 | +| modelslim_v1 配置说明 | 需要继续探索 runner、prior、save、dataset 等任务级高级配置时查阅。 | [《modelslim_v1 配置说明》](../../../api_reference/config/quant/modelslim_v1.md) | |
| 266 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | | 266 | | 权重量化使用指南 | 用户指南:量化命令参数与完整使用说明。 | [《权重量化使用指南》](https://gitcode.com/Ascend/msmodelslim/blob/master/docs/zh/user_guide/usage_weight_quantization.md) | |
| @@ -3,7 +3,7 @@ toc_depth: 3 | |||
| 3 | --- | 3 | --- |
| 4 | # 自动调优策略总览 | 4 | # 自动调优策略总览 |
| 5 | 5 | ||
| 6 | -msModelSlim 通过自动化策略搜索最优量化配置。下表总结了目前支持的调优策略及其主要特性。使用方法请参见《[自动调优使用指南](../../user_guide/usage_auto_precision_tuning.md)》,配置协议请参见《[自动调优配置协议说明](../../api_reference/config/auto_precision_tuning.md)》。 | 6 | +msModelSlim 通过自动化策略搜索最优量化配置。下表总结了目前支持的调优策略及其主要特性。使用方法请参见《[自动调优使用指南](../../user_guide/usage_auto_precision_tuning.md)》,配置协议请参见《[自动调优配置说明导航](../../api_reference/config/tuning/README.md)》。 |
| 7 | 7 | ||
| 8 | | 策略名称 | 核心思想 | 适用场景 | 详细说明 | | 8 | | 策略名称 | 核心思想 | 适用场景 | 详细说明 | |
| 9 | | :--- | :--- | :--- | :--- | | 9 | | :--- | :--- | :--- | :--- | |
| @@ -31,7 +31,7 @@ Standing High With Experience 的核心思想是**配置简化 + 专家经验填 | |||
| 31 | 31 | ||
| 32 | - 须实现 **`ModelSlimPipelineInterfaceV1`**(自动敏感层分析,委托 Standing High 执行)及 **`StandingHighWithExperienceInterface`**(仅 `load_model`,用于过滤当前模型不支持的离群值抑制策略)。 | 32 | - 须实现 **`ModelSlimPipelineInterfaceV1`**(自动敏感层分析,委托 Standing High 执行)及 **`StandingHighWithExperienceInterface`**(仅 `load_model`,用于过滤当前模型不支持的离群值抑制策略)。 |
| 33 | - 常见写法:模型适配器同时继承 **`StandingHighWithExperienceInterface`**(`load_model` 探测)与 **`ModelSlimPipelineInterfaceV1`**(敏感层分析与量化 pipeline)。 | 33 | - 常见写法:模型适配器同时继承 **`StandingHighWithExperienceInterface`**(`load_model` 探测)与 **`ModelSlimPipelineInterfaceV1`**(敏感层分析与量化 pipeline)。 |
| 34 | -- 敏感层分析不会在策略侧预先 `load_model`;详见《[自动调优配置协议说明](../../../api_reference/config/auto_precision_tuning.md#21-strategy---调优策略配置)》与《[LLM 大模型接入指南](../../ptq/llm/integration_guide_large_language_model_quantization.md)》。 | 34 | +- 敏感层分析不会在策略侧预先 `load_model`;详见《[自动调优配置说明导航](../../../api_reference/config/tuning/README.md)》与《[LLM 大模型接入指南](../../ptq/llm/integration_guide_large_language_model_quantization.md)》。 |
| 35 | 35 | ||
| 36 | ## 功能介绍 | 36 | ## 功能介绍 |
| 37 | 37 | ||
| @@ -109,7 +109,7 @@ msmodelslim tune --model_path ${MODEL_PATH} --save_path ${SAVE_PATH} --config ${ | |||
| 109 | |-------------------|-----------|-------------------|--------------------------------------------------------------------------------------| | 109 | |-------------------|-----------|-------------------|--------------------------------------------------------------------------------------| |
| 110 | | model_path | 模型路径 | 必选 | 类型:Str | | 110 | | model_path | 模型路径 | 必选 | 类型:Str | |
| 111 | | save_path | 调优结果保存路径 | 必选 | 类型:Str | | 111 | | save_path | 调优结果保存路径 | 必选 | 类型:Str | |
| 112 | -| config | 调优配置文件路径 | 必选 | 1. 类型:Str <br>2. 配置文件路径,必须为完整的文件路径 <br>3. 配置文件格式为 YAML,配置协议说明见 《[自动调优配置协议说明](usage_auto_precision_tuning.md)》,示例配置见各策略目录(如 《[Standing High 示例](../knowledge_base/tuning_strategies/standing_high/standing_high.yaml)》) | | 112 | +| config | 调优配置文件路径 | 必选 | 1. 类型:Str <br>2. 配置文件路径,必须为完整的文件路径 <br>3. 配置文件格式为 YAML,配置协议说明见 《[自动调优配置说明导航](../api_reference/config/tuning/README.md)》,示例配置见各策略目录(如 《[Standing High 示例](../knowledge_base/tuning_strategies/standing_high/standing_high.yaml)》) | |
| 113 | | device | 量化设备类型 | 可选 | 1. 类型:Str <br>2. 参考值:'npu','cpu' <br>3. 默认值为"npu"。多卡索引请配合 device_id 指定 | | 113 | | device | 量化设备类型 | 可选 | 1. 类型:Str <br>2. 参考值:'npu','cpu' <br>3. 默认值为"npu"。多卡索引请配合 device_id 指定 | |
| 114 | | device_id | 量化设备索引 | 可选 | 1. 类型:int列表,用空格分割,如:0 1 2 3 <br>2. 指定多个设备索引时(如:0 1 2 3),系统可启动分布式逐层量化(DP)。算法支持范围与配置方式详见《[一键量化使用说明](usage_quick_quantization.md#41-逐层量化及分布式逐层量化)》 | | 114 | | device_id | 量化设备索引 | 可选 | 1. 类型:int列表,用空格分割,如:0 1 2 3 <br>2. 指定多个设备索引时(如:0 1 2 3),系统可启动分布式逐层量化(DP)。算法支持范围与配置方式详见《[一键量化使用说明](usage_quick_quantization.md#41-逐层量化及分布式逐层量化)》 | |
| 115 | | model_type | 模型名称 | 可选 | 1. 类型:Str <br>2. 默认值为"default" <br>3. 大小写敏感,请参考《[大模型支持矩阵](../knowledge_base/model/README.md)》 | | 115 | | model_type | 模型名称 | 可选 | 1. 类型:Str <br>2. 默认值为"default" <br>3. 大小写敏感,请参考《[大模型支持矩阵](../knowledge_base/model/README.md)》 | |
| @@ -156,7 +156,7 @@ ${SAVE_PATH}/ | |||
| 156 | 156 | ||
| 157 | ### 4.1 相关资料 | 157 | ### 4.1 相关资料 |
| 158 | 158 | ||
| 159 | -- **配置协议**:调优配置文件的详细说明,可以参考 《[自动调优配置协议说明](usage_auto_precision_tuning.md)》。完整的配置文件示例见各策略目录,例如 《[Standing High 示例](../knowledge_base/tuning_strategies/standing_high/standing_high.yaml)》、《[Standing High With Experience 示例](../knowledge_base/tuning_strategies/standing_high_with_experience/standing_high_with_experience.yaml)》、《[Binary Fallback 示例](../knowledge_base/tuning_strategies/binary_fallback/binary_fallback.yaml)》。 | 159 | +- **配置协议**:调优配置文件的详细说明,可以参考 《[自动调优配置说明导航](../api_reference/config/tuning/README.md)》。完整的配置文件示例见各策略目录,例如 《[Standing High 示例](../knowledge_base/tuning_strategies/standing_high/standing_high.yaml)》、《[Standing High With Experience 示例](../knowledge_base/tuning_strategies/standing_high_with_experience/standing_high_with_experience.yaml)》、《[Binary Fallback 示例](../knowledge_base/tuning_strategies/binary_fallback/binary_fallback.yaml)》。 |
| 160 | - **调优算法**:策略总览见《[自动调优策略总览](../knowledge_base/tuning_strategies/README.md)》。各策略详情: | 160 | - **调优算法**:策略总览见《[自动调优策略总览](../knowledge_base/tuning_strategies/README.md)》。各策略详情: |
| 161 | - 《[Standing High 调优算法](../knowledge_base/tuning_strategies/standing_high/standing_high.md)》:基于量化回退层选择和离群值抑制策略的自动调优算法 | 161 | - 《[Standing High 调优算法](../knowledge_base/tuning_strategies/standing_high/standing_high.md)》:基于量化回退层选择和离群值抑制策略的自动调优算法 |
| 162 | - 《[Standing High With Experience 调优算法](../knowledge_base/tuning_strategies/standing_high_with_experience/standing_high_with_experience.md)》:基于专家经验的摸高算法策略 | 162 | - 《[Standing High With Experience 调优算法](../knowledge_base/tuning_strategies/standing_high_with_experience/standing_high_with_experience.md)》:基于专家经验的摸高算法策略 |
| @@ -1,4 +1,4 @@ | |||
| 1 | -# 组合处理器 (Group Processor) | 1 | +# 组合处理器 (Group Processor) |
| 2 | 2 | ||
| 3 | ## 1. 简介 | 3 | ## 1. 简介 |
| 4 | 4 | ||
| @@ -8,7 +8,7 @@ | |||
| 8 | 8 | ||
| 9 | ## 2. 使用前准备 | 9 | ## 2. 使用前准备 |
| 10 | 10 | ||
| 11 | -安装 msModelSlim 工具,详情请参见《[msModelSlim工具安装指南](../../install_guide/install_guide.md)》。 | 11 | +安装 msModelSlim 工具,详情请参见《[msModelSlim工具安装指南](../install_guide/install_guide.md)》。 |
| 12 | 12 | ||
| 13 | ## 3. 原理和实现 | 13 | ## 3. 原理和实现 |
| 14 | 14 | ||
| @@ -28,7 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | ### 3.2 实现 | 29 | ### 3.2 实现 |
| 30 | 30 | ||
| 31 | -组合处理器在 [msmodelslim/processor/container/group.py](../../../../msmodelslim/processor/container/group.py) 中实现。它作为一个容器,顺序调度其 `configs` 列表中的子处理器。 | 31 | +组合处理器在 [msmodelslim/processor/container/group.py](../../../msmodelslim/processor/container/group.py) 中实现。它作为一个容器,顺序调度其 `configs` 列表中的子处理器。 |
| 32 | 32 | ||
| 33 | ## 4. 功能介绍 | 33 | ## 4. 功能介绍 |
| 34 | 34 | ||
| @@ -43,6 +43,7 @@ | |||
| 43 | 以下示例展示了如何使用组合处理器实现 **W8A8 静态+动态混合量化**: | 43 | 以下示例展示了如何使用组合处理器实现 **W8A8 静态+动态混合量化**: |
| 44 | 44 | ||
| 45 | ```yaml | 45 | ```yaml |
| 46 | +apiversion: modelslim_v1 | ||
| 46 | # 1. 定义静态量化模板 (Anchor) | 47 | # 1. 定义静态量化模板 (Anchor) |
| 47 | default_w8a8_static: &w8a8_static | 48 | default_w8a8_static: &w8a8_static |
| 48 | act: | 49 | act: |
| @@ -83,12 +84,9 @@ spec: | |||
| 83 | exclude: ["*gate*"] # 排除门控层进行更精细控制 | 84 | exclude: ["*gate*"] # 排除门控层进行更精细控制 |
| 84 | ``` | 85 | ``` |
| 85 | 86 | ||
| 86 | -### 4.3 YAML配置字段详解 | 87 | +### 4.3 YAML 配置字段 |
| 87 | 88 | ||
| 88 | -| 字段名 | 作用 | 类型 | 说明 | | 89 | +`group` 处理器的字段定义(`type`、`configs`)与取值范围以配置文档为准,见《[group 配置说明](../api_reference/config/processor/group.md)》的「参数列表」与「完整配置参考」。各子处理器的字段与其独立使用时完全一致,按 `type` 查阅对应配置文档即可。 |
| 89 | -|--------|------|------|------| | ||
| 90 | -| type | 处理器类型标识 | `string` | 固定值 `"group"`。 | | ||
| 91 | -| configs | 子处理器配置列表 | `list[object]` | 包含多个子处理器的配置。每个子处理器的字段(如 `type`, `qconfig`, `include`)与其独立使用时一致。 | | ||
| 92 | 90 | ||
| 93 | ## 5. FAQ | 91 | ## 5. FAQ |
| 94 | 92 | ||
| @@ -352,7 +352,7 @@ modelslim_v1是量化工具推出的新一代量化处理框架,目前正在 | |||
| 352 | | QuaRot | 离群值抑制 | [QuaRot 使用指南](../knowledge_base/quantization_algorithms/quarot/usage_quarot.md) | | 352 | | QuaRot | 离群值抑制 | [QuaRot 使用指南](../knowledge_base/quantization_algorithms/quarot/usage_quarot.md) | |
| 353 | | Adapt Rotation | 离群值抑制 | [Adapt Rotation 使用指南](../knowledge_base/quantization_algorithms/adapt_rotation/usage_adapt_rotation.md) | | 353 | | Adapt Rotation | 离群值抑制 | [Adapt Rotation 使用指南](../knowledge_base/quantization_algorithms/adapt_rotation/usage_adapt_rotation.md) | |
| 354 | | linear_quant | 量化 | [线性量化使用指南](../knowledge_base/quantization_algorithms/linear_quant/usage_linear_quant.md) | | 354 | | linear_quant | 量化 | [线性量化使用指南](../knowledge_base/quantization_algorithms/linear_quant/usage_linear_quant.md) | |
| 355 | -| group | 量化 | [group 使用指南](../api_reference/config/processor_group.md) | | 355 | +| group | 量化 | [group 使用指南](usage_processor_group.md) | |
| 356 | | KVCache Quant | 量化 | [KVCache Quant 使用指南](../knowledge_base/quantization_algorithms/kvcache_quant/usage_kvcache_quant.md) | | 356 | | KVCache Quant | 量化 | [KVCache Quant 使用指南](../knowledge_base/quantization_algorithms/kvcache_quant/usage_kvcache_quant.md) | |
| 357 | | FA3 Quant | 量化 | [FA3 Quant 使用指南](../knowledge_base/quantization_algorithms/fa3_quant/usage_fa3_quant.md) | | 357 | | FA3 Quant | 量化 | [FA3 Quant 使用指南](../knowledge_base/quantization_algorithms/fa3_quant/usage_fa3_quant.md) | |
| 358 | | Float Sparse | 量化 | [Float Sparse 使用指南](../knowledge_base/quantization_algorithms/float_sparse/usage_float_sparse.md) | | 358 | | Float Sparse | 量化 | [Float Sparse 使用指南](../knowledge_base/quantization_algorithms/float_sparse/usage_float_sparse.md) | |
| @@ -171,9 +171,9 @@ msmodelslim quant \ | |||
| 171 | 171 | ||
| 172 | | 模型类别 | 配置协议 | 权威说明 | | 172 | | 模型类别 | 配置协议 | 权威说明 | |
| 173 | | --- | --- | --- | | 173 | | --- | --- | --- | |
| 174 | - | 大语言模型 | `modelslim_v1` | 《[modelslim_v1 配置说明](../api_reference/config/task/modelslim_v1.md)》 | | 174 | + | 大语言模型 | `modelslim_v1` | 《[modelslim_v1 配置说明](../api_reference/config/quant/modelslim_v1.md)》 | |
| 175 | - | 多模态理解 | `multimodal_vlm_modelslim_v1` | 《[multimodal_vlm_modelslim_v1 配置说明](../api_reference/config/task/multimodal_vlm_modelslim_v1.md)》 | | 175 | + | 多模态理解 | `multimodal_vlm_modelslim_v1` | 《[multimodal_vlm_modelslim_v1 配置说明](../api_reference/config/quant/multimodal_vlm_modelslim_v1.md)》 | |
| 176 | - | 多模态生成 | `multimodal_sd_modelslim_v1` | 《[multimodal_sd_modelslim_v1 配置说明](../api_reference/config/task/multimodal_sd_modelslim_v1.md)》 | | 176 | + | 多模态生成 | `multimodal_sd_modelslim_v1` | 《[multimodal_sd_modelslim_v1 配置说明](../api_reference/config/quant/multimodal_sd_modelslim_v1.md)》 | |
| 177 | 177 | ||
| 178 | **输出**:量化配置 YAML 文件 `${CONFIG_PATH}`。 | 178 | **输出**:量化配置 YAML 文件 `${CONFIG_PATH}`。 |
| 179 | 179 | ||
| @@ -289,9 +289,9 @@ msmodelslim quant \ | |||
| 289 | | 接口或能力 | 简述 | 链接 | | 289 | | 接口或能力 | 简述 | 链接 | |
| 290 | | --- | --- | --- | | 290 | | --- | --- | --- | |
| 291 | | `msmodelslim quant` | 权重量化统一命令行入口 | 《[msmodelslim quant 命令行 API](../api_reference/cli/msmodelslim_quant.md)》 | | 291 | | `msmodelslim quant` | 权重量化统一命令行入口 | 《[msmodelslim quant 命令行 API](../api_reference/cli/msmodelslim_quant.md)》 | |
| 292 | -| `modelslim_v1` | 大语言模型量化配置协议 | 《[modelslim_v1 配置说明](../api_reference/config/task/modelslim_v1.md)》 | | 292 | +| `modelslim_v1` | 大语言模型量化配置协议 | 《[modelslim_v1 配置说明](../api_reference/config/quant/modelslim_v1.md)》 | |
| 293 | -| `multimodal_vlm_modelslim_v1` | 多模态理解模型量化配置协议 | 《[multimodal_vlm_modelslim_v1 配置说明](../api_reference/config/task/multimodal_vlm_modelslim_v1.md)》 | | 293 | +| `multimodal_vlm_modelslim_v1` | 多模态理解模型量化配置协议 | 《[multimodal_vlm_modelslim_v1 配置说明](../api_reference/config/quant/multimodal_vlm_modelslim_v1.md)》 | |
| 294 | -| `multimodal_sd_modelslim_v1` | 多模态生成模型量化配置协议 | 《[multimodal_sd_modelslim_v1 配置说明](../api_reference/config/task/multimodal_sd_modelslim_v1.md)》 | | 294 | +| `multimodal_sd_modelslim_v1` | 多模态生成模型量化配置协议 | 《[multimodal_sd_modelslim_v1 配置说明](../api_reference/config/quant/multimodal_sd_modelslim_v1.md)》 | |
| 295 | 295 | ||
| 296 | ## 11. 安全说明 | 296 | ## 11. 安全说明 |
| 297 | 297 | ||
| @@ -67,14 +67,14 @@ nav: | |||
| 67 | - 一键量化 (V1): | 67 | - 一键量化 (V1): |
| 68 | - 使用指南: "zh/user_guide/usage_quick_quantization.md" | 68 | - 使用指南: "zh/user_guide/usage_quick_quantization.md" |
| 69 | - 调试模式: "zh/user_guide/usage_debug_mode.md" | 69 | - 调试模式: "zh/user_guide/usage_debug_mode.md" |
| 70 | - - 组合处理器: "zh/api_reference/config/processor_group.md" | 70 | + - 组合处理器: "zh/user_guide/usage_processor_group.md" |
| 71 | - 敏感层分析: | 71 | - 敏感层分析: |
| 72 | - 线性层敏感层分析: "zh/user_guide/usage_sensitive_linear_analysis.md" | 72 | - 线性层敏感层分析: "zh/user_guide/usage_sensitive_linear_analysis.md" |
| 73 | - 层级敏感层分析: "zh/user_guide/usage_sensitive_layer_analysis.md" | 73 | - 层级敏感层分析: "zh/user_guide/usage_sensitive_layer_analysis.md" |
| 74 | - Attention 敏感层分析: "zh/user_guide/usage_sensitive_attn_analysis.md" | 74 | - Attention 敏感层分析: "zh/user_guide/usage_sensitive_attn_analysis.md" |
| 75 | - 自动调优策略: | 75 | - 自动调优策略: |
| 76 | - 使用指南: "zh/user_guide/usage_auto_precision_tuning.md" | 76 | - 使用指南: "zh/user_guide/usage_auto_precision_tuning.md" |
| 77 | - - 配置协议详解: "zh/api_reference/config/auto_precision_tuning.md" | 77 | + - 配置协议详解: "zh/api_reference/config/tuning/README.md" |
| 78 | - V0框架与传统模型(已停止演进): | 78 | - V0框架与传统模型(已停止演进): |
| 79 | - 概览: "zh/user_guide/traditional_quantization_v0/README.md" | 79 | - 概览: "zh/user_guide/traditional_quantization_v0/README.md" |
| 80 | - 传统模型量化与校准: "zh/user_guide/traditional_quantization_v0/traditional_model_quantization_and_calibration.md" | 80 | - 传统模型量化与校准: "zh/user_guide/traditional_quantization_v0/traditional_model_quantization_and_calibration.md" |
| @@ -8,7 +8,7 @@ | |||
| 8 | 8 | ||
| 9 | ## 量化配置(模板 04) | 9 | ## 量化配置(模板 04) |
| 10 | 10 | ||
| 11 | -从 Pydantic `model_json_schema()` 生成 `docs/zh/api_reference/config/`,并按类型放入 `task/`、`processor/`、`format/`、`tuning/` 等子目录。服务规格(spec)不再单独成页,而是随对应 task 页展开。字段类型、枚举、边界以 JSON Schema 为准。 | 11 | +从 Pydantic `model_json_schema()` 生成 `docs/zh/api_reference/config/`,并按类型放入 `quant/`、`processor/`、`format/`、`tuning/` 等子目录。服务规格(spec)不再单独成页,而是随对应任务(quant)页展开。字段类型、枚举、边界以 JSON Schema 为准。 |
| 12 | 12 | ||
| 13 | 日常重新生成使用驱动脚本(默认目标 + 展开嵌套 + 清理过期文档): | 13 | 日常重新生成使用驱动脚本(默认目标 + 展开嵌套 + 清理过期文档): |
| 14 | 14 | ||
| @@ -37,13 +37,14 @@ python3 skills/docs-management/scripts/gen_quant_config_docs.py --check | |||
| 37 | 生成规则: | 37 | 生成规则: |
| 38 | 38 | ||
| 39 | - 每个对外 Pydantic 配置类生成一份 Markdown;`type` 以 `_` 开头的内部配置不生成。 | 39 | - 每个对外 Pydantic 配置类生成一份 Markdown;`type` 以 `_` 开头的内部配置不生成。 |
| 40 | -- 文档按类型子目录组织:任务配置 `task/`、处理器 `processor/`、保存格式 `format/`、自动调优 `tuning/`;服务规格随 task 页展开,不单独生成 `spec/` 页面。 | 40 | +- 文档按类型子目录组织:任务配置 `quant/`、处理器 `processor/`、保存格式 `format/`、自动调优 `tuning/`;服务规格随任务页展开,不单独生成 `spec/` 页面。 |
| 41 | - 参数表「字段路径」为相对当前配置的字段名;子标题不显示 YAML 路径后缀。 | 41 | - 参数表「字段路径」为相对当前配置的字段名;子标题不显示 YAML 路径后缀。 |
| 42 | -- 参数列表按配置类名分块组织,块标题带可见编号(如 `<h3 id="2-1-...">2.1类名</h3>`、`<h4 id="...">2.x 派生类名</h4>`);每个块含自身参数表与「配置约束」子项;嵌套配置(含 task 的 spec)展开进对应子块;嵌套块若类 docstring 首段非空,标题后先输出该句类概述。 | 42 | +- 参数列表按配置类名分块组织,块标题带可见编号(如 `<h3 id="2-1-...">2.1类名</h3>`、`<h4 id="...">2.x 派生类名</h4>`);每个块含自身参数表与「配置约束」子项;嵌套配置(含任务页的 spec)展开进对应子块;嵌套块若类 docstring 首段非空,标题后先输出该句类概述。 |
| 43 | -- `PracticeConfig`(`BaseQuantConfig` 子类,含 `metadata` → `Metadata`)作为任务基类配置独立成 `task/practice_config.md` 页,被调优策略引用时链接到该页。 | 43 | +- `PracticeConfig`(`BaseQuantConfig` 子类,含 `metadata` → `Metadata`)作为任务基类配置独立成 `quant/practice_config.md` 页,被调优策略引用时链接到该页。 |
| 44 | -- type/mode 分派字段(`process`、`save`、`strategy`、`evaluation`、`select_best`、`operations`、`preprocess` 等)渲染为基础类块(`<h3 id="…">基础类名(按 type 分派)</h3>`,含基础类参数表与「派生类」列表)+ 各派生类 `<h4 id="…">` 子块;同一页面同一基础类只渲染一次,分派字段的「引用配置」列统一指向基础类块锚点。 | 44 | +- type/mode 分派字段(`process`、`save`、`strategy`、`evaluation`、`select_best`、`operations`、`preprocess` 等)渲染为基础类块(`<h3 id="…">基础类名(按 type 分派)</h3>`,含基础类参数表与「派生类」表格)+ 各派生类 `<h4 id="…">` 子块;同一页面同一基础类只渲染一次,分派字段的「引用配置」列统一指向基础类块锚点。 |
| 45 | - 配置块标题与页内跳转统一用 HTML 标签(`<h3 id>` / `<h4 id>` / `<a href="#…">`),不使用 Markdown 的 `{#anchor}` 属性语法。 | 45 | - 配置块标题与页内跳转统一用 HTML 标签(`<h3 id>` / `<h4 id>` / `<a href="#…">`),不使用 Markdown 的 `{#anchor}` 属性语法。 |
| 46 | -- 不再生成 `config/README.md` 索引页。 | 46 | +- 配置块标题的可见编号与标题层级一致:页根 `<h3>` 为 `2.1`;直接挂在页根下的嵌套/分派块与页根同级续号(`2.2`、`2.3`…),再往下的子块编号为 `<父编号>.<序号>`(如 `2.2.1`),**最多 3 段**(`2.x.y`,对应最大 `<h4>`);若再深则提升为祖父同级续号,避免出现 `2.2.1.1` / `<h5>` 及更深层。 |
| 47 | +- 手写页 `README.md`(配置说明导航)不参与生成与清理;不再生成 `config/README.md` 的正文内容。 | ||
| 47 | - 文件名优先使用公开 `type`(如 `linear_quant.md`),否则使用类名的 snake_case。 | 48 | - 文件名优先使用公开 `type`(如 `linear_quant.md`),否则使用类名的 snake_case。 |
| 48 | - 顶层任务配置保留稳定文件名:`modelslim_v1.md`、`multimodal_vlm_modelslim_v1.md`、`multimodal_sd_modelslim_v1.md`、`modelslim_convert.md`、`practice_config.md`。 | 49 | - 顶层任务配置保留稳定文件名:`modelslim_v1.md`、`multimodal_vlm_modelslim_v1.md`、`multimodal_sd_modelslim_v1.md`、`modelslim_convert.md`、`practice_config.md`。 |
| 49 | - 手写文档 `processor_group.md`、`auto_precision_tuning.md` 不会被覆盖。 | 50 | - 手写文档 `processor_group.md`、`auto_precision_tuning.md` 不会被覆盖。 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # linear_quant 参数参考 | 1 | # linear_quant 参数参考 |
| 2 | 2 | ||
| 3 | -`linear_quant` 处理器的**完整字段 schema、类型与取值以 docs 为准**:《[linear_quant 处理器配置](../../../docs/zh/api_reference/config/processor/linear_quant.md)》、《[modelslim_v1 任务规格](../../../docs/zh/api_reference/config/task/modelslim_v1.md)》。本文只保留 Practice YAML 编写时的常用建议。 | 3 | +`linear_quant` 处理器的**完整字段 schema、类型与取值以 docs 为准**:《[linear_quant 处理器配置](../../../docs/zh/api_reference/config/processor/linear_quant.md)》、《[modelslim_v1 任务规格](../../../docs/zh/api_reference/config/quant/modelslim_v1.md)》。本文只保留 Practice YAML 编写时的常用建议。 |
| 4 | 4 | ||
| 5 | ## 常用取值速查(非权威,取值集合以 docs 为准) | 5 | ## 常用取值速查(非权威,取值集合以 docs 为准) |
| 6 | 6 | ||
| @@ -6,12 +6,12 @@ Practice YAML 的完整字段 schema、处理器类型、QConfig 取值与保存 | |||
| 6 | 6 | ||
| 7 | | 内容 | docs 位置 | | 7 | | 内容 | docs 位置 | |
| 8 | |------|-----------| | 8 | |------|-----------| |
| 9 | -| 配置类与字段总览(`PracticeConfig` / `metadata`) | 《[PracticeConfig 配置说明](../../../docs/zh/api_reference/config/task/practice_config.md)》 | | 9 | +| 配置类与字段总览(`PracticeConfig` / `metadata`) | 《[PracticeConfig 配置说明](../../../docs/zh/api_reference/config/quant/practice_config.md)》 | |
| 10 | -| 任务规格 `spec`(按 `apiversion`) | 《[modelslim_v1](../../../docs/zh/api_reference/config/task/modelslim_v1.md)》、《[multimodal_vlm_modelslim_v1](../../../docs/zh/api_reference/config/task/multimodal_vlm_modelslim_v1.md)》、《[multimodal_sd_modelslim_v1](../../../docs/zh/api_reference/config/task/multimodal_sd_modelslim_v1.md)》 | | 10 | +| 任务规格 `spec`(按 `apiversion`) | 《[modelslim_v1](../../../docs/zh/api_reference/config/quant/modelslim_v1.md)》、《[multimodal_vlm_modelslim_v1](../../../docs/zh/api_reference/config/quant/multimodal_vlm_modelslim_v1.md)》、《[multimodal_sd_modelslim_v1](../../../docs/zh/api_reference/config/quant/multimodal_sd_modelslim_v1.md)》 | |
| 11 | | 处理器类型(`linear_quant` / `flex_smooth_quant` / `iter_smooth` / `flex_awq_ssz` / `quarot` 等) | 《[config/processor/ 目录](../../../docs/zh/api_reference/config/processor/)》 | | 11 | | 处理器类型(`linear_quant` / `flex_smooth_quant` / `iter_smooth` / `flex_awq_ssz` / `quarot` 等) | 《[config/processor/ 目录](../../../docs/zh/api_reference/config/processor/)》 | |
| 12 | | QConfig 字段取值(`dtype` / `scope` / `symmetric` / `method` / `ext`) | 《[linear_quant](../../../docs/zh/api_reference/config/processor/linear_quant.md)》 等 | | 12 | | QConfig 字段取值(`dtype` / `scope` / `symmetric` / `method` / `ext`) | 《[linear_quant](../../../docs/zh/api_reference/config/processor/linear_quant.md)》 等 | |
| 13 | | 保存配置(`ascendv1_saver`) | 《[ascendv1_saver](../../../docs/zh/api_reference/config/format/ascendv1_saver.md)》 | | 13 | | 保存配置(`ascendv1_saver`) | 《[ascendv1_saver](../../../docs/zh/api_reference/config/format/ascendv1_saver.md)》 | |
| 14 | -| 完整配置示例与协议详解 | 《[权重量化使用指南](../../../docs/zh/user_guide/usage_weight_quantization.md)》、《[modelslim_v1](../../../docs/zh/api_reference/config/task/modelslim_v1.md)》、《[multimodal_vlm_modelslim_v1](../../../docs/zh/api_reference/config/task/multimodal_vlm_modelslim_v1.md)》、《[multimodal_sd_modelslim_v1](../../../docs/zh/api_reference/config/task/multimodal_sd_modelslim_v1.md)》 | | 14 | +| 完整配置示例与协议详解 | 《[权重量化使用指南](../../../docs/zh/user_guide/usage_weight_quantization.md)》、《[modelslim_v1](../../../docs/zh/api_reference/config/quant/modelslim_v1.md)》、《[multimodal_vlm_modelslim_v1](../../../docs/zh/api_reference/config/quant/multimodal_vlm_modelslim_v1.md)》、《[multimodal_sd_modelslim_v1](../../../docs/zh/api_reference/config/quant/multimodal_sd_modelslim_v1.md)》 | |
| 15 | 15 | ||
| 16 | ## 调优闭环特有约束 | 16 | ## 调优闭环特有约束 |
| 17 | 17 | ||