大贤者
精华
|
战斗力 鹅
|
回帖 0
注册时间 2021-4-12
|
DSV4 不是原生 FP4 吧,搞的是 QAT
Tech report 3.4:为了在部署阶段实现推理加速和节省显存,我们在后训练阶段引入量化感知训练(Quantization-Aware Training, QAT)(Jacob et al., 2018),使模型能够适应量化带来的精度下降。我们将 FP4(MXFP4)量化(Rouhani et al., 2023)应用于两个部分:第一,MoE 专家权重,这是 GPU 显存占用的主要来源之一(OpenAI, 2025);第二,CSA indexer 中的 Query-Key(QK)路径,在这里 QK activations 会完全以 FP4 格式缓存、加载和相乘,从而在长上下文场景下加速 attention score 的计算。此外,在 QAT 过程中,我们还进一步将 index scores I:,: 从 FP32 量化到 BF16。该优化使 top-k selector 获得 2 倍加速,同时保持 99.7% 的 KV entries 召回率。
对于 MoE 专家权重,我们遵循 QAT 的常见做法:optimizer 维护的 FP32 master weights 会先被量化为 FP4,然后再反量化回 FP8 进行计算。值得注意的是,我们的 FP4 到 FP8 反量化是无损的。这是因为 FP8(E4M3)相比 FP4(E2M1)多出 2 个 exponent bits,因此具有更大的动态范围。因此,只要每个 FP8 量化块(128 × 128 tiles)内部 FP4 子块(1 × 32 tiles)的最大 scale factor 与最小 scale factor 之间的比值不超过某个阈值,细粒度的 scale 信息就可以被 FP8 扩展后的动态范围完全吸收。我们通过实验验证,当前权重满足这一条件。这使得整个 QAT pipeline 可以在不做任何修改的情况下完全复用现有的 FP8 训练框架。
在反向传播中,梯度是相对于 forward pass 中相同的 FP8 权重来计算的,并直接传播回 FP32 master weights;这等价于在量化操作上使用 Straight-Through Estimator(STE)。这也避免了重新量化转置权重的需求。
在 RL 训练的推理和 rollout 阶段,由于这些阶段不涉及反向传播,我们直接使用真实的 FP4 量化权重,而不是模拟量化。这样可以确保采样阶段的模型行为与线上部署完全一致,同时减少 kernel 的内存加载,实现实际加速,并显著降低显存消耗。我们对 CSA indexer 中的 QK 路径也采用类似处理。 |
|