工具
Qwen 3.6 27B VLLM 基准测试:BF16 / FP8 / NVFP4 量化对比
社区用户测试 Qwen 3.6 27B 在 VLLM 下 BF16、FP8、NVFP4 三种量化的吞吐与延迟表现。
2026.07.05 · 周日约 6 分钟阅读
Reddit 用户 live4evrr 发布了一组针对 Qwen 3.6 27B 模型在 VLLM 推理框架下、分别采用 BF16、FP8 与 NVFP4 三种量化精度的性能基准测试结果。测试在一套搭载 RTX 6000 Pro Blackwell 96GB(Max-Q 版、开启 ECC)的工作站上完成,使用 llama benchy 跑分并整理为可读表格。
测试环境与方法
- 硬件:Asus Proart Z890 主板、Intel 270K Plus CPU、96GB DDR5 6000MHz 内存、单卡 RTX 6000 Pro Blackwell 96GB。
- 软件:Ubuntu 26.04 LTS(x86_64)、Python 3.12.13、VLLM 0.24.0、NVIDIA-SMI 595.71.05、CUDA 13.2。
- 推理参数:上下文最大长度 262144,启用 FlashInfer 后端、KV 缓存 fp8、多 token 预测(MTP,num_speculative_tokens=2),gpu-memory-utilization 设为 0.88。
- 模型:Qwen 3.6 27B 的 BF16 与 FP8 版本来自 Hugging Face 官方仓库,NVFP4 版本来自 NVIDIA 仓库,并将官方 jinja 聊天模板替换为修复版。
核心结论
- NVFP4 在 token 生成速度上大幅领先:得益于解码阶段的内存带宽瓶颈,权重压缩到 4 位后吞吐约从 BF16 的 61 t/s 跃升至 163 t/s,约为 BF16 的 2.6 倍。
- FP8 在 Prompt 处理(prefill)上最快:prefill 阶段是 compute-bound,FP8 可直接利用 Tensor Core 加速且无反量化开销,相比 BF16 提速约 20%,在多个上下文深度下均优于 NVFP4。
- NVFP4 的 prefill 略逊于 FP8:NVFP4 在大批次 prefill 时需在线反量化权重,相比 FP8 慢约 10–15%,但仍优于 BF16。
关键性能数据
1. Token 生成吞吐(tg32,越高越好)
| 上下文深度 | BF16 (t/s) | FP8 (t/s) | NVFP4 (t/s) | NVFP4 vs BF16 |
|---|---|---|---|---|
| 0k | 59.10 | 97.49 | 169.23 | 2.86x |
| 4k | 63.01 | 103.03 | 157.90 | 2.51x |
| 8k | 67.55 | 96.88 | 166.52 | 2.47x |
| 16k | 64.57 | 101.51 | 171.12 | 2.65x |
| 32k | 59.46 | 100.48 | 158.04 | 2.66x |
| 65k | 61.55 | 98.99 | 159.91 | 2.60x |
2. Prompt 处理吞吐(pp2048,越高越好)
| 上下文深度 | BF16 (t/s) | FP8 (t/s) | NVFP4 (t/s) | FP8 vs BF16 |
|---|---|---|---|---|
| 0k | 4359.28 | 4747.78 | 4732.42 | 1.09x |
| 4k | 1856.76 | 2250.71 | 2010.97 | 1.21x |
| 8k | 2095.89 | 2479.30 | 2191.59 | 1.18x |
| 16k | 1765.10 | 2029.02 | 1832.65 | 1.15x |
| 32k | 1317.16 | 1503.80 | 1388.85 | 1.14x |
| 65k | 880.40 | 1058.40 | 902.65 | 1.20x |
3. 端到端 TTFT(ctx_pp,越低越好)
| 上下文深度 | BF16 (ms) | FP8 (ms) | NVFP4 (ms) | FP8 降幅 |
|---|---|---|---|---|
| 4k | 1023.29 | 833.65 | 927.45 | -18.5% |
| 8k | 1974.69 | 1415.69 | 1869.70 | -28.3% |
| 16k | 4122.54 | 2926.47 | 3927.95 | -29.0% |
| 32k | 9179.91 | 6572.61 | 8692.01 | -28.4% |
| 65k | 21760.57 | 16425.60 | 20613.26 | -24.5% |
4. 峰值生成与首 token 延迟
| 量化 | 峰值生成 (t/s) | TTFT (pp2048) | 预估 PPT |
|---|---|---|---|
| BF16 | 61.01 | 525.03 ms | 470.14 ms |
| FP8 | 100.63 | 469.82 ms | 431.57 ms |
| NVFP4 | 174.69 | 467.40 ms | 432.98 ms |
体验观察
作者在 Copilot 中使用 NVFP4 量化时遇到输出循环问题,agent 模式的回答完整性也不及 BF16/FP8,因此认为 FP8 是兼顾速度与质量的折衷选择。此外,作者此前长期使用 llama.cpp,切换到 VLLM 后发现后者因 paged attention 机制在实际使用中更快,且稳定性更好,llama.cpp 此前偶发的随机错误在 VLLM 上未再出现。作者也表示部分参数仍有进一步调优空间,目前的设置对编程类用途已经足够。
