GLM-5.2 量化执行图:W4A8、BMM 与 KV8
以 GLM-5.2 Prefill 的真实 kernel 路径解释 W4A8、E2M1/E4M3、低精度 BMM、BF16 Attention 与 FP8 KV Cache
核心结论
同一个模型会按算子采用不同精度。描述一个算子的完整坐标系是:
W4A8 表示一次 GEMM 使用 FP4 权重和 FP8 激活。Attention 没有常驻权重 W,KV Cache 属于状态 State,因此它们分别使用自己的精度描述。
主图先给出静态精度路径;需要逐节点查看 W / A / Acc / Out / State 时,可打开完整交互图。
E2M1 与 E4M3
浮点数可以写成:
其中 是符号位, 是尾数, 是指数。
| 格式 | 位宽组成 | 作用 |
|---|---|---|
| FP4 E2M1 | 1 位符号 + 2 位指数 + 1 位尾数 | 表示 FP4 权重或低精度 BMM operand |
| FP8 E4M3 | 1 位符号 + 4 位指数 + 3 位尾数 | 表示动态量化后的激活或 FP8 KV Cache |
| BF16 | 1 位符号 + 8 位指数 + 7 位尾数 | 连接层间张量和 BF16 Attention |
E2M1 的数值较粗,NVFP4 使用 block scale 表达每组数据的整体数值范围。可以把 E2M1 看作组内相对值,把 scale 看作整组的缩放倍率。
GEMM 与 BMM
GEMM 完成一组矩阵乘法:
GLM-5.2 的一条实际执行路径是:
BF16 hidden
→ 动态量化为 FP8 E4M3
→ FP8 activation × FP4 E2M1 weight
→ FP32 accumulate
→ BF16 output
这条路径对应 W4A8。
BMM 同时执行一批矩阵乘法:
BMM 两侧经常都是运行时张量,因此直接写两个 operand 的精度更清晰。当前 trace 中可见 FP4 × FP4 和 BF16 × FP4 路径。
GLM-5.2 的算子级精度
| 模块 | 运行时精度 | 主要目标 |
|---|---|---|
| Linear / 部分 MoE GEMM | W=FP4,A=FP8,Acc=FP32,Out=BF16 | 降低权重容量与带宽,使用低精度 Tensor Core |
| 部分 DSA / MLA BMM | FP4×FP4 或 BF16×FP4 | 按 BMM 的 operand 和 shape 选择 kernel |
| Sparse Attention | Q/K/V=BF16,Out=BF16 | 支撑点积、归约和 Softmax 的数值范围 |
| KV Cache | State=FP8,读取后转换为 BF16 | 降低长上下文 Cache 容量和读取流量 |
KVGatherUpconvert 连接 KV Cache 与 Attention:它从 FP8 Cache 聚合 K/V,并输出 BF16 K/V。该过程没有权重输入,属于状态读取和精度转换。
量化配方如何落到 Kernel
- 模型结构定义 Linear、BMM、Attention、KV Cache 和基础 BF16 接口。
- 量化配方定义各算子的权重、激活、scale 粒度、累加、输出和 Cache 精度。
- 推理引擎根据算子语义、shape 和设备能力选择实现路径。
- 运行时 Kernel给出最终执行证据;仿真按照实际 operand dtype 和转换边界建立成本模型。
相关页面
- FP4/FP8 量化 — 低精度格式、scale metadata 与硬件能力
- 量化基础 — 对象、格式、Scale 粒度与运行时合同
- 量化方法与评测 — PTQ/QAT 方法谱系与四道验收门
- DeepSeek MLA — MLA、矩阵吸收与 KV Cache 数据路径
- 模拟器建模指南 — 精度选择如何进入显存与吞吐公式
← 被以下页面引用(3)
- 量化方法与评测:从 PTQ/QAT 到可复现实验ai-systems · synthesis
- FP4/FP8 量化:值域、Scale 与运行时合同ai-systems · synthesis
- 量化:从 Scale 到 W4A8 的完整坐标ai-systems · concept
修改历史3 次提交
- docs(wiki): deepen quantization researchxiaocheng··
b5e5fcc - docs(wiki): render inference formulas with latexxiaocheng··
5251470 - feat(site): polish wiki discovery and reading experiencexiaocheng··
c7c2e55