GLM-5.2 · Prefill · L20X

每个算子有自己的精度契约

“NVFP4 模型”是部署方案的总称。运行时会按算子选择权重、激活、累加、输出和 Cache 精度,因此同一层里可以同时出现 W4A8 GEMM、低精度 BMM、BF16 Attention 和 KV8 Cache。

W4A8 只描述一次 GEMM:权重 W 使用 4 bit,输入激活 A 使用 8 bit。它不描述 Attention,也不描述 KV Cache。

算子精度 = W + A + Acc + Out + State

下面以 W4A8 GEMM 为例;点击流程节点可查看它自己的五项契约。

W · WeightFP4常驻权重
A · ActivationFP8动态量化输入
Acc · AccumulateFP32乘加累积
Out · OutputBF16层间接口
State · Cache该 GEMM 不持有 KV

四条路径,各自选择精度

量化转换低精度数据BF16 计算Cache 状态

01 · Linear / MoE

W4A8 GEMM

主要矩阵乘。低位权重节省容量和带宽,FP8 激活进入 Tensor Core。

W4A8

02 · DSA / MLA BMM

低精度 BMM

BMM 的两侧未必是“权重 × 激活”,直接写两个 operand 的精度更准确。

4×4 / 16×4

03 · Sparse Attention

BF16 Attention

QKᵀ、Softmax、PV 没有常驻权重 W,W4A8 术语不适用。

NO W

04 · KV Cache

KV8 存储路径

KV 精度描述长期状态的存储和读取,与 GEMM 的 W/A 精度是两套维度。

KV8

看到一个标签时,它到底描述什么

命名优先绑定到具体算子,不从模型级 preset 推导全图精度。

标签适用对象精度契约在 GLM-5.2 中的含义
W4A8Linear / MoE GEMMW=FP4 · A=FP8 · Acc=FP32 · Out=BF16对应 fp8_fp4_gemm 分支,GEMM 前包含 BF16→FP8 activation scale/cast。
NVFP4部署方案或具体 FP4 kernelFP4 value + block scale作为模型标签时覆盖多条运行路径;具体到 kernel 时检查两个 operand 的 dtype。
4×4 / 16×4DSA / MLA BMMFP4×FP4 / BF16×FP4BMM 直接按 operand 表达更清晰,避免把两个输入强行解释成传统 W 和 A。
BF16 AttentionQKᵀ / Softmax / PVQKV=BF16 · Out=BF16没有常驻权重 W;累加和 Softmax 内部可采用更高精度。
KV8KV CacheState=FP8 · Read→BF16减少长上下文 Cache 容量和读取流量,Gather 后转换为 Attention 的 BF16 输入。
01

模型结构

定义 Linear、BMM、Attention、KV Cache 等算子及基础 BF16 接口。

02

量化配方

决定哪些权重和激活采用 FP4、FP8,以及 scale 的粒度和格式。

03

推理引擎

根据 shape、设备和算子语义选择可用的实现路径。

04

运行时 Kernel

kernel 名和输入 dtype 给出最终执行证据,仿真按这一级建立成本模型。