01 · Linear / MoE
W4A8 GEMM
主要矩阵乘。低位权重节省容量和带宽,FP8 激活进入 Tensor Core。
W4A8
→
→
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。
统一坐标系
下面以 W4A8 GEMM 为例;点击流程节点可查看它自己的五项契约。
真实执行路径
01 · Linear / MoE
主要矩阵乘。低位权重节省容量和带宽,FP8 激活进入 Tensor Core。
W4A802 · DSA / MLA BMM
BMM 的两侧未必是“权重 × 激活”,直接写两个 operand 的精度更准确。
4×4 / 16×403 · Sparse Attention
QKᵀ、Softmax、PV 没有常驻权重 W,W4A8 术语不适用。
NO W04 · KV Cache
KV 精度描述长期状态的存储和读取,与 GEMM 的 W/A 精度是两套维度。
KV8术语映射
命名优先绑定到具体算子,不从模型级 preset 推导全图精度。
| 标签 | 适用对象 | 精度契约 | 在 GLM-5.2 中的含义 |
|---|---|---|---|
| W4A8 | Linear / MoE GEMM | W=FP4 · A=FP8 · Acc=FP32 · Out=BF16 | 对应 fp8_fp4_gemm 分支,GEMM 前包含 BF16→FP8 activation scale/cast。 |
| NVFP4 | 部署方案或具体 FP4 kernel | FP4 value + block scale | 作为模型标签时覆盖多条运行路径;具体到 kernel 时检查两个 operand 的 dtype。 |
| 4×4 / 16×4 | DSA / MLA BMM | FP4×FP4 / BF16×FP4 | BMM 直接按 operand 表达更清晰,避免把两个输入强行解释成传统 W 和 A。 |
| BF16 Attention | QKᵀ / Softmax / PV | QKV=BF16 · Out=BF16 | 没有常驻权重 W;累加和 Softmax 内部可采用更高精度。 |
| KV8 | KV Cache | State=FP8 · Read→BF16 | 减少长上下文 Cache 容量和读取流量,Gather 后转换为 Attention 的 BF16 输入。 |
定义 Linear、BMM、Attention、KV Cache 等算子及基础 BF16 接口。
决定哪些权重和激活采用 FP4、FP8,以及 scale 的粒度和格式。
根据 shape、设备和算子语义选择可用的实现路径。
kernel 名和输入 dtype 给出最终执行证据,仿真按这一级建立成本模型。