vLLM-Omni 量化推理实践

5 June 2026 • 3 minute read

训练后量化是在不重训的前提下降低大型扩散 Transformer 显存与延迟成本的主要手段。对文生图而言,工程上要回答的问题很具体:能回收多少显存、输出保真度是否保持,以及在何种并发下低精度内核的算术收益开始压过其逐次调用的反量化开销。本文针对通过 vLLM-Omni 服务、运行在两块 NVIDIA B300(Blackwell Ultra,计算能力 10.3 / SM103,张量并行为 2)上的扩散模型 Qwen-Image-2512 给出实证回答。

评估两类量化。离线量化加载预量化的 ModelOpt checkpoint,由 vLLM-Omni 自动识别,测试了全 FP8 与混合 FP8/NVFP4 两个 checkpoint;在线量化则在加载时通过 --quantization <method> 对 BF16 checkpoint 施加量化。全部测量使用固定负载:1024x1024, 20 inference steps, seed 42, prompt=‘A ceramic teapot on a wooden table’。

实验设置与样例输出

预量化 checkpoint 无需 --quantization 标志,由 checkpoint 配置选择路径,且已在启动时核验内核选择、无静默回退到 BF16。

# BF16 基线
vllm serve Qwen/Qwen-Image-2512 --omni --tensor-parallel-size 2

# 离线 ModelOpt FP8(预量化 checkpoint,自动识别)
vllm serve feizhai123/qwen-image-2512-modelopt-fp8-dynamic-all --omni \
  --tensor-parallel-size 2 --linear-backend cutlass --force-cutlass-fp8 --trust-remote-code

# 离线 混合 FP8/NVFP4
vllm serve feizhai123/qwen-image-2512-modelopt-mixed-fp8-sensitive-nvfp4-heavy --omni \
  --tensor-parallel-size 2 --linear-backend cutlass --force-cutlass-fp8 --trust-remote-code

# 在线 FP8(加载时对 BF16 权重做动态量化)
vllm serve Qwen/Qwen-Image-2512 --omni --tensor-parallel-size 2 --quantization fp8

三个量化输出与基线、彼此之间的校验和均不同,证实是真实的不同计算,而非缓存或静默回退。各配置的视觉保真度均得到保持,差异仅限于细小的高频细节,且在混合 FP8/NVFP4 配置上最明显——与其更激进的权重压缩一致。

BF16
BF16(基线)
在线 FP8
在线 FP8
离线 FP8
离线 ModelOpt FP8
混合
混合 FP8/NVFP4
图 1. 四种精度下的输出,提示词 “A ceramic teapot on a wooden table”,1024×1024,20 步,种子 42。

单请求:延迟、显存与保真度

下表给出各配置的单请求延迟、双卡峰值显存、磁盘 checkpoint 体积,以及相对 BF16 基线的重建保真度(以 SSIM 与 PSNR 量化,均在匹配的提示词、种子与步数下计算)。

表 1. 各配置相对 BF16 基线的单请求特征。
配置延迟 (s)峰值显存 (MiB)CheckpointSSIMPSNR (dB)
BF161.16082,80454 GB基线基线
在线 FP81.15770,504复用 BF160.998439.34
离线 ModelOpt FP81.20369,89635 GB0.98329.1
混合 FP8/NVFP41.77268,84431 GB0.96826.3

峰值显存降低 15.6%(离线 FP8)与 16.9%(混合);checkpoint 缩减 35% 与 43%。在线 FP8 取得最高保真度(PSNR 39.3 dB,SSIM 0.9984),因为它在加载时对 BF16 权重做动态量化,而非依赖单独标定的产物。

022456890峰值显存, 双卡 (GiB)81BF1669在线 FP868离线 ModelOpt FP867混合 FP8/NVFP4
图 2. 各配置双卡峰值显存,越低越好。约 16% 的节省主要来自权重存储,而非混合格式层的精度。
0.000.501.001.502.00单请求延迟 (s)1.16BF161.16在线 FP81.20离线 ModelOpt FP81.77混合 FP8/NVFP4
图 3. 单请求平均延迟,越低越好。量化线性层在单请求时承担反量化开销——混合配置中的 NVFP4 最为显著(+52.8%);在线 FP8 与 BF16 在噪声范围内持平。
单请求场景低估了量化的价值:单请求时 GEMM 规模小、反量化开销占主导。低精度的算术与带宽优势只有在并发饱和内核时才会兑现——见下一节。

并发下的吞吐

下图给出并发 1、4、8 个在途请求时的持续吞吐(images/s),采用批处理服务(--step-execution --max-num-seqs 8,每点 16 个请求)。可观察到明显的交叉:低并发下 BF16 最快,但随批次填满,量化格式的权重带宽节省压过其逐次开销。

0.00.30.60.91.21.5吞吐 (images/s)148并发 (同时在途请求数)1.1371.2331.2181.347BF16在线 FP8离线 ModelOpt FP8混合 FP8/NVFP4
图 4. 吞吐随并发变化,越高越好,标注并发 8 处的端点值。并发 8 时三种量化配置均超过 BF16(1.137):混合 1.347(+18%)、在线 FP8 1.233(+8%)、离线 FP8 1.218(+7%)。混合配置从并发 1 到 8 扩展 2.34×。

该交叉是核心的运行结论:对延迟敏感的单流服务,本硬件上 BF16 仍更优;对吞吐导向的批处理服务,量化配置全面占优。这一“随机制依赖”与上游 Qwen3-Omni W4A4 工作(PR #4025)一致——量化优势同样在并发下、而非单流延迟中显现。

结论

对于通过 vLLM-Omni 服务、运行在 NVIDIA B300 上的 Qwen-Image-2512,FP8 与混合 FP8/NVFP4 量化在保持输出保真度的同时回收约 16% 运行显存、缩减 35%–43% checkpoint 体积,并在并发饱和内核后超过 BF16 吞吐。单流延迟敏感场景下 BF16 仍更优;追求吞吐时优先量化,其中混合 FP8/NVFP4 在并发下最快、峰值显存也最低。后续我们会继续展开在线量化、内核细节与更多模型上的实践。