Builder Daily

2026-05-04

Qwen3 MoE 在 DGX Spark 上的性能 — NVFP4 vs FP8 基准测试与实际可行的配置

社区验证的 Qwen3.6-35B-A3B 与 Qwen3.5-122B-A10B 在 GB10 上的数据:NVFP4+MTP 单用户可达 55.9 tok/s,c=32 可达 433 tok/s。涵盖 TRITON-only MoE 后端问题与 MTP+prefix-cache 失败模式。

2026 年 5 月,Qwen3 MoE 在 DGX Spark(GB10,128 GB 统一 LPDDR5X)上的社区基准测试结果已趋于稳定。以下是经验证的数据与产生这些结果的配置。

Qwen3.6-35B-A3B — 日常使用配置

模型: RedHatAI/Qwen3.6-35B-A3B-NVFP4
容器: vllm/vllm-openai:cu130-nightly(NVFP4 必须使用此版本 — 其他 vLLM 镜像会出现量化格式错误)
后端: --moe-backend=flashinfer_cutlass

场景输出 tok/s平均 TTFTMTP 接受率
单用户(512 输入 / 512 输出)55.9166 ms85.4%
并发 32(1024 输入 / 512 输出)433.42,317 ms85.2%
长输出(4096 tokens)158.0251 ms92.8%

MTP-1(投机解码,1 个草稿 token)是从 FP8 基准约 32 tok/s 跳升至 55.9 tok/s 的关键。85–93% 的接受率意味着草稿 token 大多数时间都被采用 — 这个模型的可预测性足够强,投机解码收益显著。

没有 MTP 的情况下,FP8 单用户顶多 28–33 tok/s,c=32 时约 155.6 tok/s。273 GB/s LPDDR5X 的内存带宽是密集 token 生成的硬性上限。

Qwen3.5-122B-A10B — 性能优化阶梯

这个更大的模型需要 vLLM 0.19+ 以及 2026 年 4 月的 Marlin kernel 补丁。以下是 NVIDIA 论坛上的优化阶梯:

配置Tok/s增益
基准 INT4(Intel AutoRound)28.3
+ 共享 expert 层 Hybrid INT4+FP830.8+8.8%
+ MTP-1 投机解码(FlashInfer)38.4+35.8%

38.4 tok/s 是此模型在单台 Spark 上的验证硬件上限。任务类型有实际差异:短数学输出约 36.3 tok/s,长代码生成(2048+ tokens)可达 39.9 tok/s。

常见踩坑点

1. SM121 上 MoE 后端只支持 TRITON。 FLASHINFER、CUTLASS 和 DEEPGEMM 无法用于消费者 Blackwell 上的 FP8 MoE。NVFP4 通过明确标志获得 flashinfer_cutlass — 不要省略此设置。

2. MTP + prefix caching = 失败。 同时启用投机解码和 prefix caching 在 c=8 时导致 17/32 请求失败(FP8 模型)。在上游修复前只能二选一。

3. NVFP4 在 2026 年 4 月前比 INT4 更慢。 Marlin kernel 补丁改变了这一点。如果你使用的是四月前的容器且 NVFP4 显示 16.6 tok/s(比 INT4 基准的 28.3 还慢),请更新容器。

4. CUDA graph 编译需要 5–8 分钟。 服务器初次启动时看起来像是卡住了 — 它其实正在编译。健康检查的 readiness probe 超时时间至少要设为 600 秒。

5. Qwen3-27B 未量化的上限。 以 BF16/FP8 计算,带宽理论上限约 10 tok/s(27 GB × 1 byte = 27 GB/pass,÷ 270 GB/s)。MTP-3 最佳情况可达 15.2 tok/s。要在这个尺寸下交互使用,NVFP4 是正确选择。

快速启动命令

docker run -d --gpus all --ipc host --shm-size 64gb \
  -p 8000:8000 \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  vllm/vllm-openai:cu130-nightly \
  RedHatAI/Qwen3.6-35B-A3B-NVFP4 \
  --served-model-name qwen3.5-35b \
  --host 0.0.0.0 --port 8000 \
  --dtype bfloat16 --gpu-memory-utilization 0.9 \
  --max-model-len 262144 \
  --enable-prefix-caching \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --reasoning-parser qwen3 \
  --moe-backend=flashinfer_cutlass

启用 MTP-1 投机解码请加上:--speculative-model-type=ngram --num-speculative-tokens=1


Sources

请喝咖啡