已合并
【msmodelslim】【Doc】【bugfix】修正format资料issue #877
【msmodelslim】【Doc】【bugfix】修正format资料issue #877
已合并
anreywmh创建于 12 天前
8 个文件变更+471-430
@@ -1,58 +1,63 @@
1-# 量化格式1+# 量化格式 量化术语百科词条
2- 2+ 
3-> **词条类别**:量化数据格式3+> **词条类别**:量化数据格式<br>
4->4+> **英文名称**:Quantization Format<br>
5-> **英文名称**:Quantization Format5+> **应用领域**:大语言模型量化压缩、多模态理解与生成模型量化压缩、推理框架权重加载<br>
6->6+> **msModelSlim 实现**:[`msmodelslim/format/`](../../../../msmodelslim/format/)
7-> **应用领域**:大语言模型量化压缩、多模态理解与生成模型量化压缩、推理框架权重加载7+ 
8->8+---
9-> **msModelSlim 实现**:`msmodelslim/format/`9+ 
10- 10+## 1. 概述
11-## 1. 概述11+ 
12- 12+[量化格式 量化术语百科词条](./README.md)是量化工具与推理框架之间的**落盘与加载协议**:它规定量化权重的文件结构、张量命名与元数据组织方式,使目标推理引擎能正确反量化并完成推理。它解决算法产出的量化参数如何被下游部署消费的问题。
13-[量化格式](./README.md)是量化工具与推理框架之间的**落盘与加载协议**:它规定量化权重的文件结构、张量命名与元数据组织方式,使目标推理引擎能正确反量化并完成推理。它解决算法产出的量化参数如何被下游部署消费的问题。13+ 
14- 14+---
15-## 2. 词条介绍15+ 
16- 16+## 2. 词条介绍
17-### 2.1 格式地图17+ 
18- 18+### 2.1 格式地图
19-地图用于**选型与导航**:先按目标推理栈与模型类型选定格式,再进入对应词条核对模式 / 交付件,或进入使用指南完成确认模式支持、配置与执行。特定场景以各格式词条与使用指南为准,本表不展开。19+ 
20- 20+地图用于**选型与导航**:先按目标推理栈与模型类型选定格式,再进入对应词条核对模式 / 交付件,或进入使用指南完成确认模式支持、配置与执行。特定场景以各格式词条与使用指南为准,本表不展开。
21-| 格式 | 典型适用场景 | 目标推理框架 | 模式概要与推荐 | 分布式导出 | 词条 | 使用指南 |21+ 
22-| --- | --- | --- | --- | --- | --- | --- |22+| 格式 | 典型适用场景 | 目标推理框架 | 模式概要与推荐 | 分布式导出 | 词条 | 使用指南 |
23-| AscendV1 | 昇腾侧 LLM / 多模态理解等通用部署 | vLLM Ascend、SGLang、MindIE | 覆盖 W8A8 / W8A16 / W4A4 / MXFP / KV Cache / FA 等 20+;**910 系推荐优先 W8A8(静/动)**,显存更紧时再选 W4;**950 系推荐优先 MXFP(W8A8_MXFP8 / W4A4_MXFP4 等)** | 支持 | 《[AscendV1](ascendv1/term_ascendv1.md)》 | 《[AscendV1 使用指南](ascendv1/ascendv1_usage.md)》 |23+| --- | --- | --- | --- | --- | --- | --- |
24-| compressed-tensors | 量化权重要在 vLLMHF 生态框架中加载,或需要与 compressed-tensors 规范的 `quantization_config` 对齐 | vLLM HF 生态 | 当前仅 **W8A8 Static / W8A8 Dynamic**;激活 scale 已离线校准选 Static,需免校准或适应态输入Dynamic不支持 KV Cache | 支持 | 《[compressed-tensors](compressed_tensors/term_compressed_tensors.md)》 | 《[compressed-tensors 使用指南](compressed_tensors/compressed_tensors_usage.md)》 |24+| AscendV1 | 昇腾侧 LLM / 多模态理解通用部署 | vLLM Ascend、SGLang、MindIE | 覆盖 W8A8 / W8A16 / W4A4 / MXFP / KV Cache / FA 等 20+;**昇腾A2系列产品 / 昇腾A3系列产品推荐优先 W8A8(静/)**,显存更紧时再W4**昇腾950PR&950DT系列产品推荐优先 MXFP(W8A8_MXFP8 / W4A4_MXFP4 等)** | 支持 | 《[AscendV1 量化格式 量化术语百科词条](ascendv1/term_ascendv1.md)》 | 《[AscendV1 使用指南](ascendv1/ascendv1_usage.md)》 |
25-| MindIE-SD | 扩散 / DiT 多模态**成**模型交付 MindIE | MindIE(多模态成) | 面向生成流水线的枚举子集(含 W8A8、MXFP、FAQuant 等);**推荐按模型最佳实践 `quant_type`择**勿套用 LLM 默认 AscendV1 路径 | 支持 | 《[MindIE-SD](mindie_sd/term_mindie_sd.md)》 | 《[MindIE-SD 使用指南](mindie_sd/mindie_sd_usage.md)》 |25+| compressed-tensors | 量化权重要在 vLLM HF 态框架中加载,或需要与 compressed-tensors 规范的 `quantization_config` 对齐 | vLLM 等 HF | 当前仅 **W8A8 Static / W8A8 Dynamic**;激活 scale 已离线校准 Static需免校准或适应动态输入选 Dynamic;不支持 KV Cache | 支持 | 《[compressed-tensors 量化格式 量化术语百科词条](compressed_tensors/term_compressed_tensors.md)》 | 《[compressed-tensors 使用指南](compressed_tensors/compressed_tensors_usage.md)》 |
26- 26+| MindIE-SD | 扩散 / DiT 等多模态**生成**模型交付 MindIE | MindIE(多模态生成) | 面向生成流水线的枚举子集(含 W8A8、MXFP、FAQuant 等);**推荐按模型最佳实践 `quant_type` 选择**,勿套用 LLM 默认 AscendV1 路径 | 支持 | 《[MindIE-SD 量化格式 量化术语百科词条](mindie_sd/term_mindie_sd.md)》 | 《[MindIE-SD 使用指南](mindie_sd/mindie_sd_usage.md)》 |
27-#### 三种格式如何区分27+ 
28- 28+---
29-| 维度 | AscendV1 | compressed-tensors | MindIE-SD |29+ 
30-| --- | --- | --- | --- |30+## 3. 三种格式如何区分
31-| 定位 | 昇腾推理默认量化落盘协议 | HF 生态兼容的量化格式 | 多模态生成专用 MindIE 落盘协议 |31+ 
32-| 模型面 | 大语言模型和多模态理解模型 | 线性层量化、HF 风格权重 | 扩散 / DiT 等生成模型(如 Wan2.2) |32+| 维度 | AscendV1 | compressed-tensors | MindIE-SD |
33-| 元数据形态 | 独立 `quant_model_description.json` + `quant_model_weights*.safetensors` | 注入 `config.json` 的 `quantization_config` + `model*.safetensors` | `quant_model_description*.json` + `quant_model_weight*.safetensors`(权重文件名为单数 weight) |33+| --- | --- | --- | --- |
34-| 保存器 `type` | `ascendv1_saver` | `compressed_tensors` | `mindie_format_saver` |34+| 定位 | 昇腾推理默认量化落盘协议 | HF 生态兼容的量化格式 | 多模态生成专用 MindIE 落盘协议 |
35-| 核心优势 | 描述 JSON 粒度最细:逐层标注量化类型,支持混合量化(同模型不同层可用不同式);式枚举最全,覆盖 20+ 量化组合 | 与 HF `from_pretrained` / vLLM 自动检测路径天然兼容,无需额外安装 `compressed-tensors` 包,零门槛接入 HF 生态 | MindIE 多模态生成流水线深度对齐,支持 `fa_quant_type` 等生成场景专属元数据,`dump_config` 可捕获校准数据 |35+| 模型面 | 大语言模型和多态理解 | 线性层量化HF 风格权重 | 扩散 / DiT 等生成模型(如 Wan2.2) |
36- 36+| 元数据形态 | 独立 `quant_model_description.json` + `quant_model_weights*.safetensors` | 注入 `config.json` 的 `quantization_config` + `model*.safetensors` | `quant_model_description*.json` + `quant_model_weight*.safetensors`(权重文件名为单数 weight) |
37-三者**不可互换加载**:换推理栈或换模型品类通常需重新导出。模式枚举、字段级交付件与限制见上表词条;配置与执行步骤见对应使用指南。37+| 保存器 `type` | `ascendv1_saver` | `compressed_tensors` | `mindie_format_saver` |
38- 38+| 核心优势 | 描述 JSON 粒度最细:逐层标注量化类型,支持混合量化(同模型不同层可用不同模式);模式枚举最全,覆盖 20+ 量化组合 | 与 HF `from_pretrained` / vLLM 自动检测路径天然兼容,无需额外安装 `compressed-tensors` 包,零门槛接入 HF 生态 | 与 MindIE 多模态生成流水线深度对齐,支持 `fa_quant_type` 等生成场景专属元数据,`dump_config` 可捕获校准数据 |
39-接入新格式请遵循《[量化格式接入指南](iformat_integration_guide.md)》及《[msModelSlim 资料规范](../../contributing/development_guide/docs_standards/README.md)》。39+ 
40- 40+三者**不可互换加载**:换推理栈或换模型品类通常需重新导出。模式枚举、字段级别交付件与限制见上表词条;配置与执行步骤见对应使用指南。
41-## 3. 关联流程41+ 
42- 42+接入新格式请遵循《[量化格式接入指南](iformat_integration_guide.md)》及《[msModelSlim 资料规范](../../contributing/development_guide/docs_standards/README.md)》。
43-| 流程 | 说明 |43+ 
44-| --- | --- |44+---
45-| 《[量化格式接入指南](iformat_integration_guide.md)》 | 基于 IFormat 接入新落盘格式 |45+ 
46-| 《[AscendV1 使用指南](ascendv1/ascendv1_usage.md)》 | AscendV1 确认模式支持、配置与执行 |46+## 4. 关联流程
47-| 《[compressed-tensors 使用指南](compressed_tensors/compressed_tensors_usage.md)》 | compressed-tensors 确认模式支持、配置与执行 |47+ 
48-| 《[MindIE-SD 使用指南](mindie_sd/mindie_sd_usage.md)》 | MindIE-SD 确认模支持、配置与执行 |48+- 《[量化格式接入指南](iformat_integration_guide.md)》:基于 IFormat 接入新落盘格
49-| 《[一键量化使用指南](../../user_guide/usage_quick_quantization.md)》 | `spec.save` 命令总览 |49+- 《[AscendV1 使用指南](ascendv1/ascendv1_usage.md)》:AscendV1 确认模式支持、配置
50- 50+- 《[compressed-tensors 使用指南](compressed_tensors/compressed_tensors_usage.md)》:compressed-tensors 确认模式支持、配置与执行。
51-## 4. 关联词条51+- 《[MindIE-SD 使用指南](mindie_sd/mindie_sd_usage.md)》:MindIE-SD 确认模式支持、配置与执行。
52- 52+- 《[一键量化使用指南](../../user_guide/usage_quick_quantization.md)》:一键量化命令与配置协议总览。
53-- [AscendV1](ascendv1/term_ascendv1.md):下位概念,昇腾侧默认量化落盘格式。53+ 
54-- [compressed-tensors](compressed_tensors/term_compressed_tensors.md):下位概念,HuggingFace / vLLM 生态兼容的量化落盘格式。54+---
55-- [MindIE-SD](mindie_sd/term_mindie_sd.md):下位概念,多模态生成场景的 MindIE 落盘格式。55+ 
56-- [量化算法](../quantization_algorithms/README.md):其他,量化计算与校准侧算法族,产出由本格式落盘。56+## 5. 关联词条
57-- [量化模式](../quantization_mode/README.md):配套术语,格式枚举与交付件字段对应各量化模式。57+ 
58-- [大模型支持矩阵](../model/README.md):其他模型 × 模 × 推理栈的选型与验证口径58+- [AscendV1 量化格式 量化术语百科词条](ascendv1/term_ascendv1.md):下位概念昇腾侧默认量化落盘格式。
59+- [compressed-tensors 量化格式 量化术语百科词条](compressed_tensors/term_compressed_tensors.md):下位概念,HuggingFace / vLLM 生态兼容的量化落盘格式。
60+- [MindIE-SD 量化格式 量化术语百科词条](mindie_sd/term_mindie_sd.md):下位概念,多模态生成场景的 MindIE 落盘格式。
61+- [量化算法](../quantization_algorithms/README.md):其他,量化计算与校准侧算法族,产出由各量化格式落盘。
62+- [量化模式](../quantization_mode/README.md):配套术语,格式枚举与交付件字段对应各量化模式。
63+- [大模型支持矩阵](../model/README.md):其他,模型 × 模式 × 推理栈的选型与验证口径。
@@ -23,8 +23,8 @@
23 23 
24| 类型 | 名称 | 来源或保存位置 | 格式或约束 | 验收方式 |24| 类型 | 名称 | 来源或保存位置 | 格式或约束 | 验收方式 |
25| --- | --- | --- | --- | --- |25| --- | --- | --- | --- | --- |
26-| 输入 | 浮点模型目录 | 本地或 ModelScope/HF | 可被目标 Transformers 版本加载 | `from_pretrained` 冒烟通过 |26+| 输入 | 浮点模型目录 | 本地或 ModelScope/HF | 可被目标 Transformers 版本加载 | `from_pretrained` 可成功加载 |
27-| 输入 | 量化 YAML / 最佳实践 | 最佳实践库或自定义 `config_path` | 含 `spec.save` 且 `type` 为 `ascendv1_saver` | 字段通过配置协议校验 |27+| 输入 | 量化 YAML / 最佳实践 | 最佳实践库或自定义`--config`| 含 `spec.save` 且 `type` 为 `ascendv1_saver` | 字段通过配置协议校验 |
28| 交付件 | AscendV1 量化权重目录 | `${SAVE_PATH}` | 含 `quant_model_description.json` 与权重 safetensors | 见《[AscendV1](term_ascendv1.md#export-artifacts)》导出产物 |28| 交付件 | AscendV1 量化权重目录 | `${SAVE_PATH}` | 含 `quant_model_description.json` 与权重 safetensors | 见《[AscendV1](term_ascendv1.md#export-artifacts)》导出产物 |
29 29 
30## 4. 流程总览30## 4. 流程总览
@@ -34,8 +34,6 @@ flowchart LR
34 adapt[确认模式支持] --> adapter["适配器适配save(可选)"] --> config[配置save] --> run[执行量化并核对产物]34 adapt[确认模式支持] --> adapter["适配器适配save(可选)"] --> config[配置save] --> run[执行量化并核对产物]
35```35```
36 36 
37-各阶段对应下文步骤 1~4:**确认**目标推理框架是否支持所选量化模式、**(可选)适配**模型适配器的 AscendV1 save 接口、**配置** `ascendv1_saver`**执行**一键量化并核对交付件。
38- 
39## 5. 操作步骤37## 5. 操作步骤
40 38 
41### 步骤 1:确认目标推理框架支持所选量化模式39### 步骤 1:确认目标推理框架支持所选量化模式
@@ -44,13 +42,13 @@ flowchart LR
44 42 
45**操作**43**操作**
46 44 
47-1. 确认推理侧通过 `quant_model_description.json` 识别各张类型并从 `quant_model_weights*.safetensors`(或分片 + index)加载参数45+1. 对照《[AscendV1](term_ascendv1.md#engine-support)》推理引擎支持情况与《[AscendV1](term_ascendv1.md#mode-support)》量化模式支持情况以及目标框架版本说明,确认所选量化模式可被该栈加载。
48-2. 对照《[AscendV1](term_ascendv1.md#engine-support)》「推理引擎支持情况」与《[AscendV1](term_ascendv1.md#mode-support)》「化模式支持情况」,以及目标框架版本说明,确认所选量化模式可被该栈加载。46+2. 确认推理侧通过 `quant_model_description.json` 识别各张量量化类型,并从 `quant_model_weights*.safetensors`(或分片 + index)加载参数
493. 若启用 QuaRot 且需导出旋转矩阵,确认推理框架可消费 `optional/quarot.safetensors`(见《[AscendV1](term_ascendv1.md#optional-quarot)》可选导出:QuaRot 相关文件)。473. 若启用 QuaRot 且需导出旋转矩阵,确认推理框架可消费 `optional/quarot.safetensors`(见《[AscendV1](term_ascendv1.md#optional-quarot)》可选导出:QuaRot 相关文件)。
50 48 
51**输出**:明确的目标框架、量化模式与是否导出 optional 的决策记录。49**输出**:明确的目标框架、量化模式与是否导出 optional 的决策记录。
52 50 
53-**通过条件**:已选定 vLLM Ascend、SGLang 或 MindIE 作为部署目标;已确认采用 AscendV1 约定(`quant_model_description.json` + 权重 safetensors)加载;若启用 QuaRot 可选导出,已确认目标栈消费对应文件51+**通过条件**:已选定 vLLM Ascend、SGLang 或 MindIE 作为部署目标;已确认采用 AscendV1 约定(`quant_model_description.json` + 权重 safetensors)加载;若启用 QuaRot 可选导出,推理侧已确认可加载 `optional/`
54 52 
55### 步骤 2(可选):模型适配器实现 AscendV1SaveInterface53### 步骤 2(可选):模型适配器实现 AscendV1SaveInterface
56 54 
@@ -63,13 +61,16 @@ flowchart LR
63 61 
64**操作**62**操作**
65 63 
66-1. 让模型适配器继承 `AscendV1SaveInterface`,按需实现:64+1. 让模型适配器继承 [`AscendV1SaveInterface`](../../../../../msmodelslim/core/quant_service/modelslim_v1/save/interface.py),按需实现:
67 - `ascendv1_save_module_preprocess(prefix, module, model)`:保存模块前返回新的 `(prefix, module)`65 - `ascendv1_save_module_preprocess(prefix, module, model)`:保存模块前返回新的 `(prefix, module)`
68 - `ascendv1_save_postprocess(model, save_directory)`:全部导出件写完后的目录后处理66 - `ascendv1_save_postprocess(model, save_directory)`:全部导出件写完后的目录后处理
692. 保存器仅在 `isinstance(adapter, AscendV1SaveInterface)` 时调用上述钩子;未实现则走默认落盘路径。672. 保存器仅在 `isinstance(adapter, AscendV1SaveInterface)` 时调用上述钩子;未实现则走默认落盘路径。
70-3. 参考已实现该接口的适配器(如 DeepSeek-V3、Qwen3-Next、MiniMax-M2 等)核对行为是否与目标推理栈一致68+3. 参考已实现该接口的适配器源码核对行为是否与目标推理栈一致,例如:
69+ - [`msmodelslim/model/deepseek_v3/`](../../../../../msmodelslim/model/deepseek_v3/)
70+ - [`msmodelslim/model/qwen3_next/`](../../../../../msmodelslim/model/qwen3_next/)
71+ - [`msmodelslim/model/minimax_m2/`](../../../../../msmodelslim/model/minimax_m2/)
71 72 
72-**输出**:已实现钩子的适配器,或无需实现、跳过本步骤的结论。73+**输出**:已实现钩子的适配器,或无需实现、跳过本步骤的结论。
73 74 
74**通过条件**:不需要特殊钩子则可跳过;若实现了接口,则预处理 / 后处理与目标 AscendV1 产物约定一致。75**通过条件**:不需要特殊钩子则可跳过;若实现了接口,则预处理 / 后处理与目标 AscendV1 产物约定一致。
75 76 
@@ -100,7 +101,7 @@ spec:
100 101 
101### 步骤 4:执行量化并核对产物102### 步骤 4:执行量化并核对产物
102 103 
103-**目标**:生成 AscendV1 权重并完成冒烟核对104+**目标**:生成 AscendV1 权重并完成加载与推理验证
104 105 
105**操作**106**操作**
106 107 
@@ -137,20 +138,20 @@ spec:
137 --save_path ${SAVE_PATH} \138 --save_path ${SAVE_PATH} \
138 --device npu \139 --device npu \
139 --model_type ${MODEL_TYPE} \140 --model_type ${MODEL_TYPE} \
140- --config_path ${CONFIG_PATH} \141+ --config ${CONFIG_PATH} \
141- --trust_remote_code True142+ --trust_remote_code False
142 ```143 ```
143 144 
1443. 核对 `${SAVE_PATH}` 中至少存在:1453. 核对 `${SAVE_PATH}` 中至少存在:
145 - `quant_model_description.json`(含 `model_quant_type` 与各张量类型)146 - `quant_model_description.json`(含 `model_quant_type` 与各张量类型)
146 - `quant_model_weights.safetensors` 或分片权重 + index147 - `quant_model_weights.safetensors` 或分片权重 + index
147- - 自源模型复制的 `config.json` / tokenizer 等辅助文件148+ - 自源模型复制的 `config.json` / tokenizer 等辅助文件
148- 目录树与字段细则见《[AscendV1](term_ascendv1.md#export-artifacts)》导出产物及各量化模式交付件格式149+ 目录树与字段细则见《[AscendV1](term_ascendv1.md#export-artifacts)》导出产物及各量化模式交付件格式。
149-4. 使用目标推理框架加载该目录,完成 1 条 generate 或 API 请求冒烟150+4. 使用目标推理框架加载该目录,完成至少 1 条 generate 或 API 请求,确认量化权重可正常加载且推理返回正常该步骤为部署前的快速验证,不要求完整精度评测。
150 151 
151-**输出**:可部署的 `${SAVE_PATH}` 目录与冒烟日志。152+**输出**:可部署的 `${SAVE_PATH}` 目录与验证日志。
152 153 
153-**通过条件**:描述文件与权重齐全;推理加载正常;冒烟返回正常。154+**通过条件**:描述文件与权重齐全;推理加载正常;至少 1 条请求返回正常。
154 155 
155## 6. 验收条件156## 6. 验收条件
156 157 
@@ -164,11 +165,3 @@ spec:
164| --- | --- | --- |165| --- | --- | --- |
165| AscendV1 | 昇腾侧量化落盘格式 | 《[AscendV1](term_ascendv1.md)》 |166| AscendV1 | 昇腾侧量化落盘格式 | 《[AscendV1](term_ascendv1.md)》 |
166| 量化格式 | 工具与推理框架的落盘协议 | 《[量化格式](../README.md)》 |167| 量化格式 | 工具与推理框架的落盘协议 | 《[量化格式](../README.md)》 |
167- 
168-## 8. 接口文档列表
169- 
170-| 接口或能力 | 简述 | 链接 |
171-| --- | --- | --- |
172-| 一键量化 | 命令与配置协议 | 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》 |
173-| ascendv1_saver | save 字段 | 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md#5251-ascendv1_saver)》 |
174-| 格式接入 | 新格式开发对照 | 《[量化格式接入指南](../iformat_integration_guide.md)》 |
@@ -1,75 +1,72 @@
1-# AscendV11+# AscendV1 量化格式 量化术语百科词条
2 2 
3-> **词条类别**:量化数据格式3+> **词条类别**:[量化格式](../README.md)<br>
4->4+> **英文名称**:AscendV1 Quantization Format<br>
5-> **英文名称**:AscendV1 Quantization Format5+> **应用领域**:昇腾 NPU 推理、大语言模型量化压缩、多模态理解模型量化压缩<br>
6->6+> **msModelSlim 实现**:[`msmodelslim/format/ascendV1_format/`](../../../../../msmodelslim/format/ascendV1_format/)
7-> **英文缩写**:AscendV17+ 
8->8+---
9-> **应用领域**:昇腾 NPU 推理、大语言模型量化压缩、多模态理解模型量化压缩
10->
11-> **msModelSlim 实现**:`msmodelslim/format/ascendV1_format/`、`AscendV1Saver`
12 9 
13## 1. 概述10## 1. 概述
14 11 
15-AscendV1 是 msModelSlim 面向昇腾 NPU 推理的[量化格式](../README.md)。推理框架(vLLM Ascend、SGLang、MindIE)通过 `quant_model_description.json` 识别各张量的量化类型,并从 `quant_model_weights.safetensors` 加载对应参数。它解决昇腾侧量化权重的统一落盘与加载问题核心特征是覆盖多种量化模式枚举,并与 vLLM Ascend、SGLang、MindIE 加载路径对齐。12+AscendV1 是 msModelSlim 面向昇腾 NPU 推理的[量化格式 量化术语百科词条](../README.md)。推理框架(vLLM Ascend、SGLang、MindIE)通过 `quant_model_description.json` 识别各张量的量化类型,并从 `quant_model_weights*.safetensors` 加载对应参数。它解决昇腾侧量化权重的统一落盘与加载问题核心特征是覆盖多种量化模式枚举,并与 vLLM Ascend、SGLang、MindIE 加载路径对齐。
16 13 
17配置、执行与部署步骤见《[AscendV1 使用指南](ascendv1_usage.md)》。各量化模式的原理与公式见《[量化模式](../../quantization_mode/README.md)》及下文支持表中的词条链接。14配置、执行与部署步骤见《[AscendV1 使用指南](ascendv1_usage.md)》。各量化模式的原理与公式见《[量化模式](../../quantization_mode/README.md)》及下文支持表中的词条链接。
18 15 
16+---
17+ 
19## 2. 词条介绍18## 2. 词条介绍
20 19 
21### 2.1 原理20### 2.1 原理
22 21 
23-#### 2.1.1 核心思想22+**核心思想**
24 23 
25AscendV1 本质上是一套**昇腾推理侧的量化模型落盘约定**:它不执行校准或伪量化计算,而是在一键量化流水线末尾,将已量化完成的 QIR 模块转换为推理框架可直接加载的两类交付件——**量化描述文件** `quant_model_description.json`**量化权重文件** `quant_model_weights*.safetensors`。前者作为张量级索引,供 vLLM Ascend、SGLang、MindIE 识别各张量名称及其量化模式(如 `W8A8``W4A4_MXFP4`);后者按相同键名存放对应的 int8 / FP8 / scale / zero-point 等数值。推理侧先读取描述文件以确定加载与算子路径,再按键名从 safetensors 取数,二者键名一一对应,缺一不可。24AscendV1 本质上是一套**昇腾推理侧的量化模型落盘约定**:它不执行校准或伪量化计算,而是在一键量化流水线末尾,将已量化完成的 QIR 模块转换为推理框架可直接加载的两类交付件——**量化描述文件** `quant_model_description.json`**量化权重文件** `quant_model_weights*.safetensors`。前者作为张量级索引,供 vLLM Ascend、SGLang、MindIE 识别各张量名称及其量化模式(如 `W8A8``W4A4_MXFP4`);后者按相同键名存放对应的 int8 / FP8 / scale / zero-point 等数值。推理侧先读取描述文件以确定加载与算子路径,再按键名从 safetensors 取数,二者键名一一对应,缺一不可。
26 25 
27-生成流程在 YAML 中启`ascendv1_saver` 后自动触发,可概括遍历模块、双写张量、汇总元数据、复制配置四步(1)**初始化**:在 `save_path` 创建 JSON Writer 与 Safetensors Writer(权重过大时可按 `part_file_size` 分片);(2)**逐模块导出**:保存器深度遍历模型中的 QIR 量化模块(如 `W8A8StaticFakeQuantLinear`),按模块类型调用对应 handler——对每个参数同时执行两件事:在描述 JSON 中写入 `{张全名}: {量类型枚举}` safetensors 中写入同名键的实际张量(例如 `{prefix}.weight` 写 int8 权重、`{prefix}.input_scale` 写 float32 scale);同一 Linear 层的 weight / scale / offset 等共享相同类型标识;(3)**收尾写全局字段**:全部模块处理完毕后,汇总写入 `version`、`model_quant_type`(混合量化时按优先级选取)、`group_size`、`kv_quant_type` / `fa_quant_type` 等全局元数据,关闭 Writer 落盘;若启用 QuaRot 等扩展,还会在 `optional/` 写出附加文件并在描述 JSON `optional` 字段登记路径;(4)**复制源模型配置**:自浮点模型目录复制 `config.json`、tokenizer 等辅助文件到同一目录(并移除 `config.json` 内可能与 AscendV1 冲突 `quantization_config` 字段),使部署目录既含量化权重,也保留推理所需的模型结构与词表26+因此,户可将 AscendV1 理解为:**msModelSlim 量化结果的昇腾标准导出**——算法负责量化计算与参数生成AscendV1 负责权重落盘、元数据描述以及与 vLLM Ascend、SGLang、MindIE 加载路径的对齐
28 27 
29-因此,用户可将 AscendV1 理解为:**msModelSlim 量化结果的昇腾标准导出包**——算法负责量化计算与参数生成,AscendV1 负责权重落盘、元数据描述以及与 vLLM Ascend、SGLang、MindIE 加载路径的对齐。格式层不定义各量化模式内部的 $Q(\cdot)$ 映射与反量化公式,这些见对应量化模式资料;本词条与使用指南侧重交付件字段与核对方法。28+**关键性质**
30- 
31-#### 2.1.2 关键性质
32 29 
33- 支持分布式导出与权重分片(`part_file_size`)。30- 支持分布式导出与权重分片(`part_file_size`)。
34- 可选导出 QuaRot 旋转矩阵。31- 可选导出 QuaRot 旋转矩阵。
35- 通过描述文件中的枚举值表达对多种量化模式的承载能力。32- 通过描述文件中的枚举值表达对多种量化模式的承载能力。
36 33 
37-### 2.2 <span id="export-artifacts">导出产物(交付件)</span>34+---
38 35 
39-#### 目录与文说明36+## 3. <span id="export-artifacts">导出产物(交付)</span>
40 37 
41-执行一键量化(`ascendv1_saver`)后,在指定的 `save_path` 目录下典型生成以下文件38+### 3.1 目录文件说明
39+ 
40+执行一键量化并指定 AscendV1 落盘格式(保存器 `type``ascendv1_saver`)后,在指定的 `save_path` 目录下生成以下文件:
42 41 
43```bash42```bash
44-├── config.json # 原始模型配置文件43+├── config.json # 原始模型配置文件
45-├── generation_config.json # 原始生成配置文件44+├── generation_config.json # 原始生成配置文件
46-├── quant_model_description.json # 量化权重描述文件45+├── quant_model_description.json # 量化权重描述文件
47-├── quant_model_weights.safetensors # 量化权重文件(若权重较大可能分片,通过 index.json 索引)46+├── quant_model_weights*.safetensors # 量化权重:不分片 quant_model_weights.safetensors;分片如 quant_model_weights-00001-of-00003.safetensors … + quant_model_weights.safetensors.index.json
48-├── tokenizer_config.json # 原始分词器配置文件47+├── tokenizer_config.json # 原始分词器配置文件
49-├── tokenizer.json # 原始分词器词汇表48+├── tokenizer.json # 原始分词器词汇表
50-├── {model_type}_best_practice.yaml # 量化配置协议49+├── {model_type}_best_practice.yaml # 量化配置协议
51-├── vocab.json # 原始词汇映射文件(部分模型)50+├── vocab.json # 原始词汇映射文件(部分模型)
52-── optional/ # 可选导出目录(部分算法启用时生成)51+── optional/ # 可选导出目录(部分算法启用时生成)
53- └── quarot.safetensors # QuaRot 全局旋转矩阵(启用 export_extra_info 时生成)52+ └── quarot.safetensors # QuaRot 全局旋转矩阵(启用 export_extra_info 时生成)
54- 
55```53```
56 54 
57| 文件名 | 说明 |55| 文件名 | 说明 |
58|--------|------|56|--------|------|
59| `config.json` | 原始模型的配置文件,包含模型架构、层数、隐藏维度等关键参数 |57| `config.json` | 原始模型的配置文件,包含模型架构、层数、隐藏维度等关键参数 |
60| `generation_config.json` | 原始模型的生成配置文件,包含采样策略、最大生成长度等推理相关参数 |58| `generation_config.json` | 原始模型的生成配置文件,包含采样策略、最大生成长度等推理相关参数 |
61-| `quant_model_description.json` | **量化权重描述文件**,记录每个权重张量的量化类型和元数据 |59+| `quant_model_description.json` | **量化权重描述文件**,记录每个权重张量的量化类型和元数据;每个张量键对应一个量化类型标识,同一 Linear 层的所有参数(weight、scale 等)共享相同的类型标识 |
62-| `quant_model_weights.safetensors` | **量化权重文件**,包含实际存储的量化后的模型权重数据(若权重较大可能分片保存多个文件通过 index.json 索引 |60+| `quant_model_weights*.safetensors` | **量化权重文件**;不分片为 `quant_model_weights.safetensors`;分片为 `quant_model_weights-00001-of-0000N.safetensors` 等形式并由 `quant_model_weights.safetensors.index.json` 索引 |
63| `tokenizer_config.json` | 原始分词器的配置文件,包含特殊 token、词表大小等信息 |61| `tokenizer_config.json` | 原始分词器的配置文件,包含特殊 token、词表大小等信息 |
64| `tokenizer.json` | 原始分词器的词汇表文件,定义 token 与 ID 的映射关系 |62| `tokenizer.json` | 原始分词器的词汇表文件,定义 token 与 ID 的映射关系 |
65| `{model_type}_best_practice.yaml` | **量化配置协议文件**,记录本次量化所使用的完整配置信息,参考《[量化配置协议详解](../../../user_guide/usage_quick_quantization.md#5-量化配置协议详解)》 |63| `{model_type}_best_practice.yaml` | **量化配置协议文件**,记录本次量化所使用的完整配置信息,参考《[量化配置协议详解](../../../user_guide/usage_quick_quantization.md#5-量化配置协议详解)》 |
66| `vocab.json` | 原始词汇映射文件,部分模型(如 GPT 风格模型)会包含此文件 |64| `vocab.json` | 原始词汇映射文件,部分模型(如 GPT 风格模型)会包含此文件 |
67| `optional/quarot.safetensors` | **可选导出**:QuaRot 全局旋转矩阵(仅在使用 QuaRot 且 `export_extra_info: true` 时生成),见下文可选导出 |65| `optional/quarot.safetensors` | **可选导出**:QuaRot 全局旋转矩阵(仅在使用 QuaRot 且 `export_extra_info: true` 时生成),见下文可选导出 |
68-|`quant_model_description.json` | 每个张量键对应一个量化类型标识;同一 Linear 层的所有参数(weight、scale 等)共享相同的类型标识。|
69 66 
70-#### quant_model_description.json67+### 3.2 quant_model_description.json
71 68 
72-##### 文件结构示例69+**文件结构示例**
73 70 
74```json71```json
75{72{
@@ -87,13 +84,13 @@ AscendV1 本质上是一套**昇腾推理侧的量化模型落盘约定**:它
87}84}
88```85```
89 86 
90-> `*.weight` 字段名称由模型本身决定。87+> 上例中 `*.weight` 字段名称由模型本身决定。
91 88 
92-##### <span id="global-metadata">全局元数据字段</span>89+**<span id="global-metadata">全局元数据字段</span>**
93 90 
94| 字段名 | 类型 | 说明 |91| 字段名 | 类型 | 说明 |
95|--------|------|------|92|--------|------|------|
96-| `model_quant_type` | string | 模型整体量化类型(混合量化时取优先级最高者) |93+| `model_quant_type` | string | 模型整体量化类型(混合量化时取优先级最高者,见 [混合量化优先级](#quant-type-priority)) |
97| `version` | string | 格式版本,当前 `"1.0.0"` |94| `version` | string | 格式版本,当前 `"1.0.0"` |
98| `group_size` | int | 分组量化时的 group 大小 |95| `group_size` | int | 分组量化时的 group 大小 |
99| `kv_quant_type` / `kv_cache_type` | string | KV Cache 量化类型 |96| `kv_quant_type` / `kv_cache_type` | string | KV Cache 量化类型 |
@@ -104,7 +101,25 @@ AscendV1 本质上是一套**昇腾推理侧的量化模型落盘约定**:它
104 101 
105其余键值对为 `{张量名}: {量化类型}`,例如 `"model.layers.0.self_attn.q_proj.weight": "W8A8"`102其余键值对为 `{张量名}: {量化类型}`,例如 `"model.layers.0.self_attn.q_proj.weight": "W8A8"`
106 103 
107-#### <span id="optional-quarot">可选导出:QuaRot 相关文件</span>104+**<span id="quant-type-priority">混合量化时 `model_quant_type` 优先级</span>**
105+ 
106+列表越靠后优先级越高(低比特优先;同比特内 `W8A8` 优先于 `W8A8_DYNAMIC` / `W8A8_MIX`)。`W4A8_DYNAMIC` 不参与选取。优先级由低到高:
107+ 
108+1. `FLOAT`
109+2. `W16A16S`
110+3. `W8A16`
111+4. `W8A8_DYNAMIC`
112+5. `W8A8_MIX`
113+6. `W8A8`
114+7. `WFP8AFP8_DYNAMIC`
115+8. `W8A8_MXFP8`
116+9. `W4A8_MXFP`
117+10. `W4A4_DYNAMIC`
118+11. `W4A4_MXFP4`
119+12. `W4A4_MXFP4_DUALSCALE`
120+13. `W4A4_MXFP4_SVD`
121+ 
122+### 3.3 <span id="optional-quarot">可选导出:QuaRot 相关文件</span>
108 123 
109当流水线启用 QuaRot 且配置 `export_extra_info: true` 时,AscendV1 可额外写出旋转矩阵文件,并在描述文件中登记路径。算法本身见对应算法词条;此处仅说明**格式侧**落盘约定。124当流水线启用 QuaRot 且配置 `export_extra_info: true` 时,AscendV1 可额外写出旋转矩阵文件,并在描述文件中登记路径。算法本身见对应算法词条;此处仅说明**格式侧**落盘约定。
110 125 
@@ -117,9 +132,24 @@ optional/
117|------|----------|------|132|------|----------|------|
118| `global_rotation` | float32 | 全局旋转矩阵 |133| `global_rotation` | float32 | 全局旋转矩阵 |
119 134 
120-**启用 `online`** 时,`quant_model_description.json` 含 `metadata.quarot`(层列表与在线旋转描述)135+启用 `online` 时,`quant_model_description.json` 含 `metadata.quarot`(层列表与在线旋转描述),示例如下:
121 136 
122-**启用 `export_extra_info`** 时,可含:137+```json
138+{
139+ "metadata": {
140+ "quarot": {
141+ "heads_rotation": {
142+ "layers": ["model.layers.0.self_attn.o_proj", "model.layers.1.self_attn.o_proj"]
143+ },
144+ "kronecker_rotation": {
145+ "layers": ["model.layers.0.mlp.down_proj"]
146+ }
147+ }
148+ }
149+}
150+```
151+ 
152+启用 `export_extra_info` 时,包含:
123 153 
124```jsonc154```jsonc
125{155{
@@ -135,33 +165,37 @@ optional/
135 165 
136推理框架按 `optional.quarot.rotation_map` 加载矩阵文件。166推理框架按 `optional.quarot.rotation_map` 加载矩阵文件。
137 167 
138-### 2.3 <span id="engine-support">推理引擎支持情况</span>168+---
139 169 
140-AscendV1 **均可落盘**下表中的格式枚举;下表描述的是产物能否被目标推理引擎加载部署。口径依据《[大模型支持矩阵](../../model/README.md)》注释与 lab_practice 验证标签;具体模型 × 模式 × 引擎组合以支持矩阵与官方最佳实践为准,并受 CANN / 引擎版本与硬件代际约束。170+## 4. <span id="engine-support">推理引擎支持情况</span>
171+ 
172+下表中的格式枚举**均可被 AscendV1 落盘**;下表描述的是产物能否被目标推理引擎加载部署。口径依据《[大模型支持矩阵](../../model/README.md)》注释与 lab_practice 验证标签;具体模型 × 模式 × 引擎组合以支持矩阵与官方最佳实践为准,并受 CANN / 引擎版本与硬件代际约束。
141 173 
142| 格式枚举值 | vLLM Ascend | SGLang | MindIE | 说明 |174| 格式枚举值 | vLLM Ascend | SGLang | MindIE | 说明 |
143| --- | --- | --- | --- | --- |175| --- | --- | --- | --- | --- |
144| `FLOAT` | √ | √ | √ | 未量化张量,随模型一并加载 |176| `FLOAT` | √ | √ | √ | 未量化张量,随模型一并加载 |
145-| `W8A8` | √ | √ | √ | 910 / 950 通用入口之一 |177+| `W8A8` | √ | √ | √ | 昇腾A2系列产品 / 昇腾A3系列产品 / 昇腾950PR&950DT系列产品通用入口之一 |
146-| `W8A8_DYNAMIC` | √ | √ | √ | 910 / 950 通用入口之一 |178+| `W8A8_DYNAMIC` | √ | √ | √ | 昇腾A2系列产品 / 昇腾A3系列产品 / 昇腾950PR&950DT系列产品通用入口之一 |
147| `W4A8_DYNAMIC` | √ | √ | √ | 显存更紧时常用 |179| `W4A8_DYNAMIC` | √ | √ | √ | 显存更紧时常用 |
148| `W4A4_DYNAMIC` | √ | √ | √ | 更低比特 INT 路径 |180| `W4A4_DYNAMIC` | √ | √ | √ | 更低比特 INT 路径 |
149-| `W8A8_MXFP8` | √ | √ | √ | **推荐 Ascend 950**;910 系通常不可用 |181+| `W8A8_MXFP8` | √ | √ | √ | **推荐昇腾950PR&950DT系列产品**;昇腾A2系列产品 / 昇腾A3列产品通常不可用 |
150-| `W4A8_MXFP` | √ | √ | √ | **推荐 Ascend 950** |182+| `W4A8_MXFP` | √ | √ | √ | **推荐昇腾950PR&950DT系列产品** |
151-| `W4A4_MXFP4` | √ | √ | √ | **推荐 Ascend 950** |183+| `W4A4_MXFP4` | √ | √ | √ | **推荐昇腾950PR&950DT系列产品** |
152-| `W4A4_MXFP4_DUALSCALE` | √ | √ | √ | **推荐 Ascend 950** |184+| `W4A4_MXFP4_DUALSCALE` | √ | √ | √ | **推荐昇腾950PR&950DT系列产品** |
153-| `WFP8AFP8_DYNAMIC` | 视版本 | 视版本 | | 以目标引擎版本与模型最佳实践为准 |185+| `WFP8AFP8_DYNAMIC` | | | | vLLM Ascend;**推荐昇腾950PR&950DT系列产品** |
154| `W8A16` | — | — | √ | 仅 MindIE |186| `W8A16` | — | — | √ | 仅 MindIE |
155| `W8A8_MIX` | — | — | √ | PD-Mix;仅 MindIE |187| `W8A8_MIX` | — | — | √ | PD-Mix;仅 MindIE |
156| `W16A16S` | — | — | √ | 稀疏量化;仅 MindIE |188| `W16A16S` | — | — | √ | 稀疏量化;仅 MindIE |
157| `C8` | — | — | √ | KV Cache;仅 MindIE(含 w8a8c8 / w4a8c8 等组合) |189| `C8` | — | — | √ | KV Cache;仅 MindIE(含 w8a8c8 / w4a8c8 等组合) |
158| `FAQuant` | — | — | √ | FA3 等;仅 MindIE |190| `FAQuant` | — | — | √ | FA3 等;仅 MindIE |
159 191 
160-> **图例**:`√` 表示该引擎存在可加载路径或已有验证实践;`—` 表示当前不作为该引擎推荐部署路径;`视版本` 表示依赖具体引擎版本,部署前须核对。选型时先按引擎缩小候选枚举,再在下文[量化模式支持情况](#mode-support)核对 AscendV1 交付件字段。192+> **图例**:`√` 表示该引擎存在可加载路径或已有验证实践;`—` 表示当前不作为该引擎推荐部署路径。选型时先按引擎缩小候选枚举,再在下文 [量化模式支持情况](#mode-support) 核对 AscendV1 交付件字段。
161 193 
162-### 2.4 <span id="mode-support">量化模式支持情况</span>194+---
163 195 
164-> **交付件说明**:「交付件:量化描述 JSON」→ `quant_model_description.json`;「交付件:量化 safetensors」→ `quant_model_weights*.safetensors`。模式原理见《[量化模式](../../quantization_mode/README.md)》词条,本表不展开反量化公式与 NPU 算子。196+## 5. <span id="mode-support">量化模式支持情况</span>
197+ 
198+> **交付件说明**:表中交付件:量化描述 JSON对应 `quant_model_description.json`;交付件:量化 safetensors对应 `quant_model_weights*.safetensors`。模式原理见《[量化模式](../../quantization_mode/README.md)》词条,本表不展开反量化公式与 NPU 算子。本词条交付件分两列说明:描述 JSON 键值与 safetensors 张量字段。
165 199 
166| 格式枚举值 | AscendV1 是否支持落盘 | 量化模式词条 | 交付件:量化描述 JSON | 交付件:量化 safetensors |200| 格式枚举值 | AscendV1 是否支持落盘 | 量化模式词条 | 交付件:量化描述 JSON | 交付件:量化 safetensors |
167| --- | --- | --- | --- | --- |201| --- | --- | --- | --- | --- |
@@ -181,51 +215,52 @@ AscendV1 **均可落盘**下表中的格式枚举;下表描述的是产物能
181| `C8` | 支持 | [KVCache-PerChannel](../../quantization_mode/kv_cache_quantization/term_kv_cache_perchannel.md) | [C8 描述键](#desc-c8) | [C8 权重张量](#st-c8) |215| `C8` | 支持 | [KVCache-PerChannel](../../quantization_mode/kv_cache_quantization/term_kv_cache_perchannel.md) | [C8 描述键](#desc-c8) | [C8 权重张量](#st-c8) |
182| `FAQuant` | 支持 | [FA 量化](../../quantization_mode/fa_quantization/README.md) | [FAQuant 描述键](#desc-faquant) | [FAQuant 权重张量](#st-faquant) |216| `FAQuant` | 支持 | [FA 量化](../../quantization_mode/fa_quantization/README.md) | [FAQuant 描述键](#desc-faquant) | [FAQuant 权重张量](#st-faquant) |
183 217 
184-### 2.5 各量化模式交付件格式218+---
219+ 
220+## 6. 各量化模式交付件格式
185 221 
186约定:222约定:
187 223 
188- `{prefix}` 为模块前缀(例如 `model.layers.0.self_attn.q_proj`)。224- `{prefix}` 为模块前缀(例如 `model.layers.0.self_attn.q_proj`)。
189-- **描述 JSON**:文件 `quant_model_description.json`;键为张量全名,值为量化类型字符串(与枚举一致);全局字段见上文[全局元数据字段](#global-metadata)225+- **描述 JSON**:文件 `quant_model_description.json`;键为张量全名,值为量化类型字符串(与枚举一致);全局字段见上文[全局元数据字段](#global-metadata)。
190- **safetensors**:文件 `quant_model_weights*.safetensors`(可分片);键为 `{prefix}.<param>`,存实际数值张量。226- **safetensors**:文件 `quant_model_weights*.safetensors`(可分片);键为 `{prefix}.<param>`,存实际数值张量。
191 227 
192-#### FLOAT228+### 6.1 FLOAT
193- 229+**<span id="desc-float">quant_model_description.json</span>**
194-##### <span id="desc-float">quant_model_description.json</span>
195 230 
196| 描述键 | 取值 | 说明 |231| 描述键 | 取值 | 说明 |
197| --- | --- | --- |232| --- | --- | --- |
198| `{prefix}.weight` | `"FLOAT"` | 未量化权重 |233| `{prefix}.weight` | `"FLOAT"` | 未量化权重 |
199| `{prefix}.bias` | `"FLOAT"` | 偏置(若存在) |234| `{prefix}.bias` | `"FLOAT"` | 偏置(若存在) |
200 235 
201-整体 `model_quant_type` 在仅含 FLOAT 时可为 `"FLOAT"`(混合量化时按优先级选取,见上文)。236+整体 `model_quant_type` 在仅含 FLOAT 时可为 `"FLOAT"`(混合量化时按 [优先级](#quant-type-priority) 选取)。
202 237 
203-##### <span id="st-float">quant_model_weights*.safetensors</span>238+**<span id="st-float">`quant_model_weights*.safetensors`</span>**
204 239 
205| 张量名 | 数据类型 | 说明 |240| 张量名 | 数据类型 | 说明 |
206| --- | --- | --- |241| --- | --- | --- |
207| `{prefix}.weight` | float16 / bfloat16 | 原始浮点权重 |242| `{prefix}.weight` | float16 / bfloat16 | 原始浮点权重 |
208| `{prefix}.bias` | float16 / bfloat16 | 偏置(可选) |243| `{prefix}.bias` | float16 / bfloat16 | 偏置(可选) |
209 244 
210-#### W16A16S245+### 6.2 W16A16S
246+**<span id="desc-w16a16s">quant_model_description.json</span>**
211 247 
212-##### <span id="desc-w16a16s">quant_model_description.json</span>
213 248 
214| 描述键 | 取值 | 说明 |249| 描述键 | 取值 | 说明 |
215| --- | --- | --- |250| --- | --- | --- |
216| `{prefix}.weight` | `"W16A16S"` | 稀疏权重 |251| `{prefix}.weight` | `"W16A16S"` | 稀疏权重 |
217| `{prefix}.scale` | `"W16A16S"` | 稀疏缩放因子 |252| `{prefix}.scale` | `"W16A16S"` | 稀疏缩放因子 |
218 253 
219-##### <span id="st-w16a16s">quant_model_weights*.safetensors</span>254+**<span id="st-w16a16s">`quant_model_weights*.safetensors`</span>**
255+ 
220 256 
221| 张量名 | 数据类型 | 说明 |257| 张量名 | 数据类型 | 说明 |
222| --- | --- | --- |258| --- | --- | --- |
223| `{prefix}.weight` | float16 / bfloat16 | 稀疏处理后的权重 |259| `{prefix}.weight` | float16 / bfloat16 | 稀疏处理后的权重 |
224| `{prefix}.scale` | float16 / bfloat16 | 缩放因子 |260| `{prefix}.scale` | float16 / bfloat16 | 缩放因子 |
225 261 
226-#### W8A8262+### 6.3 W8A8
227- 263+**<span id="desc-w8a8">quant_model_description.json</span>**
228-##### <span id="desc-w8a8">quant_model_description.json</span>
229 264 
230同一 Linear 下下列键共享类型 `"W8A8"``bias` 若保留浮点则可标 `"FLOAT"`):265同一 Linear 下下列键共享类型 `"W8A8"``bias` 若保留浮点则可标 `"FLOAT"`):
231 266 
@@ -238,7 +273,8 @@ AscendV1 **均可落盘**下表中的格式枚举;下表描述的是产物能
238| `{prefix}.deq_scale` | `"W8A8"` | 综合反量化 scale |273| `{prefix}.deq_scale` | `"W8A8"` | 综合反量化 scale |
239| `{prefix}.bias` | `"FLOAT"``"W8A8"` | 原始浮点偏置(可选) |274| `{prefix}.bias` | `"FLOAT"``"W8A8"` | 原始浮点偏置(可选) |
240 275 
241-##### <span id="st-w8a8">quant_model_weights*.safetensors</span>276+**<span id="st-w8a8">`quant_model_weights*.safetensors`</span>**
277+ 
242 278 
243| 张量名 | 数据类型 | 说明 |279| 张量名 | 数据类型 | 说明 |
244| --- | --- | --- |280| --- | --- | --- |
@@ -249,9 +285,9 @@ AscendV1 **均可落盘**下表中的格式枚举;下表描述的是产物能
249| `{prefix}.deq_scale` | int64 / float32 | 综合反量化 scale(bfloat16 模型多为 float32,否则常按算子约定以 int64 位型存储) |285| `{prefix}.deq_scale` | int64 / float32 | 综合反量化 scale(bfloat16 模型多为 float32,否则常按算子约定以 int64 位型存储) |
250| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |286| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |
251 287 
252-#### W8A8_DYNAMIC288+### 6.4 W8A8_DYNAMIC
289+**<span id="desc-w8a8-dynamic">quant_model_description.json</span>**
253 290 
254-##### <span id="desc-w8a8-dynamic">quant_model_description.json</span>
255 291 
256| 描述键 | 取值 | 说明 |292| 描述键 | 取值 | 说明 |
257| --- | --- | --- |293| --- | --- | --- |
@@ -262,7 +298,8 @@ AscendV1 **均可落盘**下表中的格式枚举;下表描述的是产物能
262 298 
263激活动态参数不落盘,故 description 中无 `input_scale` / `input_offset` 等激活静态键。299激活动态参数不落盘,故 description 中无 `input_scale` / `input_offset` 等激活静态键。
264 300 
265-##### <span id="st-w8a8-dynamic">quant_model_weights*.safetensors</span>301+**<span id="st-w8a8-dynamic">`quant_model_weights*.safetensors`</span>**
302+ 
266 303 
267| 张量名 | 数据类型 | 说明 |304| 张量名 | 数据类型 | 说明 |
268| --- | --- | --- |305| --- | --- | --- |
@@ -273,9 +310,9 @@ AscendV1 **均可落盘**下表中的格式枚举;下表描述的是产物能
273 310 
274激活量化参数在推理时动态计算,**不写入**权重文件。311激活量化参数在推理时动态计算,**不写入**权重文件。
275 312 
276-#### W8A8_MIX313+### 6.5 W8A8_MIX
314+**<span id="desc-w8a8-mix">quant_model_description.json</span>**
277 315 
278-##### <span id="desc-w8a8-mix">quant_model_description.json</span>
279 316 
280| 描述键 | 取值 | 说明 |317| 描述键 | 取值 | 说明 |
281| --- | --- | --- |318| --- | --- | --- |
@@ -288,7 +325,7 @@ AscendV1 **均可落盘**下表中的格式枚举;下表描述的是产物能
288| `{prefix}.weight_offset` | `"W8A8_MIX"` | 权重量化 zero-point |325| `{prefix}.weight_offset` | `"W8A8_MIX"` | 权重量化 zero-point |
289| `{prefix}.bias` | `"FLOAT"``"W8A8_MIX"` | 偏置(可选) |326| `{prefix}.bias` | `"FLOAT"``"W8A8_MIX"` | 偏置(可选) |
290 327 
291-##### <span id="st-w8a8-mix">quant_model_weights*.safetensors</span>328+**<span id="st-w8a8-mix">`quant_model_weights*.safetensors`</span>**
292 329 
293W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:330W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
294 331 
@@ -303,9 +340,9 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
303| `{prefix}.weight_offset` | float32 | 权重量化 zero-point |340| `{prefix}.weight_offset` | float32 | 权重量化 zero-point |
304| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |341| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |
305 342 
306-#### W8A16343+### 6.6 W8A16
344+**<span id="desc-w8a16">quant_model_description.json</span>**
307 345 
308-##### <span id="desc-w8a16">quant_model_description.json</span>
309 346 
310| 描述键 | 取值 | 说明 |347| 描述键 | 取值 | 说明 |
311| --- | --- | --- |348| --- | --- | --- |
@@ -314,7 +351,8 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
314| `{prefix}.weight_offset` | `"W8A16"` | 权重量化 zero-point |351| `{prefix}.weight_offset` | `"W8A16"` | 权重量化 zero-point |
315| `{prefix}.bias` | `"FLOAT"``"W8A16"` | 偏置(可选) |352| `{prefix}.bias` | `"FLOAT"``"W8A16"` | 偏置(可选) |
316 353 
317-##### <span id="st-w8a16">quant_model_weights*.safetensors</span>354+**<span id="st-w8a16">`quant_model_weights*.safetensors`</span>**
355+ 
318 356 
319| 张量名 | 数据类型 | 说明 |357| 张量名 | 数据类型 | 说明 |
320| --- | --- | --- |358| --- | --- | --- |
@@ -323,9 +361,9 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
323| `{prefix}.weight_offset` | float32 | 权重量化 zero-point |361| `{prefix}.weight_offset` | float32 | 权重量化 zero-point |
324| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |362| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |
325 363 
326-#### W4A4_DYNAMIC364+### 6.7 W4A4_DYNAMIC
365+**<span id="desc-w4a4-dynamic">quant_model_description.json</span>**
327 366 
328-##### <span id="desc-w4a4-dynamic">quant_model_description.json</span>
329 367 
330| 描述键 | 取值 | 说明 |368| 描述键 | 取值 | 说明 |
331| --- | --- | --- |369| --- | --- | --- |
@@ -334,7 +372,8 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
334| `{prefix}.weight_offset` | `"W4A4_DYNAMIC"` | 权重量化 zero-point |372| `{prefix}.weight_offset` | `"W4A4_DYNAMIC"` | 权重量化 zero-point |
335| `{prefix}.bias` | `"FLOAT"``"W4A4_DYNAMIC"` | 偏置(可选) |373| `{prefix}.bias` | `"FLOAT"``"W4A4_DYNAMIC"` | 偏置(可选) |
336 374 
337-##### <span id="st-w4a4-dynamic">quant_model_weights*.safetensors</span>375+**<span id="st-w4a4-dynamic">`quant_model_weights*.safetensors`</span>**
376+ 
338 377 
339| 张量名 | 数据类型 | 说明 |378| 张量名 | 数据类型 | 说明 |
340| --- | --- | --- |379| --- | --- | --- |
@@ -345,9 +384,9 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
345 384 
346激活量化参数推理时动态计算,不写入权重文件。385激活量化参数推理时动态计算,不写入权重文件。
347 386 
348-#### W4A8_DYNAMIC387+### 6.8 W4A8_DYNAMIC
388+**<span id="desc-w4a8-dynamic">quant_model_description.json</span>**
349 389 
350-##### <span id="desc-w4a8-dynamic">quant_model_description.json</span>
351 390 
352| 描述键 | 取值 | 说明 |391| 描述键 | 取值 | 说明 |
353| --- | --- | --- |392| --- | --- | --- |
@@ -357,7 +396,8 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
357| `{prefix}.scale_bias` | `"W4A8_DYNAMIC"` | 反量化额外调整因子 |396| `{prefix}.scale_bias` | `"W4A8_DYNAMIC"` | 反量化额外调整因子 |
358| `{prefix}.bias` | `"FLOAT"``"W4A8_DYNAMIC"` | 偏置(可选) |397| `{prefix}.bias` | `"FLOAT"``"W4A8_DYNAMIC"` | 偏置(可选) |
359 398 
360-##### <span id="st-w4a8-dynamic">quant_model_weights*.safetensors</span>399+**<span id="st-w4a8-dynamic">`quant_model_weights*.safetensors`</span>**
400+ 
361 401 
362| 张量名 | 数据类型 | 说明 |402| 张量名 | 数据类型 | 说明 |
363| --- | --- | --- |403| --- | --- | --- |
@@ -367,9 +407,9 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
367| `{prefix}.scale_bias` | float32 | 反量化额外调整因子 |407| `{prefix}.scale_bias` | float32 | 反量化额外调整因子 |
368| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |408| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |
369 409 
370-#### WFP8AFP8_DYNAMIC410+### 6.9 WFP8AFP8_DYNAMIC
411+**<span id="desc-wfp8afp8-dynamic">quant_model_description.json</span>**
371 412 
372-##### <span id="desc-wfp8afp8-dynamic">quant_model_description.json</span>
373 413 
374| 描述键 | 取值 | 说明 |414| 描述键 | 取值 | 说明 |
375| --- | --- | --- |415| --- | --- | --- |
@@ -378,7 +418,8 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
378| `{prefix}.weight_offset` | `"WFP8AFP8_DYNAMIC"` | 权重量化 zero-point |418| `{prefix}.weight_offset` | `"WFP8AFP8_DYNAMIC"` | 权重量化 zero-point |
379| `{prefix}.bias` | `"FLOAT"``"WFP8AFP8_DYNAMIC"` | 偏置(可选) |419| `{prefix}.bias` | `"FLOAT"``"WFP8AFP8_DYNAMIC"` | 偏置(可选) |
380 420 
381-##### <span id="st-wfp8afp8-dynamic">quant_model_weights*.safetensors</span>421+**<span id="st-wfp8afp8-dynamic">`quant_model_weights*.safetensors`</span>**
422+ 
382 423 
383| 张量名 | 数据类型 | 说明 |424| 张量名 | 数据类型 | 说明 |
384| --- | --- | --- |425| --- | --- | --- |
@@ -387,9 +428,8 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
387| `{prefix}.weight_offset` | float32 | 权重量化 zero-point |428| `{prefix}.weight_offset` | float32 | 权重量化 zero-point |
388| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |429| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |
389 430 
390-#### W8A8_MXFP8 / W4A8_MXFP / W4A4_MXFP4431+### 6.10 W8A8_MXFP8 / W4A8_MXFP / W4A4_MXFP4
391- 432+**<span id="desc-mxfp">quant_model_description.json</span>**
392-##### <span id="desc-mxfp">quant_model_description.json</span>
393 433 
394描述键取值分别为 `"W8A8_MXFP8"` / `"W4A8_MXFP"` / `"W4A4_MXFP4"`(与具体枚举一致):434描述键取值分别为 `"W8A8_MXFP8"` / `"W4A8_MXFP"` / `"W4A4_MXFP4"`(与具体枚举一致):
395 435 
@@ -399,7 +439,8 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
399| `{prefix}.weight_scale` | 对应 MXFP 枚举 | block-wise scale |439| `{prefix}.weight_scale` | 对应 MXFP 枚举 | block-wise scale |
400| `{prefix}.bias` | `"FLOAT"` 或对应枚举 | 偏置(可选) |440| `{prefix}.bias` | `"FLOAT"` 或对应枚举 | 偏置(可选) |
401 441 
402-##### <span id="st-mxfp">quant_model_weights*.safetensors</span>442+**<span id="st-mxfp">`quant_model_weights*.safetensors`</span>**
443+ 
403 444 
404| 张量名 | 数据类型 | 说明 |445| 张量名 | 数据类型 | 说明 |
405| --- | --- | --- |446| --- | --- | --- |
@@ -407,9 +448,8 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
407| `{prefix}.weight_scale` | uint8 | block-wise scale(导出时常见 **+127 偏移**后存储,范围 0~255) |448| `{prefix}.weight_scale` | uint8 | block-wise scale(导出时常见 **+127 偏移**后存储,范围 0~255) |
408| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |449| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |
409 450 
410-#### W4A4_MXFP4_DUALSCALE451+### 6.11 W4A4_MXFP4_DUALSCALE
411- 452+**<span id="desc-mxfp-dualscale">quant_model_description.json</span>**
412-##### <span id="desc-mxfp-dualscale">quant_model_description.json</span>
413 453 
414在 [MXFP 描述字段](#desc-mxfp)基础上,取值均为 `"W4A4_MXFP4_DUALSCALE"`,并增加:454在 [MXFP 描述字段](#desc-mxfp)基础上,取值均为 `"W4A4_MXFP4_DUALSCALE"`,并增加:
415 455 
@@ -417,7 +457,7 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
417| --- | --- | --- |457| --- | --- | --- |
418| `{prefix}.weight_dual_scale` | `"W4A4_MXFP4_DUALSCALE"` | 第二路 scale |458| `{prefix}.weight_dual_scale` | `"W4A4_MXFP4_DUALSCALE"` | 第二路 scale |
419 459 
420-##### <span id="st-mxfp-dualscale">quant_model_weights*.safetensors</span>460+**<span id="st-mxfp-dualscale">`quant_model_weights*.safetensors`</span>**
421 461 
422在 [MXFP 权重字段](#st-mxfp)基础上额外包含:462在 [MXFP 权重字段](#st-mxfp)基础上额外包含:
423 463 
@@ -425,9 +465,9 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
425| --- | --- | --- |465| --- | --- | --- |
426| `{prefix}.weight_dual_scale` | float32 | 第二路 scale |466| `{prefix}.weight_dual_scale` | float32 | 第二路 scale |
427 467 
428-#### C8468+### 6.12 C8
469+**<span id="desc-c8">quant_model_description.json</span>**
429 470 
430-##### <span id="desc-c8">quant_model_description.json</span>
431 471 
432| 描述键 / 全局字段 | 取值 | 说明 |472| 描述键 / 全局字段 | 取值 | 说明 |
433| --- | --- | --- |473| --- | --- | --- |
@@ -435,7 +475,8 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
435| `{prefix}.kv_cache_offset` | `"C8"` | KV Cache zero-point |475| `{prefix}.kv_cache_offset` | `"C8"` | KV Cache zero-point |
436| `kv_quant_type` / `kv_cache_type` | 如 `"C8"` / `"KV8"` | 全局 KV 量化类型(与导出实现一致时写入) |476| `kv_quant_type` / `kv_cache_type` | 如 `"C8"` / `"KV8"` | 全局 KV 量化类型(与导出实现一致时写入) |
437 477 
438-##### <span id="st-c8">quant_model_weights*.safetensors</span>478+**<span id="st-c8">`quant_model_weights*.safetensors`</span>**
479+ 
439 480 
440| 张量名 | 数据类型 | 说明 |481| 张量名 | 数据类型 | 说明 |
441| --- | --- | --- |482| --- | --- | --- |
@@ -444,25 +485,27 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
444 485 
445具体 `{prefix}` 随注意力 KV 相关模块命名而定。486具体 `{prefix}` 随注意力 KV 相关模块命名而定。
446 487 
447-#### FAQuant488+### 6.13 FAQuant
448- 
449> **命名约定**:本节 `{prefix}` 指**注意力模块**全名(如 `model.layers.0.self_attn`),与上文 Linear 的 `{prefix}`(如 `...self_attn.q_proj`)不同。AscendV1 经 `export_fa_quant_params` 按 Q / K / V **分别**写出 `fa_q` / `fa_k` / `fa_v` 子键,而非单一的 `{prefix}.scale` / `{prefix}.offset`。489> **命名约定**:本节 `{prefix}` 指**注意力模块**全名(如 `model.layers.0.self_attn`),与上文 Linear 的 `{prefix}`(如 `...self_attn.q_proj`)不同。AscendV1 经 `export_fa_quant_params` 按 Q / K / V **分别**写出 `fa_q` / `fa_k` / `fa_v` 子键,而非单一的 `{prefix}.scale` / `{prefix}.offset`。
450 490 
451-##### <span id="desc-faquant">quant_model_description.json</span>491+**<span id="desc-faquant">quant_model_description.json</span>**
492+ 
452 493 
453| 描述键 / 全局字段 | 取值 | 说明 |494| 描述键 / 全局字段 | 取值 | 说明 |
454| --- | --- | --- |495| --- | --- | --- |
455-| `{prefix}.fa_q.scale` | `"FAQuant"` | Q 激活量化 scale |496+| `{prefix}.fa_q.scale` | `"FAQuant"` | Q 激活量化 scale(仅静态 per-head 路径写出) |
456-| `{prefix}.fa_q.offset` | `"FAQuant"` | Q 激活量化 zero-point |497+| `{prefix}.fa_q.offset` | `"FAQuant"` | Q 激活量化 zero-point(仅静态 per-head 路径写出) |
457-| `{prefix}.fa_k.scale` | `"FAQuant"` | K 激活量化 scale |498+| `{prefix}.fa_k.scale` | `"FAQuant"` | K 激活量化 scale(仅静态 per-head 路径写出) |
458-| `{prefix}.fa_k.offset` | `"FAQuant"` | K 激活量化 zero-point |499+| `{prefix}.fa_k.offset` | `"FAQuant"` | K 激活量化 zero-point(仅静态 per-head 路径写出) |
459-| `{prefix}.fa_v.scale` | `"FAQuant"` | V 激活量化 scale |500+| `{prefix}.fa_v.scale` | `"FAQuant"` | V 激活量化 scale(仅静态 per-head 路径写出) |
460-| `{prefix}.fa_v.offset` | `"FAQuant"` | V 激活量化 zero-point |501+| `{prefix}.fa_v.offset` | `"FAQuant"` | V 激活量化 zero-point(仅静态 per-head 路径写出) |
461-| `fa_quant_type` | `"FAQuant"` | 全局 FA 量化类型(启用 FA 量化时写入) |502+| `{prefix}.quant_type` | string | 该注意力层 FA 策略串,由 AscendV1 按 Q/K/V 的 dtype 与 STATIC/DYNAMIC 拼装(如 `INT8`、`FP8_DYNAMIC`) |
503+| `fa_quant_type` | string | 全局 FA 量化类型(启用 FA 量化时写入,如 `"FAQuant"`) |
462 504 
463-动态量化路径下,对应激活不落盘 `scale` / `offset`(见 FA3 `quant_type` 约定);静态 per-head 路径通常 Q/K/V 六键齐全。505+动态量化路径(激活 `scope` 为 `per_token` / `per_block`)下,对应激活**不落盘** `scale` / `offset`,仅更新上述 `{prefix}.quant_type`;静态 per-head 路径通常 Q/K/V 六键齐全。该落盘差异由 AscendV1 导出逻辑决定,与《[FA3 Quant](../../quantization_algorithms/fa3_quant/term_fa3_quant.md)》算法配置(`qconfig` / `details`)配合使用。
506+ 
507+**<span id="st-faquant">`quant_model_weights*.safetensors`</span>**
464 508 
465-##### <span id="st-faquant">quant_model_weights*.safetensors</span>
466 509 
467| 张量名 | 数据类型 | 说明 |510| 张量名 | 数据类型 | 说明 |
468| --- | --- | --- |511| --- | --- | --- |
@@ -473,30 +516,33 @@ W8A8 静态激活相关字段与 W8A8_DYNAMIC 权重量化字段的并集:
473| `{prefix}.fa_v.scale` | float16 / bfloat16 | V 的 per-head scale |516| `{prefix}.fa_v.scale` | float16 / bfloat16 | V 的 per-head scale |
474| `{prefix}.fa_v.offset` | int8 | V 的 per-head zero-point |517| `{prefix}.fa_v.offset` | int8 | V 的 per-head zero-point |
475 518 
476-### 2.6 适用场景与限制519+---
477 520 
478-#### 2.6.1 适用场景521+## 7. 适用场景与限制
522+ 
523+### 7.1 适用场景
479 524 
480- 昇腾侧 vLLM Ascend、SGLang、MindIE 部署 LLM / 多模态理解量化权重。525- 昇腾侧 vLLM Ascend、SGLang、MindIE 部署 LLM / 多模态理解量化权重。
481- 需要在同一套描述文件中承载多种量化类型枚举的落盘。526- 需要在同一套描述文件中承载多种量化类型枚举的落盘。
482 527 
483-#### 2.6.2 使用限制528+### 7.2 使用限制
484 529 
485- 不适用于仅面向 HF `quantization_config` / compressed-tensors 的通用 vLLM 路径。530- 不适用于仅面向 HF `quantization_config` / compressed-tensors 的通用 vLLM 路径。
486- 具体量化模式是否可用取决于 CANN、推理框架版本与模型最佳实践。531- 具体量化模式是否可用取决于 CANN、推理框架版本与模型最佳实践。
487-- 本词条交付件分两列说明:`quant_model_description.json` 键值与 `quant_model_weights*.safetensors` 张量字段。
488 532 
489-## 3. 关联流程533+---
490 534 
491-| 流程 | 说明 |535+## 8. 关联流程
492-| --- | --- |
493-| 《[AscendV1 使用指南](ascendv1_usage.md)》 | 确认模式支持、配置与执行 |
494-| 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》 | 命令与配置协议 |
495-| 《[量化格式接入指南](../iformat_integration_guide.md)》 | 新格式开发对照 |
496 536 
497-## 4. 关联词条537+- 《[AscendV1 使用指南](ascendv1_usage.md)》:确认模式支持、配置与执行。
538+- 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》:命令与配置协议。
539+- 《[量化格式接入指南](../iformat_integration_guide.md)》:新格式开发对照。
498 540 
499-- [量化格式](../README.md):上位概念,本词条所属目录。541+---
500-- [compressed-tensors](../compressed_tensors/term_compressed_tensors.md):其他,同属量化格式的并列落盘协议。542+ 
501-- [MindIE-SD](../mindie_sd/term_mindie_sd.md):其他,同属量化格式的并列落盘协议。543+## 9. 关联词条
544+ 
545+- [量化格式 量化术语百科词条](../README.md):上位概念,本词条所属目录。
546+- [compressed-tensors 量化格式 量化术语百科词条](../compressed_tensors/term_compressed_tensors.md):其他,同属量化格式的并列落盘协议。
547+- [MindIE-SD 量化格式 量化术语百科词条](../mindie_sd/term_mindie_sd.md):其他,同属量化格式的并列落盘协议。
502- [量化模式](../../quantization_mode/README.md):配套术语,本格式交付件枚举对应各量化模式。548- [量化模式](../../quantization_mode/README.md):配套术语,本格式交付件枚举对应各量化模式。
@@ -1,6 +1,6 @@
1# compressed-tensors 使用指南1# compressed-tensors 使用指南
2 2 
3-本指南说明如何在 msModelSlim 中选用 **compressed-tensors** 量化格式,按 **确认模式支持 → 配置 → 执行** 完成落盘,并将产物部署到 vLLM 等支持 HuggingFace `quantization_config` 的推理框架。格式字段与 Preset 见《[compressed-tensors](term_compressed_tensors.md)》;一键量化命令总览见《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》。3+本指南说明如何在 msModelSlim 中选用 **compressed-tensors** 量化格式,按 **确认模式支持 → 配置 save → 执行量化并核对产物** 完成落盘,并将产物部署到 vLLM 等支持 HuggingFace `quantization_config` 的推理框架。格式字段与 Preset 见《[compressed-tensors](term_compressed_tensors.md)》;一键量化命令总览见《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》。
4 4 
5## 1. 适用范围5## 1. 适用范围
6 6 
@@ -24,19 +24,17 @@
24 24 
25| 类型 | 名称 | 来源或保存位置 | 格式或约束 | 验收方式 |25| 类型 | 名称 | 来源或保存位置 | 格式或约束 | 验收方式 |
26| --- | --- | --- | --- | --- |26| --- | --- | --- | --- | --- |
27-| 输入 | 浮点模型目录 | 本地或 ModelScope/HF | 可被目标 Transformers 版本加载 | `from_pretrained` 冒烟通过 |27+| 输入 | 浮点模型目录 | 本地或 ModelScope/HF | 可被目标 Transformers 版本加载 | `from_pretrained` 可成功加载 |
28-| 输入 | 量化 YAML / 最佳实践 | 最佳实践库或自定义 `config_path` | 含 `spec.save` 且 `type` 为 `compressed_tensors` | 字段通过配置协议校验 |28+| 输入 | 量化 YAML / 最佳实践 | 最佳实践库或自定义 `--config` | 含 `spec.save` 且 `type` 为 `compressed_tensors` | 字段通过配置协议校验 |
29| 交付件 | compressed-tensors 权重目录 | `${SAVE_PATH}` | 含注入 `quantization_config``config.json``model*.safetensors` | 见《[compressed-tensors](term_compressed_tensors.md#export-artifacts)》导出产物 |29| 交付件 | compressed-tensors 权重目录 | `${SAVE_PATH}` | 含注入 `quantization_config``config.json``model*.safetensors` | 见《[compressed-tensors](term_compressed_tensors.md#export-artifacts)》导出产物 |
30 30 
31## 4. 流程总览31## 4. 流程总览
32 32 
33```mermaid33```mermaid
34flowchart LR34flowchart LR
35- adapt[确认模式支持] --> config[配置save] --> run[执行量化并核对产物]35+ adapt[确认模式支持] --> config[配置 save] --> run[执行量化并核对产物]
36```36```
37 37 
38-各阶段对应下文步骤 1~3:**确认**目标推理框架是否支持所选量化模式、**配置** `compressed_tensors`**执行**一键量化并核对交付件。
39- 
40## 5. 操作步骤38## 5. 操作步骤
41 39 
42### 步骤 1:确认目标推理框架支持所选量化模式40### 步骤 1:确认目标推理框架支持所选量化模式
@@ -46,7 +44,7 @@ flowchart LR
46**操作**44**操作**
47 45 
481. 确认目标框架读取 `config.json``quantization_config.quant_method == "compressed-tensors"`(或显式 `quantization="compressed-tensors"`),而非 Ascend 私有加载路径。461. 确认目标框架读取 `config.json``quantization_config.quant_method == "compressed-tensors"`(或显式 `quantization="compressed-tensors"`),而非 Ascend 私有加载路径。
49-2. 对照《[compressed-tensors](term_compressed_tensors.md#mode-support)》量化模式支持情况,确认当前仅 W8A8 Static / Dynamic 有导出 handler;不支持分布式导出与 KV Cache scheme。47+2. 对照《[compressed-tensors](term_compressed_tensors.md#mode-support)》量化模式支持情况,确认当前仅 W8A8 Static / Dynamic 有导出 handler;不支持分布式导出与 KV Cache scheme。
503. 规划推理启动参数:避免误用 `--quantization ascend`483. 规划推理启动参数:避免误用 `--quantization ascend`
51 49 
52**输出**:明确的目标框架、Preset(W8A8 Static / Dynamic)与加载参数说明。50**输出**:明确的目标框架、Preset(W8A8 Static / Dynamic)与加载参数说明。
@@ -79,7 +77,7 @@ spec:
79 77 
80### 步骤 3:执行量化并核对产物78### 步骤 3:执行量化并核对产物
81 79 
82-**目标**:生成可被 vLLM 等加载的权重并完成冒烟核对80+**目标**:生成可被 vLLM 等加载的权重并完成加载与推理验证
83 81 
84**操作**82**操作**
85 83 
@@ -115,20 +113,20 @@ spec:
115 --save_path ${SAVE_PATH} \113 --save_path ${SAVE_PATH} \
116 --device npu \114 --device npu \
117 --model_type ${MODEL_TYPE} \115 --model_type ${MODEL_TYPE} \
118- --config_path ${CONFIG_PATH} \116+ --config ${CONFIG_PATH} \
119- --trust_remote_code True117+ --trust_remote_code False
120 ```118 ```
121 119 
1223. 核对 `${SAVE_PATH}` 中至少存在:1203. 核对 `${SAVE_PATH}` 中至少存在:
123 - `config.json``quantization_config`,且 `quant_method``"compressed-tensors"`121 - `config.json``quantization_config`,且 `quant_method``"compressed-tensors"`
124 - `model.safetensors` 或分片权重 + `model.safetensors.index.json`122 - `model.safetensors` 或分片权重 + `model.safetensors.index.json`
125 - 自源模型复制的 HF 辅助文件齐全 123 - 自源模型复制的 HF 辅助文件齐全
126- 目录树与字段细则见《[compressed-tensors](term_compressed_tensors.md#export-artifacts)》导出产物及各量化模式交付件格式124+ 目录树与字段细则见《[compressed-tensors](term_compressed_tensors.md#export-artifacts)》导出产物及各量化模式交付件格式。
127-4. 使用目标推理框架加载该目录,完成 1 条 generate 或 API 请求冒烟125+4. 使用目标推理框架加载该目录,完成至少 1 条 generate 或 API 请求,确认量化权重可正常加载且推理返回正常该步骤为部署前的快速验证,不要求完整精度评测。
128 126 
129-**输出**:可部署的 `${SAVE_PATH}` 目录与冒烟日志。127+**输出**:可部署的 `${SAVE_PATH}` 目录与验证日志。
130 128 
131-**通过条件**:无权重 shape / dtype mismatch;`quantization_config` 字段合法;冒烟返回正常。129+**通过条件**:无权重 shape / dtype mismatch;`quantization_config` 字段合法;至少 1 条请求返回正常。
132 130 
133## 6. 验收条件131## 6. 验收条件
134 132 
@@ -142,11 +140,3 @@ spec:
142| --- | --- | --- |140| --- | --- | --- |
143| compressed-tensors | HF / vLLM 生态量化格式 | 《[compressed-tensors](term_compressed_tensors.md)》 |141| compressed-tensors | HF / vLLM 生态量化格式 | 《[compressed-tensors](term_compressed_tensors.md)》 |
144| 量化格式 | 工具与推理框架的落盘协议 | 《[量化格式](../README.md)》 |142| 量化格式 | 工具与推理框架的落盘协议 | 《[量化格式](../README.md)》 |
145- 
146-## 8. 接口文档列表
147- 
148-| 接口或能力 | 简述 | 链接 |
149-| --- | --- | --- |
150-| 一键量化 | 命令与配置协议 | 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》 |
151-| compressed_tensors | save 字段 | 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md#5252-compressed_tensors)》 |
152-| 格式接入 | IFormat 1-shot | 《[量化格式接入指南](../iformat_integration_guide.md)》 |
@@ -1,46 +1,47 @@
1-# compressed-tensors1+# compressed-tensors 量化格式 量化术语百科词条
2 2 
3-> **词条类别**:量化数据格式3+> **词条类别**:[量化数据格式](../README.md)<br>
4->4+> **英文名称**:compressed_tensors<br>
5-> **英文名称**:compressed-tensors5+> **应用领域**:HuggingFace / vLLM 生态量化权重交换<br>
6->6+> **msModelSlim 实现**:[`msmodelslim/format/compressed_tensors_format/`](../../../../../msmodelslim/format/compressed_tensors_format/)
7-> **应用领域**:HuggingFace / vLLM 生态量化权重交换7+ 
8->8+---
9-> **msModelSlim 实现**:`msmodelslim/format/compressed_tensors_format/`
10 9 
11## 1. 概述10## 1. 概述
12 11 
13-compressed-tensors 是与 HuggingFace / vLLM 生态兼容的[量化格式](../README.md),字段约定遵循 [vllm-project/compressed-tensors](https://github.com/vllm-project/compressed-tensors) 规范。msModelSlim **导出时内置**该规范的结构定义,量化过程**无需**安装 `compressed-tensors` 包。核心特征是将方案写入 `config.json` → `quantization_config`,权重写入 HF 风格 safetensors。12+compressed-tensors 是与 HuggingFace / vLLM 生态兼容的[量化格式 量化术语百科词条](../README.md),字段约定遵循 [vllm-project/compressed-tensors](https://github.com/vllm-project/compressed-tensors) 规范。msModelSlim **导出时内置**该规范的结构定义,量化过程**无需**安装 `compressed-tensors` 包。核心特征是将方案写入 `config.json` → `quantization_config`,权重写入 HF 风格 safetensors。
14 13 
15配置、执行与部署步骤见《[compressed-tensors 使用指南](compressed_tensors_usage.md)》。各量化模式的原理与公式见《[量化模式](../../quantization_mode/README.md)》及下文支持表中的词条链接。14配置、执行与部署步骤见《[compressed-tensors 使用指南](compressed_tensors_usage.md)》。各量化模式的原理与公式见《[量化模式](../../quantization_mode/README.md)》及下文支持表中的词条链接。
16 15 
16+---
17+ 
17## 2. 词条介绍18## 2. 词条介绍
18 19 
19### 2.1 原理20### 2.1 原理
20 21 
21-#### 2.1.1 核心思想22+**核心思想**
22 23 
23compressed-tensors 本质上是一套**面向 HuggingFace / vLLM 生态的量化模型落盘约定**:它不执行校准或伪量化计算,而是在一键量化流水线末尾,将已量化完成的 QIR 模块转换为推理框架可直接加载的两类交付件——**注入 `config.json` 的 `quantization_config`** 与 **HF 风格权重文件** `model*.safetensors`。前者描述 `quant_method: "compressed-tensors"`、scheme(`QuantizationArgs` / `config_groups`)等元数据,供 vLLM 等按 HF 自动检测路径识别量化方案;后者按模块前缀写入 int8 / scale / zero-point 等张量。推理侧先读 `quantization_config` 确定 scheme,再按键名从 safetensors 取数。24compressed-tensors 本质上是一套**面向 HuggingFace / vLLM 生态的量化模型落盘约定**:它不执行校准或伪量化计算,而是在一键量化流水线末尾,将已量化完成的 QIR 模块转换为推理框架可直接加载的两类交付件——**注入 `config.json` 的 `quantization_config`** 与 **HF 风格权重文件** `model*.safetensors`。前者描述 `quant_method: "compressed-tensors"`、scheme(`QuantizationArgs` / `config_groups`)等元数据,供 vLLM 等按 HF 自动检测路径识别量化方案;后者按模块前缀写入 int8 / scale / zero-point 等张量。推理侧先读 `quantization_config` 确定 scheme,再按键名从 safetensors 取数。
24 25 
25因此,用户可将 compressed-tensors 理解为:**msModelSlim 量化结果的 HF 生态标准导出包**——算法负责量化计算,本格式负责与 [vllm-project/compressed-tensors](https://github.com/vllm-project/compressed-tensors) 规范对齐的落盘与描述。26因此,用户可将 compressed-tensors 理解为:**msModelSlim 量化结果的 HF 生态标准导出包**——算法负责量化计算,本格式负责与 [vllm-project/compressed-tensors](https://github.com/vllm-project/compressed-tensors) 规范对齐的落盘与描述。
26 27 
27-#### 2.1.2 关键性质28+**关键性质**
28 29 
29- 与 HF `from_pretrained` / vLLM 自动检测路径兼容。30- 与 HF `from_pretrained` / vLLM 自动检测路径兼容。
30- 当前仅线性层量化;`targets` 固定为 `["Linear"]`31- 当前仅线性层量化;`targets` 固定为 `["Linear"]`
31- 不支持分布式导出;`kv_cache_scheme` 恒为 `null`32- 不支持分布式导出;`kv_cache_scheme` 恒为 `null`
32-- 仅部分 QIR preset 实现了导出 handler(见下文支持表)。
33 33 
34-### 2.2 <span id="export-artifacts">导出产物(交付件)</span>34+---
35 35 
36-#### 目录与文说明36+## 3. <span id="export-artifacts">导出产物(交付)</span>
37+### 3.1 目录与文件说明
37 38 
38-执行一键量化(`compressed_tensors`)后,在指定的 `save_path` 目录下典型生成以下文件:39+执行一键量化并指定 compressed-tensors 落盘格式保存器 `type` 为 `compressed_tensors`)后,在指定的 `save_path` 目录下生成以下文件:
39 40 
40```text41```text
41save_directory/42save_directory/
42├── config.json # 注入 quantization_config 字段43├── config.json # 注入 quantization_config 字段
43-├── model.safetensors # model-00001-of-xxxxx.safetensors(分片)44+├── model*.safetensors # 不分片时为 model.safetensors;分片时为 model-*-of-*.safetensors
44├── model.safetensors.index.json # 分片时生成45├── model.safetensors.index.json # 分片时生成
45└── (从源模型复制的 HF 辅助文件)46└── (从源模型复制的 HF 辅助文件)
46 └── *.json / *.py / *.txt / *.jinja47 └── *.json / *.py / *.txt / *.jinja
@@ -53,11 +54,11 @@ save_directory/
53| `model.safetensors.index.json` | 分片索引(仅分片时生成) |54| `model.safetensors.index.json` | 分片索引(仅分片时生成) |
54| HF 辅助文件 | 自源模型复制的 `*.json` / `*.py` / `*.txt` / `*.jinja` 等 |55| HF 辅助文件 | 自源模型复制的 `*.json` / `*.py` / `*.txt` / `*.jinja` 等 |
55 56 
56-#### config.json → quantization_config57+### 3.2 config.json → quantization_config
57 58 
58-##### 文件结构示例59+**文件结构示例**
59 60 
60-`quantization_config` 典型结构如下:61+`quantization_config` 结构示例如下:
61 62 
62```json63```json
63{64{
@@ -81,7 +82,8 @@ save_directory/
81}82}
82```83```
83 84 
84-##### <span id="global-metadata">顶层字段说明</span>85+**<span id="global-metadata">顶层字段说明</span>**
86+ 
85 87 
86| 字段 | 说明 |88| 字段 | 说明 |
87| -------------------------------------- | ------------------------------------------------------------- |89| -------------------------------------- | ------------------------------------------------------------- |
@@ -95,7 +97,8 @@ save_directory/
95| `kv_cache_scheme` | KV Cache 量化方案,**当前不支持**,恒为 `null` |97| `kv_cache_scheme` | KV Cache 量化方案,**当前不支持**,恒为 `null` |
96| `sparsity_config` / `transform_config` | 空对象占位 |98| `sparsity_config` / `transform_config` | 空对象占位 |
97 99 
98-##### QuantizationScheme(config_groups 内)100+**QuantizationScheme(config_groups 内)**
101+ 
99 102 
100每个 `config_groups` 条目描述一组层的量化方案。**msModelSlim 当前仅支持线性层(**`nn.Linear` **/ QIR FakeQuantLinear)量化**,因此 `targets` 固定为 `["Linear"]`103每个 `config_groups` 条目描述一组层的量化方案。**msModelSlim 当前仅支持线性层(**`nn.Linear` **/ QIR FakeQuantLinear)量化**,因此 `targets` 固定为 `["Linear"]`
101 104 
@@ -107,7 +110,8 @@ save_directory/
107| `output_activations` | 输出激活量化参数 |110| `output_activations` | 输出激活量化参数 |
108| `format` | 层压缩格式,如 `int-quantized` |111| `format` | 层压缩格式,如 `int-quantized` |
109 112 
110-##### QuantizationArgs 参数说明113+**QuantizationArgs 参数说明**
114+ 
111 115 
112| 参数 | 类型 | 默认值 | 说明 |116| 参数 | 类型 | 默认值 | 说明 |
113| ----------------- | --------- | ------- | -------------------------------------------------------------------------------------- |117| ----------------- | --------- | ------- | -------------------------------------------------------------------------------------- |
@@ -124,37 +128,42 @@ save_directory/
124| `observer` | string | 自动推断 | 校准方法;静态量化默认 `memoryless_minmax`,动态量化为 `null` |128| `observer` | string | 自动推断 | 校准方法;静态量化默认 `memoryless_minmax`,动态量化为 `null` |
125| `observer_kwargs` | object | `{}` | 传给 observer 的额外参数 |129| `observer_kwargs` | object | `{}` | 传给 observer 的额外参数 |
126 130 
127-### 2.3 <span id="engine-support">推理引擎支持情况</span>131+---
128 132 
129-compressed-tensors **均可导出**下表中的 Preset;下表描述的是产物能否被目标推理引擎按 HF `quantization_config` 加载。具体模型 × Preset × 引擎组合以支持矩阵与官方最佳实践为准。133+## 4. <span id="engine-support">推理引擎支持情况</span>
134+ 
135+下表中的 Preset **均可被 compressed-tensors 导出**;下表描述的是产物能否被目标推理引擎按 HF `quantization_config` 加载。具体模型 × Preset × 引擎组合以《[大模型支持矩阵](../../model/README.md)》与官方最佳实践为准。
130 136 
131| 格式 Preset | vLLM(HF 生态) | 说明 |137| 格式 Preset | vLLM(HF 生态) | 说明 |
132| --- | --- | --- |138| --- | --- | --- |
133| W8A8 Static | √ | 激活已离线校准;`act.scope: per_tensor` |139| W8A8 Static | √ | 激活已离线校准;`act.scope: per_tensor` |
134| W8A8 Dynamic | √ | 激活动态;`act.scope: per_token` |140| W8A8 Dynamic | √ | 激活动态;`act.scope: per_token` |
135 141 
136-> **图例**:`√` 表示该引擎存在可加载路径或已有验证实践。选型时先确认框架支持 `quant_method: "compressed-tensors"`,再在下文[量化模式支持情况](#mode-support)核对交付件字段。Ascend 私有路径请改用《[AscendV1](../ascendv1/term_ascendv1.md)》。142+> **图例**:`√` 表示该引擎存在可加载路径或已有验证实践。选型时先确认框架支持 `quant_method: "compressed-tensors"`,再在下文 [量化模式支持情况](#mode-support) 核对交付件字段。Ascend 私有路径请改用《[AscendV1](../ascendv1/term_ascendv1.md)》。
137 143 
138-### 2.4 <span id="mode-support">量化模式支持情况</span>144+---
139 145 
140-> **交付件说明**:「交付件:quantization_config」→ `config.json` scheme;「交付件:safetensors」→ `model*.safetensors`。模式原理见《[量化模式](../../quantization_mode/README.md)》词条。146+## 5. <span id="mode-support">量化模式支持情况</span>
147+ 
148+> **交付件说明**:表中交付件:quantization_config对应 `config.json` 内 scheme;交付件:safetensors对应 `model*.safetensors`。模式原理见《[量化模式](../../quantization_mode/README.md)》词条。本词条交付件分两列说明:`quantization_config` 与 `model*.safetensors`。
141 149 
142| 格式 Preset | compressed-tensors 是否支持导出 | 量化模式词条 | 交付件:quantization_config | 交付件:safetensors |150| 格式 Preset | compressed-tensors 是否支持导出 | 量化模式词条 | 交付件:quantization_config | 交付件:safetensors |
143| ------------ | ------------------------- | ---------------- | ----------------------------------------- | ------------------------------------- |151| ------------ | ------------------------- | ---------------- | ----------------------------------------- | ------------------------------------- |
144| W8A8 Static | 支持 | [W8A8 静态量化](../../quantization_mode/linear_layer_quantization/term_w8a8_static.md) | [W8A8 Static scheme](#desc-w8a8-static) | [W8A8 Static 权重张量](#st-w8a8-static) |152| W8A8 Static | 支持 | [W8A8 静态量化](../../quantization_mode/linear_layer_quantization/term_w8a8_static.md) | [W8A8 Static scheme](#desc-w8a8-static) | [W8A8 Static 权重张量](#st-w8a8-static) |
145| W8A8 Dynamic | 支持 | [W8A8 动态量化](../../quantization_mode/linear_layer_quantization/term_w8a8_dynamic.md) | [W8A8 Dynamic scheme](#desc-w8a8-dynamic) | [W8A8 Dynamic 权重张量](#st-w8a8-dynamic) |153| W8A8 Dynamic | 支持 | [W8A8 动态量化](../../quantization_mode/linear_layer_quantization/term_w8a8_dynamic.md) | [W8A8 Dynamic scheme](#desc-w8a8-dynamic) | [W8A8 Dynamic 权重张量](#st-w8a8-dynamic) |
146 154 
147-### 2.5 各量化模式交付件格式155+---
156+ 
157+## 6. 各量化模式交付件格式
148 158 
149约定:159约定:
150 160 
151- `{prefix}` 为模块前缀(例如 `model.layers.0.self_attn.q_proj`)。161- `{prefix}` 为模块前缀(例如 `model.layers.0.self_attn.q_proj`)。
152-- **quantization_config**:写入 `config.json`;顶层与 `QuantizationArgs` 见上文[顶层字段说明](#global-metadata);下文给出各 Preset 在 `config_groups` 中的典型 scheme。162+- **quantization_config**:写入 `config.json`;顶层与 `QuantizationArgs` 见上文[顶层字段说明](#global-metadata);下文给出各 Preset 在 `config_groups` 中的典型 scheme。
153- **safetensors**:文件 `model*.safetensors`(可分片);键为 `{prefix}.<param>`,存实际数值张量。163- **safetensors**:文件 `model*.safetensors`(可分片);键为 `{prefix}.<param>`,存实际数值张量。
154 164 
155-#### W8A8 Static165+### 6.1 W8A8 Static
156- 166+**<span id="desc-w8a8-static">config.json → quantization_config</span>**
157-##### <span id="desc-w8a8-static">config.json → quantization_config</span>
158 167 
159典型 `config_groups` 条目(`weights.dynamic = false`,含静态激活):168典型 `config_groups` 条目(`weights.dynamic = false`,含静态激活):
160 169 
@@ -165,7 +174,8 @@ compressed-tensors **均可导出**下表中的 Preset;下表描述的是产
165| `input_activations.num_bits` / `type` / `strategy` / `symmetric` / `dynamic` | `8` / `"int"` / `"tensor"` / `false` / `false` | 静态激活量化 |174| `input_activations.num_bits` / `type` / `strategy` / `symmetric` / `dynamic` | `8` / `"int"` / `"tensor"` / `false` / `false` | 静态激活量化 |
166| `format` | `"int-quantized"` | 层压缩格式 |175| `format` | `"int-quantized"` | 层压缩格式 |
167 176 
168-##### <span id="st-w8a8-static">model*.safetensors</span>177+**<span id="st-w8a8-static">`model*.safetensors`</span>**
178+ 
169 179 
170| 张量名 | 数据类型 | 说明 |180| 张量名 | 数据类型 | 说明 |
171| --------------------------- | ------- | -------------------------- |181| --------------------------- | ------- | -------------------------- |
@@ -175,20 +185,20 @@ compressed-tensors **均可导出**下表中的 Preset;下表描述的是产
175| `{prefix}.input_zero_point` | - | 仅当 `input_offset != 0` 时写入 |185| `{prefix}.input_zero_point` | - | 仅当 `input_offset != 0` 时写入 |
176| `{prefix}.bias` | float32 | 可选 |186| `{prefix}.bias` | float32 | 可选 |
177 187 
178-#### W8A8 Dynamic188+### 6.2 W8A8 Dynamic
189+**<span id="desc-w8a8-dynamic">config.json → quantization_config</span>**
179 190 
180-##### <span id="desc-w8a8-dynamic">config.json quantization_config</span>191+典型 `config_groups` 条目(激活为动态,导出时 `input_activations.dynamic = true`):
181 192 
182-典型 `config_groups` 条目(激活为动态,导出时 `input_activations.dynamic = true` 或按 QIR 约定写入):193+| 字段路径 | 典型取值 | 说明 |
194+| ---------------------------------------------------------------------------- | --------------------------------------------- | ------------------------------- |
195+| `targets` | `["Linear"]` | 仅线性层 |
196+| `weights.num_bits` / `type` / `strategy` / `symmetric` / `dynamic` | `8` / `"int"` / `"channel"` / `true` / `false` | 权重量化(per-channel) |
197+| `input_activations.num_bits` / `type` / `strategy` / `symmetric` / `dynamic` | `8` / `"int"` / `"token"` / `false` / `true` | 动态激活;scale / zero-point **不落盘** |
198+| `format` | `"int-quantized"` | 层压缩格式 |
183 199 
184-| 字段路径 | 典型取值 | 说明 |200+**<span id="st-w8a8-dynamic">`model*.safetensors`</span>**
185-| ------------------------------------------------------------------ | ---------------------------------------------- | ------------------------------- |
186-| `targets` | `["Linear"]` | 仅线性层 |
187-| `weights.num_bits` / `type` / `strategy` / `symmetric` / `dynamic` | `8` / `"int"` / `"channel"` / `true` / `false` | 权重量化(per-channel) |
188-| `input_activations` | 动态激活参数(`dynamic: true`) | 激活动态;scale / zero-point **不落盘** |
189-| `format` | `"int-quantized"` | 层压缩格式 |
190 201 
191-##### <span id="st-w8a8-dynamic">model*.safetensors</span>
192 202 
193| 张量名 | 数据类型 | 说明 |203| 张量名 | 数据类型 | 说明 |
194| ----------------------- | ------- | ------------------------------- |204| ----------------------- | ------- | ------------------------------- |
@@ -198,31 +208,35 @@ compressed-tensors **均可导出**下表中的 Preset;下表描述的是产
198 208 
199> 动态激活的 scale / zero-point **不写入**权重文件,推理时 per-token 动态计算。209> 动态激活的 scale / zero-point **不写入**权重文件,推理时 per-token 动态计算。
200 210 
201-### 2.6 适用场景与限制211+---
202 212 
203-#### 2.6.1 适用场景213+## 7. 适用场景与限制
214+ 
215+### 7.1 适用场景
204 216 
205- 向 vLLM 等 HF 生态框架交付可互换量化权重。217- 向 vLLM 等 HF 生态框架交付可互换量化权重。
206- 需要与 compressed-tensors 规范对齐的 `quantization_config` 交换。218- 需要与 compressed-tensors 规范对齐的 `quantization_config` 交换。
207 219 
208-#### 2.6.2 使用限制220+### 7.2 使用限制
209 221 
210- 不支持分布式导出(`support_distributed() = False`)。222- 不支持分布式导出(`support_distributed() = False`)。
211- KV Cache 量化暂不支持(`kv_cache_scheme = null`)。223- KV Cache 量化暂不支持(`kv_cache_scheme = null`)。
212- 仅 W8A8 Static / W8A8 Dynamic 两种 QIR 有 handler。224- 仅 W8A8 Static / W8A8 Dynamic 两种 QIR 有 handler。
213-- 本词条交付件分两列说明:`quantization_config` 与 `model*.safetensors`;不展开量化模式原理与算子说明(见《[量化模式](../../quantization_mode/README.md)》)。225+- 不展开量化模式原理与算子说明(见《[量化模式](../../quantization_mode/README.md)》)。
214 226 
215-## 3. 关联流程227+---
216 228 
217-| 流程 | 说明 |229+## 8. 关联流程
218-| ------------------------------------------------------------- | ----------------- |
219-| 《[compressed-tensors 使用指南](compressed_tensors_usage.md)》 | 确认模式支持、配置与执行 |
220-| 《[量化格式接入指南](../iformat_integration_guide.md)》 | IFormat 1-shot 参考 |
221-| 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》 | save 配置总览 |
222 230 
223-## 4. 关联词条231+- 《[compressed-tensors 使用指南](compressed_tensors_usage.md)》:确认模式支持、配置与执行。
232+- 《[量化格式接入指南](../iformat_integration_guide.md)》:IFormat 1-shot 参考。
233+- 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》:save 配置总览。
224 234 
225-- [量化格式](../README.md):上位概念,本词条所属目录。235+---
226-- [AscendV1](../ascendv1/term_ascendv1.md):其他,同属量化格式的并列落盘协议。236+ 
227-- [MindIE-SD](../mindie_sd/term_mindie_sd.md):其他,同属量化格式的并列落盘协议。237+## 9. 关联词条
228-- [量化模式](../../quantization_mode/README.md):配套术语,本格式 Preset 与交付件字段对应各量化模式;详见本页「[量化模式支持情况](#mode-support)」。238+ 
239+- [量化格式 量化术语百科词条](../README.md):上位概念,本词条所属目录。
240+- [AscendV1 量化格式 量化术语百科词条](../ascendv1/term_ascendv1.md):其他,同属量化格式的并列落盘协议。
241+- [MindIE-SD 量化格式 量化术语百科词条](../mindie_sd/term_mindie_sd.md):其他,同属量化格式的并列落盘协议。
242+- [量化模式](../../quantization_mode/README.md):配套术语,本格式 Preset 与交付件字段对应各量化模式;详见本页[量化模式支持情况](#mode-support)。
@@ -15,7 +15,7 @@
15- 已阅读《[量化格式](README.md)》并确认需新增格式(而非扩展既有 handler)15- 已阅读《[量化格式](README.md)》并确认需新增格式(而非扩展既有 handler)
16- 已明确目标推理框架的加载约定(张量命名与元数据 schema)16- 已明确目标推理框架的加载约定(张量命名与元数据 schema)
17 17 
18-**后续操作**:合入后更新《[量化格式](README.md)》格式地图词条与使用指南;按《[资料规范](../../contributing/development_guide/docs_standards/README.md)》及 docs-management 场景《[新建量化格式资料](../../../../skills/docs-management/scenarios/add-quantization-format.md)》(`add-quantization-format`)补齐文档18+**后续操作**:代码合入后补齐文档:按《[资料规范](../../contributing/development_guide/docs_standards/README.md)》《[新建量化格式资料](../../../../skills/docs-management/scenarios/add-quantization-format.md)》编写格式词条与使用指南,并更新《[量化格式](README.md)》格式地图
19 19 
20## 3. 输入和交付件20## 3. 输入和交付件
21 21 
@@ -23,7 +23,7 @@
23| --- | --- | --- | --- | --- |23| --- | --- | --- | --- | --- |
24| 输入 | 目标格式规范 | 上游项目或内部 RFC | 张量键名、dtype、元数据字段可核对 | 与推理侧加载文档对照 |24| 输入 | 目标格式规范 | 上游项目或内部 RFC | 张量键名、dtype、元数据字段可核对 | 与推理侧加载文档对照 |
25| 输入 | QIR 模块类型列表 | `msmodelslim/ir` | 需实现 handler 的 FakeQuant 类型 | 列出模块类名 |25| 输入 | QIR 模块类型列表 | `msmodelslim/ir` | 需实现 handler 的 FakeQuant 类型 | 列出模块类名 |
26-| 交付件 | IFormat 实现与 Config | `msmodelslim/format/<name>/` | 注册进 `QuantFormatFactory` / Union | 单测通过 |26+| 交付件 | IFormat 实现与 Config | `msmodelslim/format/<name>/` | Config 加入 `QuantFormatConfigUnion` | 单测通过 |
27| 交付件 | YAML 可启用的 `type` | 一键量化 `spec.save` | 与 Config `Literal` 一致 | 配置反序列化成功 |27| 交付件 | YAML 可启用的 `type` | 一键量化 `spec.save` | 与 Config `Literal` 一致 | 配置反序列化成功 |
28| 交付件 | 单元测试 | `test/cases/format/` | 覆盖张量键与元数据 | CI / 本地断言通过 |28| 交付件 | 单元测试 | `test/cases/format/` | 覆盖张量键与元数据 | CI / 本地断言通过 |
29 29 
@@ -41,7 +41,7 @@ flowchart LR
41 41 
42### 步骤 1:适配协议与基类42### 步骤 1:适配协议与基类
43 43 
44-**目标**:理解 `IFormat` / `ExportContext` / `QuantFormatBase` 职责边界。44+**目标**:理解 `IFormat` / `ExportContext` / `QuantFormatBase` 职责边界,并据此完成新格式适配所需的协议对齐与基类选型
45 45 
46**操作**:阅读 [`msmodelslim/format/interface.py`](../../../../msmodelslim/format/interface.py) 与 [`msmodelslim/format/base.py`](../../../../msmodelslim/format/base.py)。46**操作**:阅读 [`msmodelslim/format/interface.py`](../../../../msmodelslim/format/interface.py) 与 [`msmodelslim/format/base.py`](../../../../msmodelslim/format/base.py)。
47 47 
@@ -145,36 +145,25 @@ class MyQuantFormat(QuantFormatBase):
145 145 
146### 步骤 4:注册格式绑定与 YAML 联合类型146### 步骤 4:注册格式绑定与 YAML 联合类型
147 147 
148-**操作**: [`msmodelslim/format/registry.py`](../../../../msmodelslim/format/registry.py) 注册,并将 Config 加入 `QuantFormatConfigUnion`:148+**目标**:使 YAML spec.save[].type 能按 type 反序列化为新 Config。
149+ 
150+**操作**:在 [msmodelslim/format/registry.py](../../../../msmodelslim/format/registry.py) 中 import 新 Config,并加入 QuantFormatConfigUnion:
149 151 
150```python152```python
151-class QuantFormatFactory:153+from msmodelslim.format.my_format.my_format import MyQuantFormatConfig
152- BUILTIN_BINDINGS = (
153- (CompressedTensorsQuantFormatConfig, CompressedTensorsQuantFormat),
154- (MyQuantFormatConfig, MyQuantFormat), # 新增
155- )
156-```
157 154 
158-或运行时:
159- 
160-```python
161-from msmodelslim.processor.save.registry import register_quant_format
162-register_quant_format(MyQuantFormatConfig, MyQuantFormat)
163-```
164- 
165-```python
166QuantFormatConfigUnion = Annotated[155QuantFormatConfigUnion = Annotated[
167 Union[156 Union[
168 CompressedTensorsQuantFormatConfig,157 CompressedTensorsQuantFormatConfig,
169- MyQuantFormatConfig, # 新增
170 AscendV1QuantFormatConfig,158 AscendV1QuantFormatConfig,
171 MindIEQuantFormatConfig,159 MindIEQuantFormatConfig,
160+ MyQuantFormatConfig, # 新增
172 ],161 ],
173 Field(discriminator="type"),162 Field(discriminator="type"),
174]163]
175```164```
176 165 
177-`import msmodelslim.format` 时会自动执行安装注册166+加入后,parse_format_config 与一键量化 spec.save 即可识别 type: "my_format"
178 167 
179**输出**:可被 Pydantic 按 `type` 反序列化的配置绑定。168**输出**:可被 Pydantic 按 `type` 反序列化的配置绑定。
180 169 
@@ -195,7 +184,7 @@ QuantFormatConfigUnion = Annotated[
195 184 
1963. 按资料标准在 `docs/zh/knowledge_base/quantization_format/<format_name>/` 新增词条与使用指南,并在《[量化格式](README.md)》地图登记链接。1853. 按资料标准在 `docs/zh/knowledge_base/quantization_format/<format_name>/` 新增词条与使用指南,并在《[量化格式](README.md)》地图登记链接。
197 186 
198-**输出**:可运行导出、通过单测、文档地图可导航。187+**输出**:可通过一键量化 YAML(`spec.save.type`)启动导出、单测通过、文档地图可导航。
199 188 
200**通过条件**:配置可解析;单测断言通过;地图存在新格式词条与使用指南链接。189**通过条件**:配置可解析;单测断言通过;地图存在新格式词条与使用指南链接。
201 190 
@@ -205,7 +194,7 @@ QuantFormatConfigUnion = Annotated[
205- 缺少对关键 QIR 类型的 handler 或元数据写入失败,不得合入。194- 缺少对关键 QIR 类型的 handler 或元数据写入失败,不得合入。
206- 文档未登记到格式地图时,资料验收不通过。195- 文档未登记到格式地图时,资料验收不通过。
207 196 
208-## 9. 术语197+## 7. 术语
209 198 
210| 术语 | 简述 | 链接 |199| 术语 | 简述 | 链接 |
211| --- | --- | --- |200| --- | --- | --- |
@@ -213,11 +202,9 @@ QuantFormatConfigUnion = Annotated[
213| compressed-tensors | 1-shot 参考格式 | 《[compressed-tensors](compressed_tensors/term_compressed_tensors.md)》 |202| compressed-tensors | 1-shot 参考格式 | 《[compressed-tensors](compressed_tensors/term_compressed_tensors.md)》 |
214| AscendV1 | 昇腾默认格式(对照) | 《[AscendV1](ascendv1/term_ascendv1.md)》 |203| AscendV1 | 昇腾默认格式(对照) | 《[AscendV1](ascendv1/term_ascendv1.md)》 |
215 204 
216-## 10. 接口文档列表205+## 8. 接口文档列表
217 206 
218| 接口或能力 | 简述 | 链接 |207| 接口或能力 | 简述 | 链接 |
219| --- | --- | --- |208| --- | --- | --- |
220-| IFormat | 导出协议 | [`msmodelslim/format/interface.py`](../../../../msmodelslim/format/interface.py) |209+| `IFormat` | 量化落盘格式协议,需实现三个接口:`prepare_export`、`process_module_tensors`、`finalize_export` | [接口定义](../../../../msmodelslim/format/interface.py) |
221-| QuantFormatBase | 推荐基类 | [`msmodelslim/format/base.py`](../../../../msmodelslim/format/base.py) |210+| `QuantFormatFactory` / registry | `QuantFormatConfigUnion` 反序列化与格式工厂构造 | [注册与工厂](../../../../msmodelslim/format/registry.py) |
222-| 注册表 | Config 联合类型与工厂 | [`msmodelslim/format/registry.py`](../../../../msmodelslim/format/registry.py) |
223-| 保存处理器 | 调用导出 | [`msmodelslim/processor/save/processor.py`](../../../../msmodelslim/processor/save/processor.py) |
@@ -1,6 +1,6 @@
1# MindIE-SD 使用指南1# MindIE-SD 使用指南
2 2 
3-本指南说明如何在 msModelSlim 中选用 **MindIE-SD** 量化格式,按 **确认模式支持 → 配置 → 执行** 完成落盘,并将产物部署到 MindIE 多模态生成路径。格式字段与枚举见《[MindIE-SD](term_mindie_sd.md)》;一键量化与多模态协议见《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》。3+本指南说明如何在 msModelSlim 中选用 **MindIE-SD** 量化格式,按 **确认模式支持 → 配置 save → 执行量化并核对产物** 完成落盘,并将产物部署到 MindIE 多模态生成路径。格式字段与枚举见《[MindIE-SD](term_mindie_sd.md)》;模型适配与 `--config` 执行量化见《[权重量化使用指南](../../../user_guide/usage_weight_quantization.md)》;配置协议与最佳实践入口见《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》。
4 4 
5## 1. 适用范围5## 1. 适用范围
6 6 
@@ -10,7 +10,7 @@
10 10 
11## 2. 流程关系与前置条件11## 2. 流程关系与前置条件
12 12 
13-**上级流程**:《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》;模型侧见《[多模态生成模型接入](../../model/integrating_multimodal_generation_model.md)》。13+**上级流程**:《[权重量化使用指南](../../../user_guide/usage_weight_quantization.md)》;模型侧接入细节见《[多模态生成模型接入指南](../../model/integrating_multimodal_generation_model.md)》;配置协议与最佳实践入口见《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》
14 14 
15**前置条件**15**前置条件**
16 16 
@@ -24,20 +24,16 @@
24| 类型 | 名称 | 来源或保存位置 | 格式或约束 | 验收方式 |24| 类型 | 名称 | 来源或保存位置 | 格式或约束 | 验收方式 |
25| --- | --- | --- | --- | --- |25| --- | --- | --- | --- | --- |
26| 输入 | 多模态生成浮点模型 | 本地路径 | 适配器可加载 | 适配器 init 成功 |26| 输入 | 多模态生成浮点模型 | 本地路径 | 适配器可加载 | 适配器 init 成功 |
27-| 输入 | YAML(`apiversion: multimodal_sd_modelslim_v1`)或官方 `quant_type` | 最佳实践 / lab_practice | `save` 含 `mindie_format_saver` | 配置校验通过 |27+| 输入 | YAML(`apiversion: multimodal_sd_modelslim_v1`)或官方 `quant_type` | 最佳实践 / lab_practice / `${CONFIG_PATH}` | `save` 含 `mindie_format_saver` | 配置校验通过 |
28| 交付件 | MindIE-SD 量化目录 | `${SAVE_PATH}` | 含描述 JSON 与 `quant_model_weight*.safetensors` | 见《[MindIE-SD](term_mindie_sd.md#export-artifacts)》导出产物 |28| 交付件 | MindIE-SD 量化目录 | `${SAVE_PATH}` | 含描述 JSON 与 `quant_model_weight*.safetensors` | 见《[MindIE-SD](term_mindie_sd.md#export-artifacts)》导出产物 |
29 29 
30## 4. 流程总览30## 4. 流程总览
31 31 
32```mermaid32```mermaid
33flowchart LR33flowchart LR
34- adapt[确认模式支持] --> config[配置save] --> run[执行量化并核对产物]34+ adapt[确认模式支持] --> config[配置 save] --> run[执行量化并核对产物]
35```35```
36 36 
37-各阶段对应下文步骤 1~3:**确认**目标推理框架是否支持所选量化模式、**配置** `mindie_format_saver`**执行**一键量化并核对交付件。
38- 
39-> 说明:MindIE-SD 无 AscendV1 侧的 `AscendV1SaveInterface` 钩子;新模型接入见《[多模态生成模型接入](../../model/integrating_multimodal_generation_model.md)》,本流程不单独设「适配器适配 save」步骤。
40- 
41## 5. 操作步骤37## 5. 操作步骤
42 38 
43### 步骤 1:确认目标推理框架支持所选量化模式39### 步骤 1:确认目标推理框架支持所选量化模式
@@ -46,8 +42,8 @@ flowchart LR
46 42 
47**操作**43**操作**
48 44 
49-1. 确认业务为多模态生成(如 Wan2.2 T2V / I2V / TI2V),且 MindIE 版本支持对应量化权重;走 MindIE-SD,而非 AscendV1 / compressed-tensors。45+1. 确认业务为多模态生成(如 Wan2.2 T2V / I2V / TI2V),且 MindIE 版本支持对应量化权重;走 MindIE-SD(`mindie_format_saver`)。多模态生成场景不要改用 AscendV1 / compressed-tensors。
50-2. 对照《[MindIE-SD](term_mindie_sd.md#mode-support)》量化模式支持情况与 example / lab_practice 推荐 YAML,确认所选模式在 MindIE-SD 支持表内;不支持的模式改走《[AscendV1](../ascendv1/term_ascendv1.md)》46+2. 对照《[MindIE-SD](term_mindie_sd.md#mode-support)》量化模式支持情况与 example / lab_practice 推荐 YAML,确认所选模式在 MindIE-SD 支持表内。
513. 明确 `multimodal_sd_config.inference_config`(如 `task``size``frame_num`)须与 `--model_type` 场景一致。473. 明确 `multimodal_sd_config.inference_config`(如 `task``size``frame_num`)须与 `--model_type` 场景一致。
524. 明确是否启用 dump(`dump_config.enable_dump`)及 `dump_data_dir`(见《[MindIE-SD](term_mindie_sd.md#optional-dump)》可选导出)。484. 明确是否启用 dump(`dump_config.enable_dump`)及 `dump_data_dir`(见《[MindIE-SD](term_mindie_sd.md#optional-dump)》可选导出)。
53 49 
@@ -74,19 +70,19 @@ spec:
74| `part_file_size` | int | `4`(代码默认;多模态示例常写 `0`) | 权重分片大小(GB);`0` 表示不分片 |70| `part_file_size` | int | `4`(代码默认;多模态示例常写 `0`) | 权重分片大小(GB);`0` 表示不分片 |
75| `ext` | object | `{}` | 可选扩展配置;常规导出可省略 |71| `ext` | object | `{}` | 可选扩展配置;常规导出可省略 |
76 72 
77-也可直接使用官方 `quant_type` 最佳实践(多模态最佳实践通常已含 `mindie_format_saver`)。完整协议见《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md#5341-mindie_format_saver)》及 `#53-multimodal_sd_modelslim_v1-配置详解`73+也可直接使用官方 `quant_type` 最佳实践(多模态最佳实践通常已含 `mindie_format_saver`)。完整协议见《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md#5341-mindie_format_saver)》及《[multimodal_sd_modelslim_v1 配置详解](../../../user_guide/usage_quick_quantization.md#53-multimodal_sd_modelslim_v1-配置详解)》
78 74 
79**输出**:可用 YAML 配置路径,或确认采用官方 `quant_type` 一键路径。75**输出**:可用 YAML 配置路径,或确认采用官方 `quant_type` 一键路径。
80 76 
81-**通过条件**:`type` 为 `mindie_format_saver`;`apiversion` 为 `multimodal_sd_modelslim_v1`(或等价官方入口)。77+**通过条件**:`type` 为 `mindie_format_saver`;`apiversion` 为 `multimodal_sd_modelslim_v1`(也可直接使用官方 `quant_type` 最佳实践入口,无需手写完整 YAML)。
82 78 
83### 步骤 3:执行量化并核对产物79### 步骤 3:执行量化并核对产物
84 80 
85-**目标**:生成 MindIE 可加载目录并完成冒烟核对81+**目标**:生成 MindIE 可加载目录并完成加载与生成验证
86 82 
87**操作**83**操作**
88 84 
89-1. 准备最小可执行 YAML(保存为 `${CONFIG_PATH}`)。以下以 Wan2.2 T2V 场景的线性层 MXFP8 + `mindie_format_saver` 为例;`process` / `inference_config` 可按场景替换,`save` 须保留 `mindie_format_saver`,`apiversion` 须为 `multimodal_sd_modelslim_v1`85+1. 准备最小可执行 YAML(保存为 `${CONFIG_PATH}`)。以下以 Wan2.2 T2V 场景的线性层 MXFP8 + `mindie_format_saver` 为例;`process` / `inference_config` 可按场景替换,`save` 须保留 `mindie_format_saver`,`apiversion` 须为 `multimodal_sd_modelslim_v1`
90 86 
91 ```yaml87 ```yaml
92 apiversion: multimodal_sd_modelslim_v188 apiversion: multimodal_sd_modelslim_v1
@@ -122,26 +118,28 @@ spec:
122 task: "t2v-A14B"118 task: "t2v-A14B"
123 ```119 ```
124 120 
125-2. 按《[多态生成模接入](../../model/integrating_multimodal_generation_model.md)》或《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》执行量化121+2. 确认目标型已完接入,再以本步骤第 1 点写出的 `${CONFIG_PATH}` 执行量化。适配与显式指定配置的完整步骤见《[权重量化使用指南](../../../user_guide/usage_weight_quantization.md)》:
122+ - **尚未接入**:先按该指南[步骤 2:完成模型适配](../../../user_guide/usage_weight_quantization.md#步骤-2完成模型适配)完成适配器开发与注册,再进入量化。
123+ - **已接入**:确认 `--model_type` 可命中适配器后,按该指南[步骤 4:执行一键量化命令](../../../user_guide/usage_weight_quantization.md#步骤-4执行一键量化命令),使用 `--config ${CONFIG_PATH}` 执行量化:
126 124 
127 ```bash125 ```bash
128 msmodelslim quant \126 msmodelslim quant \
129 --model_path ${MODEL_PATH} \127 --model_path ${MODEL_PATH} \
130 --save_path ${SAVE_PATH} \128 --save_path ${SAVE_PATH} \
131 --device npu \129 --device npu \
132- --model_type Wan2.2-T2V-A14B \130+ --model_type ${MODEL_TYPE} \
133- --config_path ${CONFIG_PATH} \131+ --config ${CONFIG_PATH} \
134- --trust_remote_code True132+ --trust_remote_code False
135 ```133 ```
136 134 
1373. 核对 `${SAVE_PATH}` 中至少存在:1353. 核对 `${SAVE_PATH}` 中至少存在:
138 - `quant_model_description.json`(或带量化类型后缀的变体)136 - `quant_model_description.json`(或带量化类型后缀的变体)
139 - `quant_model_weight.safetensors`(或分片 + index / 带量化类型后缀的变体)137 - `quant_model_weight.safetensors`(或分片 + index / 带量化类型后缀的变体)
140 - 自源模型复制的 `.json` / `.py` 配置与代码文件 138 - 自源模型复制的 `.json` / `.py` 配置与代码文件
141- 目录树与字段细则见《[MindIE-SD](term_mindie_sd.md#export-artifacts)》导出产物及各量化模式交付件格式139+ 目录树与字段细则见《[MindIE-SD](term_mindie_sd.md#export-artifacts)》导出产物及各量化模式交付件格式。
142-4. 按 MindIE 部署文档加载该目录,完成一次生成冒烟(分辨率 / 帧数等与 `inference_config` 一致)。140+4. 按 MindIE 部署文档加载该目录,完成一次生成验证(分辨率 / 帧数等与 `inference_config` 一致)。该步骤为部署前的快速验证,不要求完整画质评测。
143 141 
144-**输出**:可部署的 `${SAVE_PATH}` 与冒烟结果。142+**输出**:可部署的 `${SAVE_PATH}` 与验证结果。
145 143 
146**通过条件**:描述文件与权重齐全;MindIE 可加载;生成流程无权重 shape / dtype 加载错误。144**通过条件**:描述文件与权重齐全;MindIE 可加载;生成流程无权重 shape / dtype 加载错误。
147 145 
@@ -158,13 +156,4 @@ spec:
158| --- | --- | --- |156| --- | --- | --- |
159| MindIE-SD | 多模态生成 MindIE 落盘格式 | 《[MindIE-SD](term_mindie_sd.md)》 |157| MindIE-SD | 多模态生成 MindIE 落盘格式 | 《[MindIE-SD](term_mindie_sd.md)》 |
160| 量化格式 | 工具与推理框架的落盘协议 | 《[量化格式](../README.md)》 |158| 量化格式 | 工具与推理框架的落盘协议 | 《[量化格式](../README.md)》 |
161- 159+| 权重量化 | 模型适配、编写配置并以 --config 执行量化的业务路径 | 《[权重量化使用指南](../../../user_guide/usage_weight_quantization.md)》 |
162-## 8. 接口文档列表
163- 
164-| 接口或能力 | 简述 | 链接 |
165-| --- | --- | --- |
166-| 一键量化 | 命令与配置协议 | 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》 |
167-| mindie_format_saver | save 字段 | 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md#5341-mindie_format_saver)》 |
168-| multimodal_sd 配置 | dump / inference_config | 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md#53-multimodal_sd_modelslim_v1-配置详解)》 |
169-| 多模态生成接入 | 模型与示例 | 《[多模态生成模型接入](../../model/integrating_multimodal_generation_model.md)》 |
170-| 格式接入 | 新格式开发对照 | 《[量化格式接入指南](../iformat_integration_guide.md)》 |
@@ -1,34 +1,31 @@
1-# MindIE-SD1+# MindIE-SD 量化格式 量化术语百科词条
2 2 
3-> **词条类别**:量化数据格式3+> **词条类别**:[量化格式](../README.md)<br>
4->4+> **英文名称**:MindIE-SD Quantization Format<br>
5-> **英文名称**:MindIE-SD Quantization Format5+> **应用领域**:多模态生成模型量化压缩、MindIE-SD 部署<br>
6->6+> **msModelSlim 实现**:[`msmodelslim/format/mindie_format/`](../../../../../msmodelslim/format/mindie_format/)
7-> **英文缩写**:MindIE-SD7+ 
8->8+---
9-> **中文别名**:MindIE 多模态生成保存格式
10->
11-> **应用领域**:多模态生成模型量化压缩、MindIE 部署
12->
13-> **msModelSlim 实现**:`msmodelslim/format/mindie_format/`、`MindIEQuantFormatConfig`
14 9 
15## 1. 概述10## 1. 概述
16 11 
17-MindIE-SD 是 msModelSlim 面向 **多模态生成** 场景、供 MindIE-SD 消费的[量化格式](../README.md)。一键量化通过保存器类型 `mindie_format_saver` 启用。它解决扩散 / DiT 等多模态生成模型量化权重与 MindIE-SD 加载约定对齐的问题核心特征是与 `multimodal_sd_modelslim_v1` 配置协议配合,并以 `quant_model_description.json` + `quant_model_weight.safetensors` 落盘。12+MindIE-SD 是 msModelSlim 面向 **多模态生成** 场景、供 MindIE-SD 消费的[量化格式 量化术语百科词条](../README.md)。一键量化通过保存器类型 `mindie_format_saver` 启用。它解决扩散 / DiT 等多模态生成模型量化权重与 MindIE-SD 加载约定对齐的问题核心特征是与 `multimodal_sd_modelslim_v1` 配置协议配合,并以 `quant_model_description*.json` + `quant_model_weight*.safetensors` 落盘。
18 13 
19配置、执行与部署步骤见《[MindIE-SD 使用指南](mindie_sd_usage.md)》。各量化模式的原理与公式见《[量化模式](../../quantization_mode/README.md)》及下文支持表中的词条链接。14配置、执行与部署步骤见《[MindIE-SD 使用指南](mindie_sd_usage.md)》。各量化模式的原理与公式见《[量化模式](../../quantization_mode/README.md)》及下文支持表中的词条链接。
20 15 
16+---
17+ 
21## 2. 词条介绍18## 2. 词条介绍
22 19 
23### 2.1 原理20### 2.1 原理
24 21 
25-#### 2.1.1 核心思想22+**核心思想**
26 23 
27MindIE-SD 本质上是一套**面向多模态生成、供 MindIE-SD 推理引擎消费的量化模型落盘约定**:它不执行校准或伪量化计算,而是在 `multimodal_sd_modelslim_v1` 量化流水线末尾,将已量化完成的模块转换为 MindIE-SD 推理引擎可直接加载的两类交付件——**量化描述文件** `quant_model_description*.json`**量化权重文件** `quant_model_weight*.safetensors`(注意权重文件名为单数 `weight`,与 AscendV1 的 `quant_model_weights` 不同)。前者作为张量级索引,供 MindIE-SD 推理引擎识别各张量名称及其量化模式;后者按相同键名存放对应量化参数。推理侧先读取描述文件,再按键名从 safetensors 取数。24MindIE-SD 本质上是一套**面向多模态生成、供 MindIE-SD 推理引擎消费的量化模型落盘约定**:它不执行校准或伪量化计算,而是在 `multimodal_sd_modelslim_v1` 量化流水线末尾,将已量化完成的模块转换为 MindIE-SD 推理引擎可直接加载的两类交付件——**量化描述文件** `quant_model_description*.json`**量化权重文件** `quant_model_weight*.safetensors`(注意权重文件名为单数 `weight`,与 AscendV1 的 `quant_model_weights` 不同)。前者作为张量级索引,供 MindIE-SD 推理引擎识别各张量名称及其量化模式;后者按相同键名存放对应量化参数。推理侧先读取描述文件,再按键名从 safetensors 取数。
28 25 
29因此,用户可将 MindIE-SD 理解为:**多模态生成量化结果的 MindIE-SD 推理引擎标准导出包**——算法与多模态适配器负责量化与校准编排,MindIE-SD 负责与 MindIE-SD 推理引擎加载路径对齐的落盘与描述。26因此,用户可将 MindIE-SD 理解为:**多模态生成量化结果的 MindIE-SD 推理引擎标准导出包**——算法与多模态适配器负责量化与校准编排,MindIE-SD 负责与 MindIE-SD 推理引擎加载路径对齐的落盘与描述。
30 27 
31-#### 2.1.2 关键性质28+**关键性质**
32 29 
33- 面向多模态生成(如 Wan2.2),而非通用 LLM AscendV1 默认路径。30- 面向多模态生成(如 Wan2.2),而非通用 LLM AscendV1 默认路径。
34- YAML 中 `type` 固定为 `mindie_format_saver`31- YAML 中 `type` 固定为 `mindie_format_saver`
@@ -36,51 +33,62 @@ MindIE-SD 本质上是一套**面向多模态生成、供 MindIE-SD 推理引擎
36- 常与 `multimodal_sd_config`(dump / inference_config)一同出现。33- 常与 `multimodal_sd_config`(dump / inference_config)一同出现。
37- 描述文件中的枚举值表达对多种量化模式的承载能力;未实现 handler 的模式需改用《[AscendV1](../ascendv1/term_ascendv1.md)》。34- 描述文件中的枚举值表达对多种量化模式的承载能力;未实现 handler 的模式需改用《[AscendV1](../ascendv1/term_ascendv1.md)》。
38 35 
39-### 2.2 <span id="export-artifacts">导出产物(交付件)</span>36+---
40 37 
41-#### 目录与文说明38+## 3. <span id="export-artifacts">导出产物(交付)</span>
42 39 
43-执行一键量化(`mindie_format_saver`)后,典型交付件位于 `save_path`(分布式场景下可能落在 `rank_*` 子目录):40+### 3.1 目录与文件说明
41+ 
42+执行一键量化并指定 MindIE-SD 落盘格式(保存器 `type``mindie_format_saver`)后,交付件位于 `save_path`(分布式场景下可能落在 `rank_*` 子目录)。通用单模型目录示例如下:
44 43 
45```bash44```bash
46-├── quant_model_description.json # 量化权重描述(可带量化类型后缀)45+├── quant_model_description*.json # 量化权重描述(可或带量化类型后缀)
47-├── quant_model_weight.safetensors # 量化权重(可分片;也可带量化类型后缀)46+├── quant_model_weight*.safetensors # 量化权重(单数 weight;可分片 / 可带量化类型后缀)
48-├── quant_model_weight.safetensors.index.json # 分片时生成的索引(可选)47+├── quant_model_weight*.safetensors.index.json # 分片时生成的索引(可选)
49-├── *.json / *.py # 自源模型复制的配置与代码(不含 index.json)48+├── *.json / *.py # 自源模型复制的配置与代码(不含 index.json)
50-└── (可选)calib_data_*.pth # dump 校准数据(enable_dump 时,目录由 dump_data_dir 决定)49+└── (可选)calib_data_*.pth # dump 校准数据(enable_dump 时,目录由 dump_data_dir 决定)
51```50```
52 51 
53-| 文件名 | 说明 |52+ Wan2.2 等双噪声专家结构,描述文件与量化权重通常分别落在 `low_noise_model/` 与 `high_noise_model/` 子目录下,例如:
54-| --------------------------------------------------------------------------------- | --------------------------------------------- |
55-| `quant_model_description.json`(或 `quant_model_description_{quant_type}.json`) | **量化权重描述文件**,记录张量量化类型与元数据 |
56-| `quant_model_weight.safetensors`(或 `quant_model_weight_{quant_type}.safetensors`) | **量化权重文件**;较大时可分片,并通过 index.json 索引 |
57-| `*.json` / `*.py` | 自源模型复制的配置与代码文件;**不复制** `index.json`;权限按工具约定设置 |
58-| `calib_data_*.pth` | **可选**:校准 dump 数据,见下文可选导出 |
59 53 
60-> 注意:MindIE-SD 权重文件名为 `quant_model_weight`(单数),与 AscendV1 的 `quant_model_weights`(复数)不同。54+```bash
55+├── low_noise_model/
56+│ ├── quant_model_description*.json
57+│ └── quant_model_weight*.safetensors
58+└── high_noise_model/
59+ ├── quant_model_description*.json
60+ └── quant_model_weight*.safetensors
61+```
61 62 
62-`quant_model_description.json` 中,每个张量键对应一个量化类型标识;同一 Linear 层的相关参数通常共享相同类型标识。63+| 文件名 | 说明 |
64+| --- | --- |
65+| `quant_model_description*.json` | **量化权重描述文件**,记录张量量化类型与元数据;也可带 `{quant_type}` 后缀 |
66+| `quant_model_weight*.safetensors` | **量化权重文件**(单数 `weight`,与 AscendV1 的复数 `weights` 不同);较大时可分片,并通过 index.json 索引 |
67+| `*.json` / `*.py` | 自源模型复制的配置与代码文件;**不复制** `index.json`;权限按工具约定设置 |
68+| `calib_data_*.pth` | **可选**:校准 dump 数据,见下文可选导出 |
63 69 
64-#### quant_model_description.json70+`quant_model_description*.json` 中,每个张量键对应一个量化类型标识;同一 Linear 层的相关参数通常共享相同类型标识。
65 71 
66-##### 文件结构示例72+### 3.2 quant_model_description.json
73+ 
74+**文件结构示例**
67 75 
68```json76```json
69{77{
70 "model_quant_type": "W8A8",78 "model_quant_type": "W8A8",
71 "group_size": 32,79 "group_size": 32,
72- "model.layers.0.self_attn.q_proj.weight": "W8A8",80+ "blocks.0.self_attn.q.weight": "W8A8",
73- "model.layers.0.self_attn.q_proj.input_scale": "W8A8",81+ "blocks.0.self_attn.q.input_scale": "W8A8",
74- "model.layers.0.self_attn.q_proj.input_offset": "W8A8",82+ "blocks.0.self_attn.q.input_offset": "W8A8",
75- "model.layers.0.self_attn.q_proj.deq_scale": "W8A8",83+ "blocks.0.self_attn.q.deq_scale": "W8A8",
76- "model.layers.0.self_attn.q_proj.quant_bias": "W8A8",84+ "blocks.0.self_attn.q.quant_bias": "W8A8",
77- "model.layers.0.self_attn.q_proj.bias": "FLOAT"85+ "blocks.0.self_attn.q.bias": "FLOAT"
78}86}
79```87```
80 88 
81-> 张量键名由模型适配器决定;启用 FA3 等时还可出现 `fa_quant_type`、层级 `quant_type` 等字段。89+> 张量键名由模型适配器决定(多模态生成模型常见 `blocks.*` 前缀,而非 LLM 的 `model.layers.*`);启用 FA3 等时还可出现 `fa_quant_type`、层级 `quant_type` 等字段。
82 90 
83-##### <span id="global-metadata">全局元数据字段</span>91+**<span id="global-metadata">全局元数据字段</span>**
84 92 
85| 字段名 | 类型 | 说明 |93| 字段名 | 类型 | 说明 |
86| ------------------ | ------ | ------------------------------------------------ |94| ------------------ | ------ | ------------------------------------------------ |
@@ -91,7 +99,7 @@ MindIE-SD 本质上是一套**面向多模态生成、供 MindIE-SD 推理引擎
91 99 
92完整多模态配置协议见《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md#53-multimodal_sd_modelslim_v1-配置详解)》。100完整多模态配置协议见《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md#53-multimodal_sd_modelslim_v1-配置详解)》。
93 101 
94-#### <span id="optional-dump">可选导出:校准 dump 数据</span>102+### 3.3 <span id="optional-dump">可选导出:校准 dump 数据</span>
95 103 
96`multimodal_sd_config.dump_config.enable_dump` 为 true 时,可在 `dump_data_dir`(为空则使用 `save_path`)写出校准 pth,例如:104`multimodal_sd_config.dump_config.enable_dump` 为 true 时,可在 `dump_data_dir`(为空则使用 `save_path`)写出校准 pth,例如:
97 105 
@@ -102,9 +110,11 @@ calib_data_<task_config>_high_noise_model.pth
102 110 
103字段含义见《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md#dump_config---校准数据捕获配置)》。该目录属于量化过程辅助数据,**不一定**随 MindIE 部署目录一并交付。111字段含义见《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md#dump_config---校准数据捕获配置)》。该目录属于量化过程辅助数据,**不一定**随 MindIE 部署目录一并交付。
104 112 
105-### 2.3 <span id="engine-support">推理引擎支持情况</span>113+---
106 114 
107-MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能否被 **MindIE 多模态生成**路径加载。口径依据《[大模型支持矩阵](../../model/README.md)》与 lab_practice 验证标签;具体模型 × 模式 × MindIE-SD 版本以支持矩阵与官方最佳实践为准。115+## 4. <span id="engine-support">推理引擎支持情况</span>
116+ 
117+下表中的格式枚举**均可被 MindIE-SD 落盘**;下表描述的是产物能否被 **MindIE 多模态生成**路径加载。口径依据《[大模型支持矩阵](../../model/README.md)》与 lab_practice 验证标签;具体模型 × 模式 × MindIE-SD 版本以支持矩阵与官方最佳实践为准。
108 118 
109| 格式枚举值 | MindIE-SD | 说明 |119| 格式枚举值 | MindIE-SD | 说明 |
110| --- | --- | --- |120| --- | --- | --- |
@@ -116,11 +126,13 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
116| `W4A4_MXFP4_DUALSCALE` | √ | MXFP4 双 Scale |126| `W4A4_MXFP4_DUALSCALE` | √ | MXFP4 双 Scale |
117| `FAQuant` | √ | FA3 等;常与线性层量化组合 |127| `FAQuant` | √ | FA3 等;常与线性层量化组合 |
118 128 
119-> **图例**:`` 表示该引擎存在可加载路径或已有验证实践。通用 LLM 的 vLLM Ascend / SGLang / MindIE 路径请改用《[AscendV1](../ascendv1/term_ascendv1.md)》;选型后再在下文[量化模式支持情况](#mode-support)核对交付件字段。129+> **图例**:√ 表示该引擎存在可加载路径或已有验证实践。通用 LLM 的 vLLM Ascend / SGLang / MindIE 路径请改用《[AscendV1](../ascendv1/term_ascendv1.md)》;选型后再在下文 [量化模式支持情况](#mode-support) 核对交付件字段。
120 130 
121-### 2.4 <span id="mode-support">量化模式支持情况</span>131+---
122 132 
123-> **交付件说明**:「交付件:量化描述 JSON」→ `quant_model_description*.json`;「交付件:量化 safetensors」→ `quant_model_weight*.safetensors`。模式原理见《[量化模式](../../quantization_mode/README.md)》词条。具体模型与 `quant_type` 组合以《[大模型支持矩阵](../../model/README.md)》及 lab_practice / example 为准。133+## 5. <span id="mode-support">量化模式支持情况</span>
134+ 
135+> **交付件说明**:表中交付件:量化描述 JSON对应 `quant_model_description*.json`;交付件:量化 safetensors对应 `quant_model_weight*.safetensors`。模式原理见《[量化模式](../../quantization_mode/README.md)》词条(本词条不展开反量化公式与 NPU 算子)。具体模型与 `quant_type` 组合以《[大模型支持矩阵](../../model/README.md)》及 lab_practice / example 为准。
124 136 
125| 格式枚举值 | MindIE-SD 是否支持落盘 | 量化模式词条 | 交付件:量化描述 JSON | 交付件:量化 safetensors |137| 格式枚举值 | MindIE-SD 是否支持落盘 | 量化模式词条 | 交付件:量化描述 JSON | 交付件:量化 safetensors |
126| ---------------------- | ---------------- | ------ | ------------------------------------------------ | ----------------------------------------------- |138| ---------------------- | ---------------- | ------ | ------------------------------------------------ | ----------------------------------------------- |
@@ -132,31 +144,33 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
132| `W4A4_MXFP4_DUALSCALE` | 支持 | [W4A4 MX 双 Scale](../../quantization_mode/linear_layer_quantization/term_w4a4_mx_dualscale.md) | [W4A4_MXFP4_DUALSCALE 描述键](#desc-mxfp-dualscale) | [W4A4_MXFP4_DUALSCALE 权重张量](#st-mxfp-dualscale) |144| `W4A4_MXFP4_DUALSCALE` | 支持 | [W4A4 MX 双 Scale](../../quantization_mode/linear_layer_quantization/term_w4a4_mx_dualscale.md) | [W4A4_MXFP4_DUALSCALE 描述键](#desc-mxfp-dualscale) | [W4A4_MXFP4_DUALSCALE 权重张量](#st-mxfp-dualscale) |
133| `FAQuant` | 支持(FA3 等) | [FA PerHead](../../quantization_mode/fa_quantization/term_fa_perhead.md) | [FAQuant 描述键](#desc-faquant) | [FAQuant 权重张量](#st-faquant) |145| `FAQuant` | 支持(FA3 等) | [FA PerHead](../../quantization_mode/fa_quantization/term_fa_perhead.md) | [FAQuant 描述键](#desc-faquant) | [FAQuant 权重张量](#st-faquant) |
134 146 
135-### 2.5 各量化模式交付件格式147+---
148+ 
149+## 6. 各量化模式交付件格式
136 150 
137约定:151约定:
138 152 
139- `{prefix}` 为模块前缀(由多模态适配器命名决定)。153- `{prefix}` 为模块前缀(由多模态适配器命名决定)。
140-- **描述 JSON**:文件 `quant_model_description*.json`;键为张量全名,值为量化类型字符串;全局字段见上文[全局元数据字段](#global-metadata)154+- **描述 JSON**:文件 `quant_model_description*.json`;键为张量全名,值为量化类型字符串;全局字段见上文[全局元数据字段](#global-metadata)。
141- **safetensors**:文件 `quant_model_weight*.safetensors`(可分片);键为 `{prefix}.<param>`,存实际数值张量。155- **safetensors**:文件 `quant_model_weight*.safetensors`(可分片);键为 `{prefix}.<param>`,存实际数值张量。
142 156 
143-#### FLOAT157+### 6.1 FLOAT
144 158 
145-##### <span id="desc-float">quant_model_description.json</span>159+**<span id="desc-float">quant_model_description.json</span>**
146 160 
147| 描述键 | 取值 | 说明 |161| 描述键 | 取值 | 说明 |
148| ---------------------- | --------- | ----------------------------------------------- |162| ---------------------- | --------- | ----------------------------------------------- |
149| `{prefix}.weight` 等参数名 | `"FLOAT"` | 未量化参数;`on_float_module``named_parameters` 写出 |163| `{prefix}.weight` 等参数名 | `"FLOAT"` | 未量化参数;`on_float_module``named_parameters` 写出 |
150 164 
151-##### <span id="st-float">quant_model_weight*.safetensors</span>165+**<span id="st-float">`quant_model_weight*.safetensors`</span>**
152 166 
153| 张量名 | 数据类型 | 说明 |167| 张量名 | 数据类型 | 说明 |
154| ------------ | ------ | ----------------------------------- |168| ------------ | ------ | ----------------------------------- |
155| `{prefix}.*` | 与源参数一致 | 浮点参数原样落盘;在线旋转矩阵等也可能以 `"FLOAT"` 标签写入 |169| `{prefix}.*` | 与源参数一致 | 浮点参数原样落盘;在线旋转矩阵等也可能以 `"FLOAT"` 标签写入 |
156 170 
157-#### W8A8171+### 6.2 W8A8
158 172 
159-##### <span id="desc-w8a8">quant_model_description.json</span>173+**<span id="desc-w8a8">quant_model_description.json</span>**
160 174 
161| 描述键 | 取值 | 说明 |175| 描述键 | 取值 | 说明 |
162| ----------------------- | --------- | ------------- |176| ----------------------- | --------- | ------------- |
@@ -167,7 +181,7 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
167| `{prefix}.deq_scale` | `"W8A8"` | 综合反量化 scale |181| `{prefix}.deq_scale` | `"W8A8"` | 综合反量化 scale |
168| `{prefix}.bias` | `"FLOAT"` | 原始浮点偏置(可选) |182| `{prefix}.bias` | `"FLOAT"` | 原始浮点偏置(可选) |
169 183 
170-##### <span id="st-w8a8">quant_model_weight*.safetensors</span>184+**<span id="st-w8a8">`quant_model_weight*.safetensors`</span>**
171 185 
172| 张量名 | 数据类型 | 说明 |186| 张量名 | 数据类型 | 说明 |
173| ----------------------- | ------- | --------------- |187| ----------------------- | ------- | --------------- |
@@ -178,9 +192,9 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
178| `{prefix}.deq_scale` | float32 | 综合反量化 scale |192| `{prefix}.deq_scale` | float32 | 综合反量化 scale |
179| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |193| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |
180 194 
181-#### W8A8_DYNAMIC195+### 6.3 W8A8_DYNAMIC
182 196 
183-##### <span id="desc-w8a8-dynamic">quant_model_description.json</span>197+**<span id="desc-w8a8-dynamic">quant_model_description.json</span>**
184 198 
185| 描述键 | 取值 | 说明 |199| 描述键 | 取值 | 说明 |
186| ------------------------ | ---------------- | --------------- |200| ------------------------ | ---------------- | --------------- |
@@ -191,7 +205,7 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
191 205 
192激活动态参数不落盘。206激活动态参数不落盘。
193 207 
194-##### <span id="st-w8a8-dynamic">quant_model_weight*.safetensors</span>208+**<span id="st-w8a8-dynamic">`quant_model_weight*.safetensors`</span>**
195 209 
196| 张量名 | 数据类型 | 说明 |210| 张量名 | 数据类型 | 说明 |
197| ------------------------ | ------- | ----------------------- |211| ------------------------ | ------- | ----------------------- |
@@ -200,9 +214,9 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
200| `{prefix}.weight_offset` | float32 | 权重量化 zero-point(对称时为 0) |214| `{prefix}.weight_offset` | float32 | 权重量化 zero-point(对称时为 0) |
201| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |215| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |
202 216 
203-#### W8A8_MXFP8217+### 6.4 W8A8_MXFP8
204 218 
205-##### <span id="desc-w8a8-mxfp8">quant_model_description.json</span>219+**<span id="desc-w8a8-mxfp8">quant_model_description.json</span>**
206 220 
207| 描述键 | 取值 | 说明 |221| 描述键 | 取值 | 说明 |
208| ----------------------- | -------------- | ---------------- |222| ----------------------- | -------------- | ---------------- |
@@ -210,7 +224,7 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
210| `{prefix}.weight_scale` | `"W8A8_MXFP8"` | block-wise scale |224| `{prefix}.weight_scale` | `"W8A8_MXFP8"` | block-wise scale |
211| `{prefix}.bias` | `"FLOAT"` | 偏置(可选) |225| `{prefix}.bias` | `"FLOAT"` | 偏置(可选) |
212 226 
213-##### <span id="st-w8a8-mxfp8">quant_model_weight*.safetensors</span>227+**<span id="st-w8a8-mxfp8">`quant_model_weight*.safetensors`</span>**
214 228 
215| 张量名 | 数据类型 | 说明 |229| 张量名 | 数据类型 | 说明 |
216| ----------------------- | ------------- | -------------------------------------- |230| ----------------------- | ------------- | -------------------------------------- |
@@ -218,9 +232,9 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
218| `{prefix}.weight_scale` | uint8 | block-wise scale(导出时常见 **+127 偏移**后存储) |232| `{prefix}.weight_scale` | uint8 | block-wise scale(导出时常见 **+127 偏移**后存储) |
219| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |233| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |
220 234 
221-#### W4A4_MXFP4235+### 6.5 W4A4_MXFP4
222 236 
223-##### <span id="desc-w4a4-mxfp4">quant_model_description.json</span>237+**<span id="desc-w4a4-mxfp4">quant_model_description.json</span>**
224 238 
225| 描述键 | 取值 | 说明 |239| 描述键 | 取值 | 说明 |
226| ----------------------- | -------------- | ---------------- |240| ----------------------- | -------------- | ---------------- |
@@ -228,7 +242,7 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
228| `{prefix}.weight_scale` | `"W4A4_MXFP4"` | block-wise scale |242| `{prefix}.weight_scale` | `"W4A4_MXFP4"` | block-wise scale |
229| `{prefix}.bias` | `"FLOAT"` | 偏置(可选) |243| `{prefix}.bias` | `"FLOAT"` | 偏置(可选) |
230 244 
231-##### <span id="st-w4a4-mxfp4">quant_model_weight*.safetensors</span>245+**<span id="st-w4a4-mxfp4">`quant_model_weight*.safetensors`</span>**
232 246 
233| 张量名 | 数据类型 | 说明 |247| 张量名 | 数据类型 | 说明 |
234| ----------------------- | ------- | -------------------------------- |248| ----------------------- | ------- | -------------------------------- |
@@ -236,9 +250,9 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
236| `{prefix}.weight_scale` | uint8 | block-wise scale(常见 **+127 偏移**) |250| `{prefix}.weight_scale` | uint8 | block-wise scale(常见 **+127 偏移**) |
237| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |251| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |
238 252 
239-#### W4A4_MXFP4_DUALSCALE253+### 6.6 W4A4_MXFP4_DUALSCALE
240 254 
241-##### <span id="desc-mxfp-dualscale">quant_model_description.json</span>255+**<span id="desc-mxfp-dualscale">quant_model_description.json</span>**
242 256 
243在 [W4A4_MXFP4 描述键](#desc-w4a4-mxfp4) 基础上,取值均为 `"W4A4_MXFP4_DUALSCALE"`,并增加:257在 [W4A4_MXFP4 描述键](#desc-w4a4-mxfp4) 基础上,取值均为 `"W4A4_MXFP4_DUALSCALE"`,并增加:
244 258 
@@ -246,7 +260,7 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
246| ---------------------------- | ------------------------ | --------- |260| ---------------------------- | ------------------------ | --------- |
247| `{prefix}.weight_dual_scale` | `"W4A4_MXFP4_DUALSCALE"` | 第二路 scale |261| `{prefix}.weight_dual_scale` | `"W4A4_MXFP4_DUALSCALE"` | 第二路 scale |
248 262 
249-##### <span id="st-mxfp-dualscale">quant_model_weight*.safetensors</span>263+**<span id="st-mxfp-dualscale">`quant_model_weight*.safetensors`</span>**
250 264 
251| 张量名 | 数据类型 | 说明 |265| 张量名 | 数据类型 | 说明 |
252| ---------------------------- | ------- | ------------------------- |266| ---------------------------- | ------- | ------------------------- |
@@ -255,9 +269,9 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
255| `{prefix}.weight_dual_scale` | float32 | 第二路 scale |269| `{prefix}.weight_dual_scale` | float32 | 第二路 scale |
256| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |270| `{prefix}.bias` | float32 | 原始浮点偏置(可选) |
257 271 
258-#### FAQuant272+### 6.7 FAQuant
259 273 
260-##### <span id="desc-faquant">quant_model_description.json</span>274+**<span id="desc-faquant">quant_model_description.json</span>**
261 275 
262| 描述键 / 全局字段 | 取值 | 说明 |276| 描述键 / 全局字段 | 取值 | 说明 |
263| --------------------------------- | ----------- | ------------------ |277| --------------------------------- | ----------- | ------------------ |
@@ -265,38 +279,41 @@ MindIE-SD **均可落盘**下表中的格式枚举;下表描述的是产物能
265| `{prefix}.offset` | `"FAQuant"` | FA per-head offset |279| `{prefix}.offset` | `"FAQuant"` | FA per-head offset |
266| `fa_quant_type` / 层级 `quant_type` | 由 FA3 策略拼装 | 启用 FA3 等时写入 |280| `fa_quant_type` / 层级 `quant_type` | 由 FA3 策略拼装 | 启用 FA3 等时写入 |
267 281 
268-##### <span id="st-faquant">quant_model_weight*.safetensors</span>282+**<span id="st-faquant">`quant_model_weight*.safetensors`</span>**
269 283 
270| 张量名 | 数据类型 | 说明 |284| 张量名 | 数据类型 | 说明 |
271| ----------------- | -------------- | -------------------------- |285| ----------------- | -------------- | -------------------------- |
272| `{prefix}.scale` | float32 | FA 量化 scale |286| `{prefix}.scale` | float32 | FA 量化 scale |
273| `{prefix}.offset` | int8 或 float32 | 随 INT8 / FP8 per-head 路径而定 |287| `{prefix}.offset` | int8 或 float32 | 随 INT8 / FP8 per-head 路径而定 |
274 288 
275-### 2.6 适用场景与限制289+---
276 290 
277-#### 2.6.1 适用场景291+## 7. 适用场景与限制
292+ 
293+### 7.1 适用场景
278 294 
279- Wan2.2 等已接入的多模态生成模型量化并交付 MindIE。295- Wan2.2 等已接入的多模态生成模型量化并交付 MindIE。
280- 需要与 `multimodal_sd_modelslim_v1``inference_config` / dump 配置一并使用的导出场景。296- 需要与 `multimodal_sd_modelslim_v1``inference_config` / dump 配置一并使用的导出场景。
281 297 
282-#### 2.6.2 使用限制298+### 7.2 使用限制
283 299 
284- 不替代 AscendV1 作为通用 LLM 默认导出格式;未实现 handler 的模式会提示改用 AscendV1。300- 不替代 AscendV1 作为通用 LLM 默认导出格式;未实现 handler 的模式会提示改用 AscendV1。
285- 产物文件命名与字段随模型适配器演进,部署前须按目标 MindIE 版本核对。301- 产物文件命名与字段随模型适配器演进,部署前须按目标 MindIE 版本核对。
286-- 本词条不展开量化模式原理、反量化公式与 NPU 算子说明(见《[量化模式](../../quantization_mode/README.md)》)。
287 302 
288-## 3. 关联流程303+---
289 304 
290-| 流程 | 说明 |305+## 8. 关联流程
291-| --------------------------------------------------------------------- | ------------------ |
292-| 《[MindIE-SD 使用指南](mindie_sd_usage.md)》 | 确认模式支持、配置与执行 |
293-| 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》 | multimodal_sd 配置详解 |
294-| 《[多模态生成模型接入](../../model/integrating_multimodal_generation_model.md)》 | 模型接入与示例 |
295-| 《[量化格式接入指南](../iformat_integration_guide.md)》 | 新格式开发对照 |
296 306 
297-## 4. 关联词条307+- 《[MindIE-SD 使用指南](mindie_sd_usage.md)》:确认模式支持、配置与执行。
308+- 《[一键量化使用指南](../../../user_guide/usage_quick_quantization.md)》:multimodal_sd 配置详解。
309+- 《[多模态生成模型接入](../../model/integrating_multimodal_generation_model.md)》:模型接入与示例。
310+- 《[量化格式接入指南](../iformat_integration_guide.md)》:新格式开发对照。
298 311 
299-- [量化格式](../README.md):上位概念,本词条所属目录。312+---
300-- [AscendV1](../ascendv1/term_ascendv1.md):其他,同属量化格式的并列落盘协议;未实现 handler 的模式可改用 AscendV1。313+ 
301-- [compressed-tensors](../compressed_tensors/term_compressed_tensors.md):其他,同属量化格式的并列落盘协议。314+## 9. 关联词条
302-- [量化模式](../../quantization_mode/README.md):配套术语,本格式交付件枚举对应各量化模式;详见本页「[量化模式支持情况](#mode-support)」。315+ 
316+- [量化格式 量化术语百科词条](../README.md):上位概念,本词条所属目录。
317+- [AscendV1 量化格式 量化术语百科词条](../ascendv1/term_ascendv1.md):其他,同属量化格式的并列落盘协议;未实现 handler 的模式可改用 AscendV1。
318+- [compressed-tensors 量化格式 量化术语百科词条](../compressed_tensors/term_compressed_tensors.md):其他,同属量化格式的并列落盘协议。
319+- [量化模式](../../quantization_mode/README.md):配套术语,本格式交付件枚举对应各量化模式;详见本页[量化模式支持情况](#mode-support)。