Skip to content

量化基础 ​

量化用更低精度的编码近似模型中的数值,以减少存储、显存和数据搬运,并在硬件支持时使用低精度 Kernel。代价是引入舍入与截断误差,因此一种完整方案不能只用“4 bit”或“FP8”描述。

四个基础维度 ​

维度回答的问题典型取值
量化对象量化什么Weight、Activation、KV Cache
量化粒度哪些元素共享量化参数Per-tensor、per-channel、per-block、per-group
数值类型低精度 bit 如何解释INT8、INT4、FP8 E4M3、FP4 E2M1
数值映射高精度值如何映射和重建Integer Affine、Float Cast、scale、rounding

四个维度需要组合描述。例如,一个 W8A8 线性层可以采用:

text
Weight:     FP8 E4M3 + per-block 128×128 scale
Activation: FP8 E4M3 + per-token-block 1×128 scale
KV Cache:   独立配置

W8A8 只说明 Weight 和 Activation 的位宽,没有说明数值类型、映射方式、粒度或模型覆盖范围。

这些基础维度组合后形成 Fine-Grained FP8、MXFP8、NVFP4 等 Recipe,再与量化算法、模块覆盖和 Runtime 组成完整的量化配置。

参考 ​

  1. Hugging Face Transformers:Quantization Concepts
  2. PyTorch torchao:Quantization Overview