Prhub

#48350 [Model] Optimize Qwen3.5 on H20

原始 PR 作者 zzt93 合并时间 2026-07-13 11:30 文件变更 1 提交数 2 评论 0 代码增减 +147 / -0

执行摘要

为 Qwen3.5 在 H20 上添加调优后的 MoE 配置

Qwen3.5 模型在 H20 GPU 上使用默认 MoE 配置时,内核执行效率未充分匹配硬件特性,导致吞吐量和延迟未达最佳。通过调整 Triton 内核的 BLOCK_SIZE、num_warps 等参数,可最大化 SM 利用率,从而提升推理性能。

值得阅读,尤其是关注模型性能调优的工程师。PR 展示了如何通过自动调优结合基准测试来获得稳定的性能收益,是 vLLM 中模型特定配置的典型实践。

讨论亮点

无讨论。本次 PR 获得维护者 ZJY0516 直接批准,未产生 review 评论。

实现拆解

  1. 使用 vLLM 的自动调优器(Tuner)针对 NVIDIA H20 GPU,以 Triton 3.6.0 为基础,枚举常用的专家容量(M 值),生成最优的块大小、线程数等参数组合。
  2. 将生成的配置文件放置于 vllm/model_executor/layers/fused_moe/configs/E=256,N=256,device_name=NVIDIA_H20.json,供运行时按设备自动加载。
  3. 在 2×H20、TP=2 的环境下对 7 种输入场景进行基准测试,验证性能提升;同时通过 GSM8K 准确率测试确保模型输出质量未退化。
文件 模块 状态 重要度
vllm/model_executor/layers/fused_moe/configs/E=256,N=256,device_name=NVIDIA_H20.json MoE 配置 added 6.11

关键源码片段

vllm/model_executor/layers/fused_moe/configs/E=256,N=256,device_name=NVIDIA_H20.json configuration

这是本 PR 唯一的变更文件,新增针对 H20 的 MoE 内核调优配置,直接决定了 Qwen3.5 在该 GPU 上的推理性能。

{
  // 生成此配置使用的 Triton 编译器版本
  "triton_version": "3.6.0",
  // 不同激活专家数(M)对应的内核参数
  "16": {
    "BLOCK_SIZE_M": 16,
    "BLOCK_SIZE_N": 256,  // N 维度较大,适合中等容量
    "BLOCK_SIZE_K": 64,
    "GROUP_SIZE_M": 64,   // 较大的 group size 提升并行度
    "num_warps": 8,       // 8 warp 充分利用 SM
    "num_stages": 3
  },
  "128": {
    "BLOCK_SIZE_M": 16,
    "BLOCK_SIZE_N": 64,
    "BLOCK_SIZE_K": 64,
    "GROUP_SIZE_M": 16,
    "num_warps": 4,
    "num_stages": 3
  },
  "2048": {
    "BLOCK_SIZE_M": 64,  // 大容量使用更大的 M 块
    "BLOCK_SIZE_N": 128,
    "BLOCK_SIZE_K": 64,
    "GROUP_SIZE_M": 32,
    "num_warps": 8,
    "num_stages": 3
  }
  // 其余 15 个条目省略,结构类似
}

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险极低:变更仅涉及新增一个配置文件,不影响其他模型或 GPU 的默认行为。但需注意该配置针对 Triton 3.6.0 生成,若用户使用不同 Triton 版本,可能因编译器行为差异导致性能不达预期或运行时异常。此外,配置仅覆盖 E=256,N=256 的 MoE 设定,其他参数组合未受影响。

对用户:使用 Qwen3.5 在 H20 GPU 上进行推理的用户将获得 1%~12% 的吞吐量提升和 2%~21% 的延迟改善,尤其对解码密集型场景收益明显。对系统:无系统级影响,配置按需自动加载。对团队:提供了针对特定 GPU 模型的调优范例,便于后续为其他模型/设备重复类似流程。

仅特定 GPU/ 模型 Triton 版本依赖

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论