跳转至

06 FP8 与 Microscaling 量化信噪比 (SQNR) 推演

1. 量化信噪比 (SQNR) 理论数学模型

设输入连续张量 \(X\) 服从零均值高斯分布 \(X \sim \mathcal{N}(0, \sigma_x^2)\),量化阶距为 \(\Delta = \frac{2 x_{max}}{2^B - 1}\): - 量化误差近似为均匀白噪声 \(e \sim U\left(-\frac{\Delta}{2}, \frac{\Delta}{2}\right)\),其噪声功率为: $\(\sigma_e^2 = \mathbb{E}[e^2] = \frac{\Delta^2}{12} = \frac{x_{max}^2}{3 \times (2^B - 1)^2}\)$ - 量化信噪比 (Signal-to-Quantization-Noise Ratio, SQNR) 严格定义为: $\(\text{SQNR (dB)} = 10 \log_{10}\left(\frac{\sigma_x^2}{\sigma_e^2}\right) \approx 6.02 B + 4.77 - 20 \log_{10}\left(\frac{x_{max}}{\sigma_x}\right)\text{ dB}\)$

graph LR
    InputSignal["输入连续高斯信号 (Var = sigma_x^2)"] --> Quantizer["B-bit 均匀/浮点量化器"]
    Quantizer --> QuantizedSignal["量化后离散信号"]
    Quantizer --> Noise["量化误差噪声 e (Var = Delta^2 / 12)"]
    QuantizedSignal & Noise --> SQNR_Calc["SQNR = 10 * log10(sigma_x^2 / sigma_e^2)"]

2. INT8、FP8 与 Microscaling (MXFP4) 精度与带宽全维度对比

设大语言模型参数量 \(\Phi = 70\text{B}\)\(70 \times 10^9\) 参数):

量化数据格式 位宽构成 (Sign + Exp + Mantissa) 理论有效 SQNR (dB) 70B 模型权重体积 (GB) 显存带宽节省率 (%) 相对 FP16 精度掉点
FP16 / BF16 \(1 + 5 + 10\)\(1 + 8 + 7\) ~98.08 dB 140.0 GB 基准 (0%) 0.00% (基准)
INT8 对称 \(1 + 0 + 7\) (定点整数) 49.92 dB 70.0 GB 50.0% < 0.15% (需 Outlier 处理)
FP8 (E4M3) \(1 + 4 + 3\) (浮点) 54.21 dB 70.0 GB 50.0% < 0.05% (高精度推理)
FP8 (E5M2) \(1 + 5 + 2\) (浮点大动态) 46.85 dB 70.0 GB 50.0% < 0.10% (反向梯度计算)
MXFP4 (OCP) 32 个元素共享 8-bit Scale + 4-bit 尾数 42.60 dB 39.375 GB 71.88% < 0.35% (极限吞吐)
  • 推导结论:MXFP4 通过将 32 个连续浮点数归一化至共享的 8-bit 指数基底,不仅使单参数存储位宽从 16-bit 降至 \(4 + \frac{8}{32} = 4.25\text{ bit}\),而且彻底消除了大模型中的局部激活异常值溢出问题。