Prhub

#43262 update GPU json file based on h200 recipes

原始 PR 作者 louie-tsai 合并时间 2026-05-21 11:57 文件变更 1 提交数 1 评论 3 代码增减 +104 / -69

执行摘要

更新 H200 GPU 性能基准测试配置文件

PR body 指出目的是使 vLLM Benchmark Suite 的 GPU 配置文件与 H200 上的 vLLM recipes 保持一致,以在 H200 裸机上获得正确的性能测试结果。

建议在合并后验证 CI 基准测试流水线是否正常运行,尤其关注 JSON 解析和 70B 测试的内存占用。若 review 中指出的问题尚未修复,应尽快跟进修正。

讨论亮点

gemini-code-assist[bot] 指出两处关键问题:

  • 第 31-35 行存在语法错误,一个缺少 test_name 的 client_parameters 片段被误放入 tests 数组,会导致 JSON 解析失败。
  • serving_llama70B_tp4_random_128_128 测试未显式设置 tensor_parallel_size=4,由于 defaults 中 TP=1,70B 模型在单卡 H200 上可能 OOM。
    人工审核者 bigPYJ1151 最终批准了 PR,未对上述问题提出修改要求。

实现拆解

  1. 将 JSON 结构从纯数组重构为包含 defaults 和 tests 的对象,defaults 定义了所有测试共享的默认参数(如模型、TP、数据集等)。
  2. 每个测试项只覆盖自身所需的差异参数,大幅减少冗余。
  3. 新增 Llama-8B 的四种随机输入输出长度组合(128/128、128/2048、2048/128、2048/2048)以覆盖不同负载特征。
  4. 添加 Llama-70B(TP=4)和 Gemma-4-E4B(启用 tool_call/reasoning parser)的随机测试,并保持 sharegpt 数据集兼容性。
  5. 移除旧的 Mixtral-8x7B 和 speculate decoding 测试,整体测试集更聚焦于 H200 主流模型。
文件 模块 状态 重要度
.buildkite/performance-benchmarks/tests/serving-tests.json 基准测试 modified 5.23

关键源码片段

.buildkite/performance-benchmarks/tests/serving-tests.json test-coverage

唯一变更文件,完整重构了 H200 性能基准测试配置,引入 defaults 结构并调整测试集。

/* 新结构使用 defaults 定义公共参数,tests 只保留增量 */
{
  "defaults": {
    "qps_list": ["inf"],
    "max_concurrency_list": [12, 16, 24, 32, 64, 128, 200],
    "server_parameters": {
      "model": "meta-llama/Llama-3.1-8B-Instruct",
      "tensor_parallel_size": 1,
      "dtype": "bfloat16"
    },
    "client_parameters": {
      "model": "meta-llama/Llama-3.1-8B-Instruct",
      "backend": "vllm",
      "ignore-eos": "",
      "temperature": 0,
      "num_prompts": 200
    }
  },
  "tests": [
    {
      "test_name": "serving_llama8B_tp1_sharegpt",
      /* 只覆盖 sharegpt 相关参数 */
      "server_parameters": { "tensor_parallel_size": 1 },
      "client_parameters": {
        "dataset_name": "sharegpt",
        "dataset_path": "./ShareGPT_V3_unfiltered_cleaned_split.json"
      }
    },
    {
      "test_name": "serving_llama8B_tp1_random_128_128",
      "server_parameters": { "tensor_parallel_size": 1 },
      "client_parameters": {
        "dataset_name": "random",
        "random-input-len": 128,
        "random-output-len": 128
      }
    }
    /* 更多测试 ... */
  ]
}

评论区精华

JSON 语法错误:tests 数组中存在无效片段 正确性

gemini-code-assist[bot] 指出第 31-35 行附近存在一个独立的 client_parameters 对象,缺少 test_name,会导致 json 解析失败。

结论:PR 作者未回复,但最终人工审核者批准了 PR,问题未被修正。 · unresolved

70B 测试缺失 tensor_parallel_size 可能导致 OOM 正确性

gemini-code-assist[bot] 指出 `serving_llama70B_tp4_random_128_128` 测试未显式设置 tensor_parallel_size,默认值为 1,70B 模型在单卡 H200 上可能 OOM。

结论:PR 作者未回复,但最终人工审核者批准了 PR,问题未被修正。 · unresolved

风险与影响

主要风险是 JSON 语法错误和参数缺失可能导致 CI 基准测试流水线失败或产生无效结果。若 70B 测试未正确设置 TP,可能因 OOM 导致任务崩溃,浪费 CI 资源。此外,移除 Mixtral 和 speculate decoding 测试可能降低对其他场景的覆盖率。

影响范围限定在 CI 性能基准测试套件(H200 环境)。影响程度中等,错误配置会直接干扰性能回归检测的准确性,但对最终用户无直接影响。Gemma-4-E4B 测试的加入有助于覆盖多模态和工具调用模型。

JSON 语法错误 参数缺失可能导致 OOM

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论