GLM-5.2 量化执行图:W4A8、BMM 与 KV8
用待 Trace 复核的 GLM-5.2 Prefill 示例路径解释 W4A8、E2M1/E4M3、低精度 BMM、BF16 Attention 与 FP8 KV Cache
同一个模型会按算子采用不同精度。本文整理一张面向 GLM-5.2 Prefill、L20X 与 vLLM 的示例执行图,用来说明如何核对精度合同;applies_to 表示建模对象,不表示当前页面已经记录了可审计的 Trace 身份。
当前材料没有附模型 revision、vLLM commit、Trace ID、采集配置和原始产物,因此下文的具体路径都应视为待 Trace 复核的候选,不能当作该组合的实测事实。描述单个算子的坐标系是:
在这个范围内,W4A8 表示一次 GEMM 使用 FP4 权重和 FP8 激活;它不代表整张图都是 4/8 bit。Attention 核心的 QKᵀ、PV BMM 没有常驻模型权重 operand W,但完整 Attention 模块的 Q/K/V/O 投影仍有权重;KV Cache 则属于状态 State,必须分别描述。下图先给出候选精度路径;需要逐节点查看 W / A / Acc / Out / State 时,可打开完整交互图。
- 一句话:这张示例图说明 Prefill 应按算子核对混合精度,而不是用一个
W4A8标签覆盖整张计算图。 - 三个判断:Linear 看
W/A/Acc/Out;Attention 与 BMM 按各自 operand 看;KV Cache 要作为State单独核对读取和转换。 - 来源问题:配置声明了什么、Trace 实际执行了什么 Kernel、转换边界在哪里,三者必须能对应到同一模型与运行身份。
- 边界:模型 revision、vLLM commit、Trace ID、采集配置与原始产物缺失时,具体 dtype 路径只能作为待核验候选,也不能外推为其他模型或 Decode 路径。
先读懂图里的格式
图中用 FP4 E2M1 表示权重或低精度 BMM operand,用 FP8 E4M3 表示动态量化后的激活或 KV 状态,用 BF16 表示层间张量和 Attention。值格式、Scale 粒度与 runtime recipe 的完整解释由 FP4/FP8 量化维护;这里仅用它们标注待核验的算子边界。
GEMM 与 BMM
GEMM 完成一组矩阵乘法:
一条候选执行路径可以写成:
BF16 hidden
→ 动态量化为 FP8 E4M3
→ FP8 activation × FP4 E2M1 weight
→ FP32 accumulate
→ BF16 output
只有 Trace 证实上述 operand、累加和输出 dtype 后,才能把这条路径记作 W4A8。
BMM 同时执行一批矩阵乘法:
BMM 两侧经常都是运行时张量,因此直接写两个 operand 的精度更清晰。本页用 FP4 × FP4 和 BF16 × FP4 作为两条候选路径;实际采用哪条必须由同一运行身份下的 Trace 证明。
候选算子级精度合同
| 模块 | 待核验的候选精度 | 主要目标 |
|---|---|---|
| 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 容量和读取流量 |
若 Trace 中出现 KVGatherUpconvert,应核对它是否从 FP8 Cache 聚合 K/V 并输出 BF16 K/V。该过程本身没有模型权重 operand,属于状态读取和精度转换。
如何核对这张执行图
- 从模型结构列出 Linear、BMM、Attention 与 KV Cache 节点。
- 用量化配置标注每个节点声明的 operand、Scale、累加、输出与状态精度。
- 用 Trace 核对实际 Kernel、shape、cast 与
KVGatherUpconvert等转换边界。 - 只有前三步一致,才能把对应 dtype 和转换成本写进仿真;不一致处应标记为待核验或 fallback。
相关页面
- 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
修改历史4 次提交
- docs: refine LLM inference knowledge systemxiaocheng··
f8756b9 - docs(wiki): deepen quantization researchxiaocheng··
98221ea - docs(wiki): render inference formulas with latexxiaocheng··
6c51439 - feat(site): polish wiki discovery and reading experiencexiaocheng··
e5d16c9