已合并
[Doc] 修正量化模式词条「词条类别」头部链接指向(Fix #459) #839
rookie_hongchuan创建于 17 天前
[Doc] 修正量化模式词条「词条类别」头部链接指向(Fix #459) #839
已合并
共 16 个文件变更+73-73
| @@ -1,6 +1,6 @@ | |||
| 1 | # FA PerBlock 量化 | 1 | # FA PerBlock 量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([FA 量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([FA 量化](README.md)) |
| 4 | > **英文名称**:FA Per-Block Quantization | 4 | > **英文名称**:FA Per-Block Quantization |
| 5 | > **应用领域**:长上下文推理加速、低精度注意力计算 | 5 | > **应用领域**:长上下文推理加速、低精度注意力计算 |
| 6 | > **承载 IR 类**:`FakeQuantActivationPerBlock`([`msmodelslim/ir/activation_dynamic.py`](../../../../../msmodelslim/ir/activation_dynamic.py)) | 6 | > **承载 IR 类**:`FakeQuantActivationPerBlock`([`msmodelslim/ir/activation_dynamic.py`](../../../../../msmodelslim/ir/activation_dynamic.py)) |
| @@ -77,11 +77,11 @@ $$e = \lfloor \log_2(\max_{i \in \mathrm{block}}|x_i|) \rfloor, \qquad q_i = \ma | |||
| 77 | - [FA PerHead 量化](term_fa_perhead.md):同类模式,per-head 静态激活量化。 | 77 | - [FA PerHead 量化](term_fa_perhead.md):同类模式,per-head 静态激活量化。 |
| 78 | - [KVCache 量化](../kv_cache_quantization/README.md):基础类别,本模式在其基础上追加 Q 量化。 | 78 | - [KVCache 量化](../kv_cache_quantization/README.md):基础类别,本模式在其基础上追加 Q 量化。 |
| 79 | - [W8A8 MX 动态量化](../linear_layer_quantization/term_w8a8_mx_dynamic.md):配套模式,MX per-block 思路在线性层上的应用。 | 79 | - [W8A8 MX 动态量化](../linear_layer_quantization/term_w8a8_mx_dynamic.md):配套模式,MX per-block 思路在线性层上的应用。 |
| 80 | -- 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/fa3_quant.md)》:配套术语,本模式对应的算法处理器文档。 | 80 | +- 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/usage_fa3_quant.md)》:配套术语,本模式对应的算法处理器文档。 |
| 81 | 81 | ||
| 82 | --- | 82 | --- |
| 83 | 83 | ||
| 84 | ## 5. 参考文档 | 84 | ## 5. 参考文档 |
| 85 | 85 | ||
| 86 | -1. 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/fa3_quant.md)》 | 86 | +1. 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/usage_fa3_quant.md)》 |
| 87 | 2. 《[量化模式](../README.md)》 | 87 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # FA PerHead 量化 | 1 | # FA PerHead 量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([FA 量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([FA 量化](README.md)) |
| 4 | > **英文名称**:FA Per-Head Quantization | 4 | > **英文名称**:FA Per-Head Quantization |
| 5 | > **应用领域**:长上下文推理加速、低精度注意力计算 | 5 | > **应用领域**:长上下文推理加速、低精度注意力计算 |
| 6 | > **承载 IR 类**:`FakeQuantActivationPerHead` 及 INT8/FP8 变体([`msmodelslim/ir/activation_static.py`](../../../../../msmodelslim/ir/activation_static.py)) | 6 | > **承载 IR 类**:`FakeQuantActivationPerHead` 及 INT8/FP8 变体([`msmodelslim/ir/activation_static.py`](../../../../../msmodelslim/ir/activation_static.py)) |
| @@ -43,7 +43,7 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 43 | - PerToken(per-token 动态):优势是逐 token 在线算 scale、免校准,量化更贴合每个 token 的数值范围;劣势是每次前向多一次按 token 的 min/max 归约,开销与 token 数同量级。 | 43 | - PerToken(per-token 动态):优势是逐 token 在线算 scale、免校准,量化更贴合每个 token 的数值范围;劣势是每次前向多一次按 token 的 min/max 归约,开销与 token 数同量级。 |
| 44 | 44 | ||
| 45 | - **与 [FA PerBlock 量化](term_fa_perblock.md)(同为 FA 激活量化,格式与粒度不同)** | 45 | - **与 [FA PerBlock 量化](term_fa_perblock.md)(同为 FA 激活量化,格式与粒度不同)** |
| 46 | - - 本模式:INT8/FP8 整数格式 + 静态 per-head 粒度,无需特殊硬件格式支持;劣势是粒度最粗(整头共享参数),对 head_dim 内部的分布差异不敏感。 | 46 | + - 本模式:INT8/FP8 数据格式 + 静态 per-head 粒度,无需特殊硬件格式支持;劣势是粒度最粗(整头共享参数),对 head_dim 内部的分布差异不敏感。 |
| 47 | - PerBlock:MX 格式块级共享指数(32元素一块),粒度最细、对离群值比整数格式更耐受;劣势是依赖硬件 MX 支持、head_dim 需能被32整除、量化参数在线计算。 | 47 | - PerBlock:MX 格式块级共享指数(32元素一块),粒度最细、对离群值比整数格式更耐受;劣势是依赖硬件 MX 支持、head_dim 需能被32整除、量化参数在线计算。 |
| 48 | 48 | ||
| 49 | - **与 [KVCache-PerChannel 量化](../kv_cache_quantization/term_kv_cache_perchannel.md)(基础关系)** | 49 | - **与 [KVCache-PerChannel 量化](../kv_cache_quantization/term_kv_cache_perchannel.md)(基础关系)** |
| @@ -79,11 +79,11 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 79 | - [KVCache 量化](../kv_cache_quantization/README.md):基础类别,本模式在其基础上追加 Q 量化。 | 79 | - [KVCache 量化](../kv_cache_quantization/README.md):基础类别,本模式在其基础上追加 Q 量化。 |
| 80 | - [KVCache-PerChannel 量化](../kv_cache_quantization/term_kv_cache_perchannel.md):前置术语,K/V 量化的具体模式。 | 80 | - [KVCache-PerChannel 量化](../kv_cache_quantization/term_kv_cache_perchannel.md):前置术语,K/V 量化的具体模式。 |
| 81 | - [W8A8 静态量化](../linear_layer_quantization/term_w8a8_static.md):配套模式,可与本模式组合使用。 | 81 | - [W8A8 静态量化](../linear_layer_quantization/term_w8a8_static.md):配套模式,可与本模式组合使用。 |
| 82 | -- 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/fa3_quant.md)》:配套术语,本模式对应的算法处理器文档。 | 82 | +- 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/usage_fa3_quant.md)》:配套术语,本模式对应的算法处理器文档。 |
| 83 | 83 | ||
| 84 | --- | 84 | --- |
| 85 | 85 | ||
| 86 | ## 5. 参考文档 | 86 | ## 5. 参考文档 |
| 87 | 87 | ||
| 88 | -1. 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/fa3_quant.md)》 | 88 | +1. 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/usage_fa3_quant.md)》 |
| 89 | 2. 《[量化模式](../README.md)》 | 89 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # FA PerToken 量化 | 1 | # FA PerToken 量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([FA 量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([FA 量化](README.md)) |
| 4 | > **英文名称**:FA Per-Token Quantization | 4 | > **英文名称**:FA Per-Token Quantization |
| 5 | > **应用领域**:长上下文推理加速、低精度注意力计算 | 5 | > **应用领域**:长上下文推理加速、低精度注意力计算 |
| 6 | > **承载 IR 类**:`FakeQuantActivationPerToken`([`msmodelslim/ir/activation_dynamic.py`](../../../../../msmodelslim/ir/activation_dynamic.py)) | 6 | > **承载 IR 类**:`FakeQuantActivationPerToken`([`msmodelslim/ir/activation_dynamic.py`](../../../../../msmodelslim/ir/activation_dynamic.py)) |
| @@ -79,11 +79,11 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 79 | - [FA PerBlock 量化](term_fa_perblock.md):同类模式,per-block MX 动态激活量化。 | 79 | - [FA PerBlock 量化](term_fa_perblock.md):同类模式,per-block MX 动态激活量化。 |
| 80 | - [KVCache 量化](../kv_cache_quantization/README.md):基础类别,本模式在其基础上追加 Q 量化。 | 80 | - [KVCache 量化](../kv_cache_quantization/README.md):基础类别,本模式在其基础上追加 Q 量化。 |
| 81 | - [W8A8 动态量化](../linear_layer_quantization/term_w8a8_dynamic.md):配套模式,per-token 动态思路在线性层上的应用。 | 81 | - [W8A8 动态量化](../linear_layer_quantization/term_w8a8_dynamic.md):配套模式,per-token 动态思路在线性层上的应用。 |
| 82 | -- 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/fa3_quant.md)》:配套术语,本模式对应的算法处理器文档。 | 82 | +- 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/usage_fa3_quant.md)》:配套术语,本模式对应的算法处理器文档。 |
| 83 | 83 | ||
| 84 | --- | 84 | --- |
| 85 | 85 | ||
| 86 | ## 5. 参考文档 | 86 | ## 5. 参考文档 |
| 87 | 87 | ||
| 88 | -1. 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/fa3_quant.md)》 | 88 | +1. 《[FA3量化:Flash Attention 3激活量化算法说明](../../quantization_algorithms/fa3_quant/usage_fa3_quant.md)》 |
| 89 | 2. 《[量化模式](../README.md)》 | 89 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # KVCache-PerChannel 量化 | 1 | # KVCache-PerChannel 量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([KVCache 量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([KVCache 量化](README.md)) |
| 4 | > **英文名称**:KV Cache Per-Channel Quantization | 4 | > **英文名称**:KV Cache Per-Channel Quantization |
| 5 | > **应用领域**:KVCache 压缩、长上下文推理加速 | 5 | > **应用领域**:KVCache 压缩、长上下文推理加速 |
| 6 | > **承载 IR 类**:`FakeQuantDynamicCache`([`msmodelslim/ir/attention.py`](../../../../../msmodelslim/ir/attention.py)) | 6 | > **承载 IR 类**:`FakeQuantDynamicCache`([`msmodelslim/ir/attention.py`](../../../../../msmodelslim/ir/attention.py)) |
| @@ -52,7 +52,7 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 52 | 52 | ||
| 53 | - **长上下文推理**:上下文长度大、KV 显存成为瓶颈的场景,如长文档问答、代码仓库理解。 | 53 | - **长上下文推理**:上下文长度大、KV 显存成为瓶颈的场景,如长文档问答、代码仓库理解。 |
| 54 | - **高并发服务**:压缩每请求缓存显存,提升同显存下的并发 batch。 | 54 | - **高并发服务**:压缩每请求缓存显存,提升同显存下的并发 batch。 |
| 55 | -- **作为 FA 量化的基础**:K/V 量化后叠加 Q 量化,在省 KV 显存之外进一步使能低精度注意力矩阵运算。 | 55 | +- **作为 FA 量化的基础**:K/V 量化后叠加 Q 量化,在节省 KV 显存之外进一步使能低精度注意力矩阵运算。 |
| 56 | 56 | ||
| 57 | #### 2. 使用限制 | 57 | #### 2. 使用限制 |
| 58 | 58 | ||
| @@ -73,12 +73,12 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 73 | - [量化模式](../README.md):上位概念,本词条属于[KVCache 量化](README.md)类别,是该类别下的一种具体模式。 | 73 | - [量化模式](../README.md):上位概念,本词条属于[KVCache 量化](README.md)类别,是该类别下的一种具体模式。 |
| 74 | - [FA PerHead 量化](../fa_quantization/term_fa_perhead.md):进阶模式,在 K/V 量化基础上追加 Q 量化。 | 74 | - [FA PerHead 量化](../fa_quantization/term_fa_perhead.md):进阶模式,在 K/V 量化基础上追加 Q 量化。 |
| 75 | - [W8A8 静态量化](../linear_layer_quantization/term_w8a8_static.md):配套模式,可与本模式叠加使用。 | 75 | - [W8A8 静态量化](../linear_layer_quantization/term_w8a8_static.md):配套模式,可与本模式叠加使用。 |
| 76 | -- 《[KVCache量化:缓存量化算法说明](../../quantization_algorithms/kvcache_quant/kvcache_quant.md)》:配套术语,本模式对应的算法处理器文档。 | 76 | +- 《[KVCache量化:缓存量化算法说明](../../quantization_algorithms/kvcache_quant/usage_kvcache_quant.md)》:配套术语,本模式对应的算法处理器文档。 |
| 77 | -- 《[KVSmooth:KVCache量化离群值抑制算法说明](../../quantization_algorithms/kv_smooth/kv_smooth.md)》:前置术语,量化前对 KV 做平滑以降低量化误差。 | 77 | +- 《[KVSmooth:KVCache量化离群值抑制算法说明](../../quantization_algorithms/kv_smooth/usage_kv_smooth.md)》:前置术语,量化前对 KV 做平滑以降低量化误差。 |
| 78 | 78 | ||
| 79 | --- | 79 | --- |
| 80 | 80 | ||
| 81 | ## 5. 参考文档 | 81 | ## 5. 参考文档 |
| 82 | 82 | ||
| 83 | -1. 《[KVCache量化:缓存量化算法说明](../../quantization_algorithms/kvcache_quant/kvcache_quant.md)》 | 83 | +1. 《[KVCache量化:缓存量化算法说明](../../quantization_algorithms/kvcache_quant/usage_kvcache_quant.md)》 |
| 84 | 2. 《[量化模式](../README.md)》 | 84 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W16A16S 量化 | 1 | # W16A16S 量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W16A16S Quantization | 4 | > **英文名称**:W16A16S Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`W16A16sLinear`([`msmodelslim/ir/w16a16s.py`](../../../../../msmodelslim/ir/w16a16s.py),`nn.Module` 子类,非 `AutoFakeQuantLinear`) | 6 | > **承载 IR 类**:`W16A16sLinear`([`msmodelslim/ir/w16a16s.py`](../../../../../msmodelslim/ir/w16a16s.py),`nn.Module` 子类,非 `AutoFakeQuantLinear`) |
| @@ -71,11 +71,11 @@ W16A16S 严格说不是「量化」模式,而是稀疏量化方案的**精度 | |||
| 71 | - [W8A16 静态量化](term_w8a16_static.md):同类模式,位宽维度的精度基线。 | 71 | - [W8A16 静态量化](term_w8a16_static.md):同类模式,位宽维度的精度基线。 |
| 72 | - [W8A8 静态量化](term_w8a8_static.md):对比模式,可与其叠加构成稀疏 W8A8。 | 72 | - [W8A8 静态量化](term_w8a8_static.md):对比模式,可与其叠加构成稀疏 W8A8。 |
| 73 | - [W4A4 动态量化](term_w4a4_dynamic.md):对比模式,位宽维度上的极致压缩方案。 | 73 | - [W4A4 动态量化](term_w4a4_dynamic.md):对比模式,位宽维度上的极致压缩方案。 |
| 74 | -- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》:配套术语,线性层量化的处理器实现。 | 74 | +- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》:配套术语,线性层量化的处理器实现。 |
| 75 | 75 | ||
| 76 | --- | 76 | --- |
| 77 | 77 | ||
| 78 | ## 5. 参考文档 | 78 | ## 5. 参考文档 |
| 79 | 79 | ||
| 80 | -1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 80 | +1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 81 | 2. 《[量化模式](../README.md)》 | 81 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W4A4 动态量化 | 1 | # W4A4 动态量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W4A4 Dynamic Quantization | 4 | > **英文名称**:W4A4 Dynamic Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`W4A4DynamicPerChannelFakeQuantLinear` / `W4A4DynamicPerGroupFakeQuantLinear`([`msmodelslim/ir/w4a4_dynamic.py`](../../../../../msmodelslim/ir/w4a4_dynamic.py)) | 6 | > **承载 IR 类**:`W4A4DynamicPerChannelFakeQuantLinear` / `W4A4DynamicPerGroupFakeQuantLinear`([`msmodelslim/ir/w4a4_dynamic.py`](../../../../../msmodelslim/ir/w4a4_dynamic.py)) |
| @@ -59,7 +59,7 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 59 | 59 | ||
| 60 | #### 2. 使用限制 | 60 | #### 2. 使用限制 |
| 61 | 61 | ||
| 62 | -- **精度门槛高**:4bit 激活量化精度风险大,通常需要配合离群值抑制(如 [SmoothQuant](../../quantization_algorithms/smooth_quant/smooth_quant.md))与精度调优方可上线。 | 62 | +- **精度门槛高**:4bit 激活量化精度风险大,通常需要配合离群值抑制(如 [SmoothQuant](../../quantization_algorithms/smooth_quant/term_smooth_quant.md))与精度调优方可上线。 |
| 63 | - **硬件算子依赖**:INT4 整数 GEMM 需目标硬件算子库支持,否则无法兑现计算收益。 | 63 | - **硬件算子依赖**:INT4 整数 GEMM 需目标硬件算子库支持,否则无法兑现计算收益。 |
| 64 | 64 | ||
| 65 | --- | 65 | --- |
| @@ -78,12 +78,12 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 78 | - [W8A8 静态量化](term_w8a8_static.md):对比模式,INT8 静态方案、精度基线。 | 78 | - [W8A8 静态量化](term_w8a8_static.md):对比模式,INT8 静态方案、精度基线。 |
| 79 | - [W4A4 MX 动态量化](term_w4a4_mx_dynamic.md):同类模式,改用 MXFP4 浮点格式。 | 79 | - [W4A4 MX 动态量化](term_w4a4_mx_dynamic.md):同类模式,改用 MXFP4 浮点格式。 |
| 80 | - [W8A16 静态量化](term_w8a16_static.md):对比模式,激活保持 16bit 的高精度方案。 | 80 | - [W8A16 静态量化](term_w8a16_static.md):对比模式,激活保持 16bit 的高精度方案。 |
| 81 | -- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》:配套术语,本模式的处理器实现。 | 81 | +- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》:配套术语,本模式的处理器实现。 |
| 82 | -- 《[LAOS:w4a4量化方案说明](../../quantization_algorithms/laos/laos.md)》:配套术语,面向 W4A4 的精度优化算法。 | 82 | +- 《[LAOS:w4a4量化方案说明](../../quantization_algorithms/laos/usage_laos.md)》:配套术语,面向 W4A4 的精度优化算法。 |
| 83 | 83 | ||
| 84 | --- | 84 | --- |
| 85 | 85 | ||
| 86 | ## 5. 参考文档 | 86 | ## 5. 参考文档 |
| 87 | 87 | ||
| 88 | -1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 88 | +1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 89 | 2. 《[量化模式](../README.md)》 | 89 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W4A4 MX 双 Scale 量化 | 1 | # W4A4 MX 双 Scale 量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W4A4 MX Dual-Scale Quantization | 4 | > **英文名称**:W4A4 MX Dual-Scale Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`W4A4MXDynamicDualScaleFakeQuantLinear`([`msmodelslim/ir/w4a4_mx_dynamic_dualscale.py`](../../../../../msmodelslim/ir/w4a4_mx_dynamic_dualscale.py)) | 6 | > **承载 IR 类**:`W4A4MXDynamicDualScaleFakeQuantLinear`([`msmodelslim/ir/w4a4_mx_dynamic_dualscale.py`](../../../../../msmodelslim/ir/w4a4_mx_dynamic_dualscale.py)) |
| @@ -77,11 +77,11 @@ $$e = \lfloor \log_2(\max_{i \in \mathrm{block}}|x_i|) \rfloor, \qquad q_i = \ma | |||
| 77 | - [W4A4 MX 动态量化](term_w4a4_mx_dynamic.md):同类模式,单层缩放的 MXFP4 基础版。 | 77 | - [W4A4 MX 动态量化](term_w4a4_mx_dynamic.md):同类模式,单层缩放的 MXFP4 基础版。 |
| 78 | - [W4A4 动态量化](term_w4a4_dynamic.md):对比模式,INT4 整数方案。 | 78 | - [W4A4 动态量化](term_w4a4_dynamic.md):对比模式,INT4 整数方案。 |
| 79 | - [W4A8 MX 动态量化](term_w4a8_mx_dynamic.md):同类模式,激活改用 MXFP8 保精度。 | 79 | - [W4A8 MX 动态量化](term_w4a8_mx_dynamic.md):同类模式,激活改用 MXFP8 保精度。 |
| 80 | -- 《[DualScale:w4a4量化方案说明](../../quantization_algorithms/dual_scale/dual_scale.md)》:配套术语,本模式对应的算法处理器文档。 | 80 | +- 《[DualScale:w4a4量化方案说明](../../quantization_algorithms/dual_scale/usage_dual_scale.md)》:配套术语,本模式对应的算法处理器文档。 |
| 81 | 81 | ||
| 82 | --- | 82 | --- |
| 83 | 83 | ||
| 84 | ## 5. 参考文档 | 84 | ## 5. 参考文档 |
| 85 | 85 | ||
| 86 | -1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 86 | +1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 87 | 2. 《[量化模式](../README.md)》 | 87 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W4A4 MX 动态量化 | 1 | # W4A4 MX 动态量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W4A4 MX Dynamic Quantization | 4 | > **英文名称**:W4A4 MX Dynamic Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`W4A4MXDynamicPerBlockFakeQuantLinear`([`msmodelslim/ir/w4a4_mx_dynamic.py`](../../../../../msmodelslim/ir/w4a4_mx_dynamic.py)) | 6 | > **承载 IR 类**:`W4A4MXDynamicPerBlockFakeQuantLinear`([`msmodelslim/ir/w4a4_mx_dynamic.py`](../../../../../msmodelslim/ir/w4a4_mx_dynamic.py)) |
| @@ -31,7 +31,7 @@ W4A4 MX 动态量化 = 双 4bit 的 MX 超低比特方案:权重与激活都 | |||
| 31 | MX 格式按块共享 E8M0 指数,块内每个元素用块级指数缩放后量化为主尾数: | 31 | MX 格式按块共享 E8M0 指数,块内每个元素用块级指数缩放后量化为主尾数: |
| 32 | $$e = \lfloor \log_2(\max_{i \in \mathrm{block}}|x_i|) \rfloor, \qquad q_i = \mathrm{round}_{MX}\left(\frac{x_i}{2^e}\right), \qquad \hat{x}_i = q_i \cdot 2^e$$ | 32 | $$e = \lfloor \log_2(\max_{i \in \mathrm{block}}|x_i|) \rfloor, \qquad q_i = \mathrm{round}_{MX}\left(\frac{x_i}{2^e}\right), \qquad \hat{x}_i = q_i \cdot 2^e$$ |
| 33 | 33 | ||
| 34 | -其中块大小32元素,$e$ 为块内共享的 E8M0 指数,$q_i$ 为块内第 $i$ 个元素的量化尾数(MXFP8 为 FP8 尾数、MXFP4 为 FP4 尾数),$\hat{x}_i$ 为反量化还原值。每块共享一个 $e$;量化参数在线计算(激活)或量化阶段固化(权重),见「模式规格」表。 | 34 | +其中块大小32元素,$e$ 为块内共享的 E8M0 指数,$q_i$ 为块内第 $i$ 个元素的 MX 格式量化值(MXFP8 为 FP8 格式值、MXFP4 为 FP4 格式值),$\hat{x}_i$ 为反量化还原值。每块共享一个 $e$;量化参数在线计算(激活)或量化阶段固化(权重),见「模式规格」表。 |
| 35 | 35 | ||
| 36 | ### 与其他模式的关系 | 36 | ### 与其他模式的关系 |
| 37 | 37 | ||
| @@ -77,11 +77,11 @@ $$e = \lfloor \log_2(\max_{i \in \mathrm{block}}|x_i|) \rfloor, \qquad q_i = \ma | |||
| 77 | - [W4A4 动态量化](term_w4a4_dynamic.md):对比模式,INT4 整数方案。 | 77 | - [W4A4 动态量化](term_w4a4_dynamic.md):对比模式,INT4 整数方案。 |
| 78 | - [W4A4 MX 双 Scale 量化](term_w4a4_mx_dualscale.md):同类模式,双层缩放的精度增强版。 | 78 | - [W4A4 MX 双 Scale 量化](term_w4a4_mx_dualscale.md):同类模式,双层缩放的精度增强版。 |
| 79 | - [W4A8 MX 动态量化](term_w4a8_mx_dynamic.md):同类模式,激活改用 MXFP8 保精度。 | 79 | - [W4A8 MX 动态量化](term_w4a8_mx_dynamic.md):同类模式,激活改用 MXFP8 保精度。 |
| 80 | -- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》:配套术语,本模式的处理器实现。 | 80 | +- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》:配套术语,本模式的处理器实现。 |
| 81 | 81 | ||
| 82 | --- | 82 | --- |
| 83 | 83 | ||
| 84 | ## 5. 参考文档 | 84 | ## 5. 参考文档 |
| 85 | 85 | ||
| 86 | -1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 86 | +1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 87 | 2. 《[量化模式](../README.md)》 | 87 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W4A8 动态量化 | 1 | # W4A8 动态量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W4A8 Dynamic Quantization | 4 | > **英文名称**:W4A8 Dynamic Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`W4A8DynamicFakeQuantLinear`([`msmodelslim/ir/w4a8_dynamic.py`](../../../../../msmodelslim/ir/w4a8_dynamic.py)) | 6 | > **承载 IR 类**:`W4A8DynamicFakeQuantLinear`([`msmodelslim/ir/w4a8_dynamic.py`](../../../../../msmodelslim/ir/w4a8_dynamic.py)) |
| @@ -82,11 +82,11 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 82 | - [W4A4 动态量化](term_w4a4_dynamic.md):对比模式,激活压到 4bit、压缩更狠。 | 82 | - [W4A4 动态量化](term_w4a4_dynamic.md):对比模式,激活压到 4bit、压缩更狠。 |
| 83 | - [W8A16 静态量化](term_w8a16_static.md):对比模式,激活不量化的高精度基线。 | 83 | - [W8A16 静态量化](term_w8a16_static.md):对比模式,激活不量化的高精度基线。 |
| 84 | - [W4A8 MX 动态量化](term_w4a8_mx_dynamic.md):同类模式,改用 MX 浮点格式承载同一位宽。 | 84 | - [W4A8 MX 动态量化](term_w4a8_mx_dynamic.md):同类模式,改用 MX 浮点格式承载同一位宽。 |
| 85 | -- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》:配套术语,本模式的处理器实现。 | 85 | +- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》:配套术语,本模式的处理器实现。 |
| 86 | 86 | ||
| 87 | --- | 87 | --- |
| 88 | 88 | ||
| 89 | ## 5. 参考文档 | 89 | ## 5. 参考文档 |
| 90 | 90 | ||
| 91 | -1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 91 | +1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 92 | 2. 《[量化模式](../README.md)》 | 92 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W4A8 MX 动态量化 | 1 | # W4A8 MX 动态量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W4A8 MX Dynamic Quantization | 4 | > **英文名称**:W4A8 MX Dynamic Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`W4A8MXDynamicPerBlockFakeQuantLinear`([`msmodelslim/ir/w4a8_mx_dynamic.py`](../../../../../msmodelslim/ir/w4a8_mx_dynamic.py)) | 6 | > **承载 IR 类**:`W4A8MXDynamicPerBlockFakeQuantLinear`([`msmodelslim/ir/w4a8_mx_dynamic.py`](../../../../../msmodelslim/ir/w4a8_mx_dynamic.py)) |
| @@ -76,11 +76,11 @@ $$e = \lfloor \log_2(\max_{i \in \mathrm{block}}|x_i|) \rfloor, \qquad q_i = \ma | |||
| 76 | - [W4A8 动态量化](term_w4a8_dynamic.md):对比模式,INT4 权重 + INT8 激活的整数方案。 | 76 | - [W4A8 动态量化](term_w4a8_dynamic.md):对比模式,INT4 权重 + INT8 激活的整数方案。 |
| 77 | - [W8A8 MX 动态量化](term_w8a8_mx_dynamic.md):同类模式,权重亦为 MXFP8。 | 77 | - [W8A8 MX 动态量化](term_w8a8_mx_dynamic.md):同类模式,权重亦为 MXFP8。 |
| 78 | - [W4A4 MX 动态量化](term_w4a4_mx_dynamic.md):同类模式,激活亦降为 MXFP4。 | 78 | - [W4A4 MX 动态量化](term_w4a4_mx_dynamic.md):同类模式,激活亦降为 MXFP4。 |
| 79 | -- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》:配套术语,本模式的处理器实现。 | 79 | +- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》:配套术语,本模式的处理器实现。 |
| 80 | 80 | ||
| 81 | --- | 81 | --- |
| 82 | 82 | ||
| 83 | ## 5. 参考文档 | 83 | ## 5. 参考文档 |
| 84 | 84 | ||
| 85 | -1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 85 | +1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 86 | 2. 《[量化模式](../README.md)》 | 86 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W8A16 静态量化 | 1 | # W8A16 静态量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W8A16 Static Quantization | 4 | > **英文名称**:W8A16 Static Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`W8A16StaticPerChannelFakeQuantLinear` / `W8A16StaticPerGroupFakeQuantLinear`([`msmodelslim/ir/w8a16_static.py`](../../../../../msmodelslim/ir/w8a16_static.py)) | 6 | > **承载 IR 类**:`W8A16StaticPerChannelFakeQuantLinear` / `W8A16StaticPerGroupFakeQuantLinear`([`msmodelslim/ir/w8a16_static.py`](../../../../../msmodelslim/ir/w8a16_static.py)) |
| @@ -9,7 +9,7 @@ | |||
| 9 | 9 | ||
| 10 | ## 1. 概述 | 10 | ## 1. 概述 |
| 11 | 11 | ||
| 12 | -W8A16 静态量化 = 只把线性层的权重压到 [INT8](../../quantization_basic/term_int8.md),激活保持 [FP16/BF16](../../quantization_basic/term_fp16_bf16.md) 不量化。它面向"激活精度敏感、不敢量化"的场景:权重是每 token 都要整体读取的静态数据,压到 [INT8](../../quantization_basic/term_int8.md) 使权重访存减半;激活不量化则完全规避激活量化误差,是精度最稳的线性层方案之一。代价是激活不量化意味着矩阵乘需把 [INT8](../../quantization_basic/term_int8.md) 权重反量化回浮点执行,没有[整数 GEMM](../term_gemm.md) 加速。 | 12 | +`W8A16` 静态量化 = 只把线性层的权重压到 [INT8](../../quantization_basic/term_int8.md),激活保持 [FP16/BF16](../../quantization_basic/term_fp16_bf16.md) 不量化。它面向"激活精度敏感、不敢量化"的场景:权重是每 token 都要整体读取的静态数据,压到 [INT8](../../quantization_basic/term_int8.md) 使权重访存减半;激活不量化则完全规避激活量化误差,是精度最稳的线性层方案之一。代价是激活不量化意味着矩阵乘需把 [INT8](../../quantization_basic/term_int8.md) 权重反量化回浮点执行,没有[整数 GEMM](../term_gemm.md) 加速。 |
| 13 | 13 | ||
| 14 | --- | 14 | --- |
| 15 | 15 | ||
| @@ -19,11 +19,11 @@ W8A16 静态量化 = 只把线性层的权重压到 [INT8](../../quantization_ba | |||
| 19 | 19 | ||
| 20 | | 维度 | 取值 | 说明 | | 20 | | 维度 | 取值 | 说明 | |
| 21 | |------|------|------| | 21 | |------|------|------| |
| 22 | -| 量化对象 | 仅权重 W | 激活保持 FP16 原样参与计算,不引入任何量化误差 | | 22 | +| 量化对象 | 仅权重 W | 激活保持 `FP16` 原样参与计算,不引入任何量化误差 | |
| 23 | | 位宽 | W 8bit,A 16bit | 权重 1字节/元素、访存减半;激活 2字节/元素 | | 23 | | 位宽 | W 8bit,A 16bit | 权重 1字节/元素、访存减半;激活 2字节/元素 | |
| 24 | -| 数据类型 | 权重 INT8;激活 FP16 | 混合位宽,压缩收益全部来自权重侧 | | 24 | +| 数据类型 | 权重 INT8;激活 `FP16` | 混合位宽,压缩收益全部来自权重侧 | |
| 25 | | 参数获取方式 | 静态 | 权重 scale/offset 量化阶段固化,推理零在线开销;激活无参数 | | 25 | | 参数获取方式 | 静态 | 权重 scale/offset 量化阶段固化,推理零在线开销;激活无参数 | |
| 26 | -| 量化粒度 | 权重 per-channel/per-group | 逐输出通道或按固定分组(如 128元素)共享 scale,适配通道/分组间数值差异 | | 26 | +| 量化粒度 | 权重 `per-channel`/`per-group` | 逐输出通道或按固定分组(如 128元素)共享 scale,适配通道/分组间数值差异 | |
| 27 | | 对称性 | 权重对称或非对称 | 依据权重分布选择,非对称加 offset | | 27 | | 对称性 | 权重对称或非对称 | 依据权重分布选择,非对称加 offset | |
| 28 | 28 | ||
| 29 | ### 量化公式 | 29 | ### 量化公式 |
| @@ -34,40 +34,40 @@ $$q = \mathrm{round}(x / s), \qquad \hat{x} = q \cdot s, \qquad s = \frac{\max(| | |||
| 34 | 非对称量化(含零点 offset): | 34 | 非对称量化(含零点 offset): |
| 35 | $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \frac{\max(x) - \min(x)}{2^b - 1}$$ | 35 | $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \frac{\max(x) - \min(x)}{2^b - 1}$$ |
| 36 | 36 | ||
| 37 | -其中 $x$ 为待量化张量,$q$ 为量化后的整数值,$\hat{x}$ 为反量化还原值,$s$ 为 scale,$z$ 为零点 offset,$b$ 为位宽(INT8 取 $b=8$,INT4 取 $b=4$),且 $z = \mathrm{round}(-\min(x)/s)$。量化参数 $s$、$z$ 的获取方式(静态校准或在线动态)与作用粒度(per-channel、per-token、per-tensor 等)见「模式规格」表。本模式仅权重走上述公式($b=8$),激活保持 FP16 不量化。 | 37 | +其中 $x$ 为待量化张量,$q$ 为量化后的整数值,$\hat{x}$ 为反量化还原值,$s$ 为 scale,$z$ 为零点 offset,$b$ 为位宽(INT8 取 $b=8$,INT4 取 $b=4$),且 $z = \mathrm{round}(-\min(x)/s)$。量化参数 $s$、$z$ 的获取方式(静态校准或在线动态)与作用粒度(`per-channel`、`per-token`、`per-tensor` 等)见「模式规格」表。本模式仅权重走上述公式($b=8$),激活保持 `FP16` 不量化。 |
| 38 | 38 | ||
| 39 | ### 与其他模式的关系 | 39 | ### 与其他模式的关系 |
| 40 | 40 | ||
| 41 | - **与 [W8A8 静态量化](term_w8a8_static.md)(激活是否量化不同)** | 41 | - **与 [W8A8 静态量化](term_w8a8_static.md)(激活是否量化不同)** |
| 42 | - - 本模式:优势是激活保持 FP16、零量化误差,是精度最稳的基线之一,适合激活存在离群值或对量化敏感的层;劣势是激活不量化,矩阵乘需把 [INT8](../../quantization_basic/term_int8.md) 权重反量化回浮点执行,无整数 GEMM 带来的计算加速,性能较差,整体压缩低于 W8A8。 | 42 | + - 本模式:优势是激活保持 `FP16`、零量化误差,是精度最稳的基线之一,适合激活存在离群值或对量化敏感的层;劣势是激活不量化,矩阵乘需把 [INT8](../../quantization_basic/term_int8.md) 权重反量化回浮点执行,无整数 GEMM 带来的计算加速,性能较差,整体压缩低于 `W8A8`。 |
| 43 | - - W8A8:优势是激活亦量化为 INT8、可走整数 GEMM,计算吞吐更高、压缩更彻底;劣势是激活引入量化误差。 | 43 | + - `W8A8`:优势是激活亦量化为 INT8、可走整数 GEMM,计算吞吐更高、压缩更彻底;劣势是激活引入量化误差。 |
| 44 | 44 | ||
| 45 | - **与 [W4A8 动态量化](term_w4a8_dynamic.md)(位宽搭配不同)** | 45 | - **与 [W4A8 动态量化](term_w4a8_dynamic.md)(位宽搭配不同)** |
| 46 | - 本模式:优势是激活完全无量化误差,且无在线归约开销;劣势是权重仅压到 8bit、访存收益有限,无计算加速。 | 46 | - 本模式:优势是激活完全无量化误差,且无在线归约开销;劣势是权重仅压到 8bit、访存收益有限,无计算加速。 |
| 47 | - - W4A8:优势是权重压到 4bit、访存降至 FP16 的 1/4;劣势是权重仅16档有精度风险,激活动态引入归约开销。 | 47 | + - `W4A8`:优势是权重压到 4bit、访存降至 `FP16` 的 1/4;劣势是权重仅16档有精度风险,激活动态引入归约开销。 |
| 48 | 48 | ||
| 49 | - **与 [W16A16S 量化](term_w16a16s.md)(同为高精度基线,收益来源不同)** | 49 | - **与 [W16A16S 量化](term_w16a16s.md)(同为高精度基线,收益来源不同)** |
| 50 | - 本模式:收益来自权重位宽压缩(访存减半)。 | 50 | - 本模式:收益来自权重位宽压缩(访存减半)。 |
| 51 | - - W16A16S:权重与激活均不量化,收益来自承载的稀疏权重(跳过零值元素),是去除位宽量化后的稀疏对照基线。 | 51 | + - `W16A16S`:权重与激活均不量化,收益来自承载的稀疏权重(跳过零值元素),是去除位宽量化后的稀疏对照基线。 |
| 52 | 52 | ||
| 53 | ### 适用场景与限制 | 53 | ### 适用场景与限制 |
| 54 | 54 | ||
| 55 | #### 1. 适用场景 | 55 | #### 1. 适用场景 |
| 56 | 56 | ||
| 57 | -- **激活精度敏感层**:激活分布离群值多、量化后精度劣化明显的层,可单独回退为 W8A16。 | 57 | +- **激活精度敏感层**:激活分布离群值多、量化后精度劣化明显的层,可单独回退为 `W8A16`。 |
| 58 | - **权重访存主导的 decode 场景(逐个生成 token 的推理阶段)**:权重压缩减半访存,同时保住激活精度。 | 58 | - **权重访存主导的 decode 场景(逐个生成 token 的推理阶段)**:权重压缩减半访存,同时保住激活精度。 |
| 59 | -- **精度优先的部署**:需要确定性精度的场景,W8A16 是介于不量化与 W8A8 之间的稳妥选择。 | 59 | +- **精度优先的部署**:需要确定性精度的场景,`W8A16` 是介于不量化与 `W8A8` 之间的稳妥选择。 |
| 60 | 60 | ||
| 61 | #### 2. 使用限制 | 61 | #### 2. 使用限制 |
| 62 | 62 | ||
| 63 | -- **无整数 GEMM 加速**:激活保持 FP16,矩阵乘仍为浮点,计算吞吐提升有限,只省权重访存。 | 63 | +- **无整数 GEMM 加速**:激活保持 `FP16`,矩阵乘仍为浮点,计算吞吐提升有限,只省权重访存。 |
| 64 | -- **压缩比低于 W8A8**:激活未压缩,整体位宽收益低于权重/激活同时量化的方案。 | 64 | +- **压缩比低于 `W8A8`**:激活未压缩,整体位宽收益低于权重/激活同时量化的方案。 |
| 65 | 65 | ||
| 66 | --- | 66 | --- |
| 67 | 67 | ||
| 68 | ## 3. 关联流程 | 68 | ## 3. 关联流程 |
| 69 | 69 | ||
| 70 | -- 《[一键量化完整指南](../../../user_guide/usage_quick_quantization.md)》:通过 `--quant_type` 或 YAML 配置选择本模式并执行量化。 | 70 | +- 《[一键量化完整指南](../../../user_guide/usage_quick_quantization.md)》:通过 `--quant_type` 或 `YAML` 配置选择本模式并执行量化。 |
| 71 | - 《[量化精度调优指南](../../../user_guide/process_quantization_precision_tuning.md)》:本模式导致的精度劣化可通过该流程逐层回退与调优。 | 71 | - 《[量化精度调优指南](../../../user_guide/process_quantization_precision_tuning.md)》:本模式导致的精度劣化可通过该流程逐层回退与调优。 |
| 72 | 72 | ||
| 73 | --- | 73 | --- |
| @@ -78,12 +78,12 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 78 | - [W8A8 静态量化](term_w8a8_static.md):对比模式,激活亦量化为 INT8、换取整数 GEMM 加速。 | 78 | - [W8A8 静态量化](term_w8a8_static.md):对比模式,激活亦量化为 INT8、换取整数 GEMM 加速。 |
| 79 | - [W4A8 动态量化](term_w4a8_dynamic.md):对比模式,权重压到 4bit 的混合位宽方案。 | 79 | - [W4A8 动态量化](term_w4a8_dynamic.md):对比模式,权重压到 4bit 的混合位宽方案。 |
| 80 | - [W16A16S 量化](term_w16a16s.md):同类模式,完全不量化的稀疏基线。 | 80 | - [W16A16S 量化](term_w16a16s.md):同类模式,完全不量化的稀疏基线。 |
| 81 | -- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》:配套术语,本模式的处理器实现。 | 81 | +- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》:配套术语,本模式的处理器实现。 |
| 82 | -- 《[MinMax:最小最大值量化算法说明](../../quantization_algorithms/minmax/minmax.md)》:配套术语,静态量化常用的量化参数统计方法。 | 82 | +- 《[MinMax:最小最大值量化算法说明](../../quantization_algorithms/minmax/usage_minmax.md)》:配套术语,静态量化常用的量化参数统计方法。 |
| 83 | 83 | ||
| 84 | --- | 84 | --- |
| 85 | 85 | ||
| 86 | ## 5. 参考文档 | 86 | ## 5. 参考文档 |
| 87 | 87 | ||
| 88 | -1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 88 | +1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 89 | 2. 《[量化模式](../README.md)》 | 89 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W8A8 动态量化 | 1 | # W8A8 动态量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W8A8 Dynamic Quantization | 4 | > **英文名称**:W8A8 Dynamic Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`W8A8DynamicPerChannelFakeQuantLinear` / `W8A8DynamicPerGroupFakeQuantLinear`([`msmodelslim/ir/w8a8_dynamic.py`](../../../../../msmodelslim/ir/w8a8_dynamic.py)) | 6 | > **承载 IR 类**:`W8A8DynamicPerChannelFakeQuantLinear` / `W8A8DynamicPerGroupFakeQuantLinear`([`msmodelslim/ir/w8a8_dynamic.py`](../../../../../msmodelslim/ir/w8a8_dynamic.py)) |
| @@ -78,11 +78,11 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 78 | - [W8A8 PD-Mix 量化](term_w8a8_pdmix.md):同类模式,激活策略随 Prefill/Decode 阶段切换。 | 78 | - [W8A8 PD-Mix 量化](term_w8a8_pdmix.md):同类模式,激活策略随 Prefill/Decode 阶段切换。 |
| 79 | - [W4A4 动态量化](term_w4a4_dynamic.md):同类模式,更低比特的权重+激活量化。 | 79 | - [W4A4 动态量化](term_w4a4_dynamic.md):同类模式,更低比特的权重+激活量化。 |
| 80 | - [FA PerToken 量化](../fa_quantization/term_fa_pertoken.md):同类模式,把 per-token 动态量化应用于注意力 Q/K/V 激活。 | 80 | - [FA PerToken 量化](../fa_quantization/term_fa_pertoken.md):同类模式,把 per-token 动态量化应用于注意力 Q/K/V 激活。 |
| 81 | -- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》:配套术语,本模式的处理器实现。 | 81 | +- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》:配套术语,本模式的处理器实现。 |
| 82 | 82 | ||
| 83 | --- | 83 | --- |
| 84 | 84 | ||
| 85 | ## 5. 参考文档 | 85 | ## 5. 参考文档 |
| 86 | 86 | ||
| 87 | -1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 87 | +1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 88 | 2. 《[量化模式](../README.md)》 | 88 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W8A8 FP8 动态量化 | 1 | # W8A8 FP8 动态量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W8A8 FP8 Dynamic Quantization | 4 | > **英文名称**:W8A8 FP8 Dynamic Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`WFP8AFP8DynamicPerChannelFakeQuantLinear`([`msmodelslim/ir/w8a8_fp_dynamic.py`](../../../../../msmodelslim/ir/w8a8_fp_dynamic.py)) | 6 | > **承载 IR 类**:`WFP8AFP8DynamicPerChannelFakeQuantLinear`([`msmodelslim/ir/w8a8_fp_dynamic.py`](../../../../../msmodelslim/ir/w8a8_fp_dynamic.py)) |
| @@ -37,7 +37,7 @@ $$q = \mathrm{round}_{FP8}(x / s), \qquad \hat{x} = q \cdot s, \qquad s = \frac{ | |||
| 37 | 37 | ||
| 38 | - **与 [W8A8 动态量化](term_w8a8_dynamic.md)(同为 8bit 动态家族,数据类型不同)** | 38 | - **与 [W8A8 动态量化](term_w8a8_dynamic.md)(同为 8bit 动态家族,数据类型不同)** |
| 39 | - 本模式(FP8 E4M3):优势是浮点格式、4bit 指数保留动态范围,对宽动态范围与离群值比 INT8 均匀分档更耐受;劣势是 FP8 GEMM 的硬件支持面窄于 INT8,算子生态不成熟。 | 39 | - 本模式(FP8 E4M3):优势是浮点格式、4bit 指数保留动态范围,对宽动态范围与离群值比 INT8 均匀分档更耐受;劣势是 FP8 GEMM 的硬件支持面窄于 INT8,算子生态不成熟。 |
| 40 | - - INT8:优势是整数 GEMM 生态成熟、硬件支持广泛;劣势是均匀分档对离群值敏感,宽动态范围激活常需先做 [SmoothQuant](../../quantization_algorithms/smooth_quant/smooth_quant.md) 等抑制。 | 40 | + - INT8:优势是整数 GEMM 生态成熟、硬件支持广泛;劣势是均匀分档对离群值敏感,宽动态范围激活常需先做 [SmoothQuant](../../quantization_algorithms/smooth_quant/term_smooth_quant.md) 等抑制。 |
| 41 | 41 | ||
| 42 | - **与 [W8A8 MX 动态量化](term_w8a8_mx_dynamic.md)(同为 FP8 家族,格式与粒度不同)** | 42 | - **与 [W8A8 MX 动态量化](term_w8a8_mx_dynamic.md)(同为 FP8 家族,格式与粒度不同)** |
| 43 | - 本模式:优势是 per-channel/per-token 粒度、逐元素 E4M3,粒度更细、无需块对齐;劣势是每个通道/token 都需额外记录 scale。 | 43 | - 本模式:优势是 per-channel/per-token 粒度、逐元素 E4M3,粒度更细、无需块对齐;劣势是每个通道/token 都需额外记录 scale。 |
| @@ -76,12 +76,12 @@ $$q = \mathrm{round}_{FP8}(x / s), \qquad \hat{x} = q \cdot s, \qquad s = \frac{ | |||
| 76 | - [W8A8 MX 动态量化](term_w8a8_mx_dynamic.md):同类模式,块级共享指数的 MXFP8 方案。 | 76 | - [W8A8 MX 动态量化](term_w8a8_mx_dynamic.md):同类模式,块级共享指数的 MXFP8 方案。 |
| 77 | - [W8A16 静态量化](term_w8a16_static.md):对比模式,激活保持 16bit 的高精度基线。 | 77 | - [W8A16 静态量化](term_w8a16_static.md):对比模式,激活保持 16bit 的高精度基线。 |
| 78 | - [FA PerHead 量化](../fa_quantization/term_fa_perhead.md):配套模式,同样使用 FP8 数据类型的注意力激活量化。 | 78 | - [FA PerHead 量化](../fa_quantization/term_fa_perhead.md):配套模式,同样使用 FP8 数据类型的注意力激活量化。 |
| 79 | -- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》:配套术语,本模式的处理器实现。 | 79 | +- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》:配套术语,本模式的处理器实现。 |
| 80 | 80 | ||
| 81 | --- | 81 | --- |
| 82 | 82 | ||
| 83 | ## 5. 参考文档 | 83 | ## 5. 参考文档 |
| 84 | 84 | ||
| 85 | 1. Kuzmin A et al. FP8 Formats for Deep Learning. arXiv:2209.05433. https://arxiv.org/abs/2209.05433 | 85 | 1. Kuzmin A et al. FP8 Formats for Deep Learning. arXiv:2209.05433. https://arxiv.org/abs/2209.05433 |
| 86 | -2. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 86 | +2. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 87 | 3. 《[量化模式](../README.md)》 | 87 | 3. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W8A8 MX 动态量化 | 1 | # W8A8 MX 动态量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W8A8 MX Dynamic Quantization | 4 | > **英文名称**:W8A8 MX Dynamic Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`W8A8MXDynamicPerBlockFakeQuantLinear`([`msmodelslim/ir/w8a8_mx_dynamic.py`](../../../../../msmodelslim/ir/w8a8_mx_dynamic.py)) | 6 | > **承载 IR 类**:`W8A8MXDynamicPerBlockFakeQuantLinear`([`msmodelslim/ir/w8a8_mx_dynamic.py`](../../../../../msmodelslim/ir/w8a8_mx_dynamic.py)) |
| @@ -76,11 +76,11 @@ $$e = \lfloor \log_2(\max_{i \in \mathrm{block}}|x_i|) \rfloor, \qquad q_i = \ma | |||
| 76 | - [W8A8 动态量化](term_w8a8_dynamic.md):对比模式,INT8 整数方案。 | 76 | - [W8A8 动态量化](term_w8a8_dynamic.md):对比模式,INT8 整数方案。 |
| 77 | - [W8A8 FP8 动态量化](term_w8a8_fp8_dynamic.md):对比模式,普通 FP8 每元素缩放方案。 | 77 | - [W8A8 FP8 动态量化](term_w8a8_fp8_dynamic.md):对比模式,普通 FP8 每元素缩放方案。 |
| 78 | - [W4A4 MX 动态量化](term_w4a4_mx_dynamic.md):同类模式,MXFP4 更低比特方案。 | 78 | - [W4A4 MX 动态量化](term_w4a4_mx_dynamic.md):同类模式,MXFP4 更低比特方案。 |
| 79 | -- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》:配套术语,本模式的处理器实现。 | 79 | +- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》:配套术语,本模式的处理器实现。 |
| 80 | 80 | ||
| 81 | --- | 81 | --- |
| 82 | 82 | ||
| 83 | ## 5. 参考文档 | 83 | ## 5. 参考文档 |
| 84 | 84 | ||
| 85 | -1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 85 | +1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 86 | 2. 《[量化模式](../README.md)》 | 86 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W8A8 PD-Mix 量化 | 1 | # W8A8 PD-Mix 量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W8A8 PD-Mix Quantization | 4 | > **英文名称**:W8A8 PD-Mix Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`W8A8PDMixFakeQuantLinear`([`msmodelslim/ir/w8a8_pdmix.py`](../../../../../msmodelslim/ir/w8a8_pdmix.py)) | 6 | > **承载 IR 类**:`W8A8PDMixFakeQuantLinear`([`msmodelslim/ir/w8a8_pdmix.py`](../../../../../msmodelslim/ir/w8a8_pdmix.py)) |
| @@ -78,12 +78,12 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 78 | - [W8A8 动态量化](term_w8a8_dynamic.md):对比模式,全程 per-token 动态。 | 78 | - [W8A8 动态量化](term_w8a8_dynamic.md):对比模式,全程 per-token 动态。 |
| 79 | - [W8A8 静态量化](term_w8a8_static.md):对比模式,全程静态。 | 79 | - [W8A8 静态量化](term_w8a8_static.md):对比模式,全程静态。 |
| 80 | - [W4A8 动态量化](term_w4a8_dynamic.md):对比模式,权重 4bit 的混合位宽方案。 | 80 | - [W4A8 动态量化](term_w4a8_dynamic.md):对比模式,权重 4bit 的混合位宽方案。 |
| 81 | -- 《[PDMIX:激活值阶段间混合量化算法说明](../../quantization_algorithms/pdmix/pdmix.md)》:配套术语,本模式对应的算法处理器文档。 | 81 | +- 《[PDMIX:激活值阶段间混合量化算法说明](../../quantization_algorithms/pdmix/usage_pdmix.md)》:配套术语,本模式对应的算法处理器文档。 |
| 82 | -- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》:配套术语,线性层量化的处理器实现。 | 82 | +- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》:配套术语,线性层量化的处理器实现。 |
| 83 | 83 | ||
| 84 | --- | 84 | --- |
| 85 | 85 | ||
| 86 | ## 5. 参考文档 | 86 | ## 5. 参考文档 |
| 87 | 87 | ||
| 88 | -1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 88 | +1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 89 | 2. 《[量化模式](../README.md)》 | 89 | 2. 《[量化模式](../README.md)》 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # W8A8 静态量化 | 1 | # W8A8 静态量化 |
| 2 | 2 | ||
| 3 | -> **词条类别**:量化数据格式([线性层量化](../README.md)) | 3 | +> **词条类别**:量化数据格式([线性层量化](README.md)) |
| 4 | > **英文名称**:W8A8 Static Quantization | 4 | > **英文名称**:W8A8 Static Quantization |
| 5 | > **应用领域**:大语言模型量化压缩、推理加速 | 5 | > **应用领域**:大语言模型量化压缩、推理加速 |
| 6 | > **承载 IR 类**:`W8A8StaticFakeQuantLinear`([`msmodelslim/ir/w8a8_static.py`](../../../../../msmodelslim/ir/w8a8_static.py)) | 6 | > **承载 IR 类**:`W8A8StaticFakeQuantLinear`([`msmodelslim/ir/w8a8_static.py`](../../../../../msmodelslim/ir/w8a8_static.py)) |
| @@ -60,7 +60,7 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 60 | #### 2. 使用限制 | 60 | #### 2. 使用限制 |
| 61 | 61 | ||
| 62 | - **依赖校准数据**:校准集分布偏差过大会导致 scale 失真、精度漂移。 | 62 | - **依赖校准数据**:校准集分布偏差过大会导致 scale 失真、精度漂移。 |
| 63 | -- **激活离群值敏感**:per-tensor 静态量化在激活存在显著离群值时精度劣化,需先做离群值抑制(如 [SmoothQuant](../../quantization_algorithms/smooth_quant/smooth_quant.md))或改用[动态量化](term_w8a8_dynamic.md)。 | 63 | +- **激活离群值敏感**:per-tensor 静态量化在激活存在显著离群值时精度劣化,需先做离群值抑制(如 [SmoothQuant](../../quantization_algorithms/smooth_quant/term_smooth_quant.md))或改用[动态量化](term_w8a8_dynamic.md)。 |
| 64 | 64 | ||
| 65 | --- | 65 | --- |
| 66 | 66 | ||
| @@ -77,12 +77,12 @@ $$q = \mathrm{round}(x / s) + z, \qquad \hat{x} = (q - z) \cdot s, \qquad s = \f | |||
| 77 | - [W8A8 动态量化](term_w8a8_dynamic.md):对比模式,激活量化参数在线计算。 | 77 | - [W8A8 动态量化](term_w8a8_dynamic.md):对比模式,激活量化参数在线计算。 |
| 78 | - [W8A16 静态量化](term_w8a16_static.md):同类模式,激活保持 16bit。 | 78 | - [W8A16 静态量化](term_w8a16_static.md):同类模式,激活保持 16bit。 |
| 79 | - [W4A4 动态量化](term_w4a4_dynamic.md):同类模式,更低比特的权重+激活量化。 | 79 | - [W4A4 动态量化](term_w4a4_dynamic.md):同类模式,更低比特的权重+激活量化。 |
| 80 | -- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》:配套术语,本模式的处理器实现。 | 80 | +- 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》:配套术语,本模式的处理器实现。 |
| 81 | -- 《[MinMax:最小最大值量化算法说明](../../quantization_algorithms/minmax/minmax.md)》:配套术语,静态量化常用的量化参数统计方法。 | 81 | +- 《[MinMax:最小最大值量化算法说明](../../quantization_algorithms/minmax/usage_minmax.md)》:配套术语,静态量化常用的量化参数统计方法。 |
| 82 | 82 | ||
| 83 | --- | 83 | --- |
| 84 | 84 | ||
| 85 | ## 5. 参考文档 | 85 | ## 5. 参考文档 |
| 86 | 86 | ||
| 87 | -1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/linear_quant.md)》 | 87 | +1. 《[线性量化算法说明](../../quantization_algorithms/linear_quant/usage_linear_quant.md)》 |
| 88 | 2. 《[量化模式](../README.md)》 | 88 | 2. 《[量化模式](../README.md)》 |