DeepSeek-V3 FP8 动态量化

← 中文导读 · ← 仓库首页(EN) · ← 演进总览 §3.3 · ← V3 基座 · 论文 Figure 7 边界:属 训练侧 GEMM 数值/内核(与 DualPipe、DeepEP 并列),不是 Transformer 权重结构本身;V3 纯模型结构对比 刻意不含本节。


一句话

V3 在 FP8 Tensor Core GEMM 上用 块级动态 scale(fine-grained quantization) 抑制激活离群点误差,并 每隔 $N_c{=}128$ 次 MMA名词解释:MMA)把 Tensor Core 低精度累加 提升到 CUDA Core FP32 寄存器 再续算——在保持 FP8 吞吐的同时,把 671B 预训练做稳。


为何需要「动态」量化

问题后果V3 对策
激活 离群值(outliers)整块 FP8 动态范围被少数大值撑满,有效精度下降细粒度:每 $N_c$ 元素一块,独立 scale
Tensor Core 低精度长累加大量 FP8 MMA 后 partial sum 漂移周期性提升:每 $N_c$ MMA 进 FP32 累加
仅粗粒度 per-tensor scale大模型宽 hidden / 宽 expert 更易失真激活与权重 双侧 块 scale

答疑partial sum 漂移是什么、为何每 128 MMA 要提升 FP32?


Figure 7 两路逻辑

DeepSeek-V3 FP8 动态量化:细粒度块 scale 与 FP32 累加提升

图示详情

Fine-grained quantization

激活权重 均按长度 $N_c$ 分块

  1. 每块各自算 动态 scale $s_x$(激活)、$s_w$(权重);
  2. 块内元素量化到 FP8 后在 Tensor Core 做 GEMM / MMA,得到 低精度积
  3. CUDA Core 用 $s_x \cdot s_w$ 反量化 写回输出。

要点:scale 随块动态更新,离群只污染所在块,不拖垮整条 tensor。

实现:$s_x = \mathrm{absmax}(X_{\mathrm{block}}) / F_{\max}$($F_{\max}$ 为 FP8 可表示最大值;$s_w$ 同理);量化 $\mathrm{FP8}(x) = \mathrm{round}(x / s_x)$;MMA 输出在 CUDA Core 做 $\mathrm{out} \mathrel{+}= \mathrm{MMA}(\mathrm{FP8}(x), \mathrm{FP8}(w)) \cdot s_x s_w$。

Increasing accumulation precision

一次 GEMM 对应多轮 WGMMA(warp-group MMA):

  1. Tensor Core 内先用 低精度累加器 收 partial sum;
  2. 每累计 $N_c = 128$ 个 MMA 元素,把当前 partial 提升到 CUDA Core 的 FP32 寄存器 再累加;
  3. 下一轮 WGMMA 再从低精度路径开始,避免 全程 FP8/低精度 长链漂移。

要点:算在 TC、稳在 CUDA FP32——速度与 671B 训练可收敛性之间的折中。

实现:沿归约维 $K$ 维护 MMA 计数;每 128 步执行 acc_fp32 += promote(acc_tc); acc_tc = 0;GEMM 结束后再 acc_fp32 += promote(acc_tc) 写回 BF16/FP16 激活。

分工速查

机制实现落点关键参数
(a) 块 scale + 反量化量化在 GEMM 前;CUDA Core 乘 $s_x s_w$$N_c = 128$
(b) FP32 promotionTC 低精度 acc;CUDA Core FP32 续加128 MMA flush 一次

答疑partial sum 漂移与 (a)(b) 实现分工


硬件分工

单元职责
Tensor CoreFP8 MMA / GEMM;块内低精度乘加
CUDA Core乘 $s_x s_w$ 反量化;FP32 高精度累加

这与 V3 报告里 FP8 训练框架(配合 DualPipe 并行、DeepEP 通信)同属 训推系统层;换推理引擎 FP8 kernel(如自测 draft+FP8)是 另一套部署量化,数值策略不必与训练块 scale 完全相同。


在 V3 全景中的位置

层级示例本文
模型结构MLA、MoE 256/8、MTP
训练数值/内核FP8 GEMM、块 scale、FP32 promotion
训练并行DualPipe、DeepEP相关但另文
推理 infraMLA KV、投机解码、KV 量化否(推理 FP8 另论)

参考