Files
aituner/docs/harness-ablation/qwen30b-slo-robustness-20260624.md

6.4 KiB
Raw Permalink Blame History

Qwen30B SLO robustness - 2026-06-24

本文整理 Qwen30B-A3B community vLLM 0.20 case 在三档 SLO 下的 harness/naive 对比,并解释不同 SLO 为什么没有导致完全不同的最终 topology却改变了可承载负载边界 和 bottleneck 判断。

原始报告位于远端共享 checkout

.aituner-reports/qwen30b-slo-robust-gpt55-dash1-20260623T163521Z-strict/report.md
.aituner-reports/qwen30b-slo-robust-gpt55-dash1-20260623T163521Z-medium/report.md
.aituner-reports/qwen30b-slo-robust-gpt55-dash1-20260623T163521Z-loose/report.md

实验设计

Case: qwen30b-a3b-slo-{strict,medium,loose}-gpt55

共同设置:

  • Served model: Qwen30B-A3B community vLLM 0.20。
  • Hardware: H20允许 1/2/4/8 GPU topology。
  • Trace: chat 0-8k输出长度 128。
  • Search: sampling_u in [0, 1.0]tolerance 0.001max 6 probes。
  • Objective: 在 pass rate >= 0.95 下最大化 request_rate / used_gpu_count
  • Tuner model: gpt-5.5

三档 SLO

SLO TTFT step rule TPOT
strict <=4k: 1s, <=32k: 2s, else: 3s 40 ms
medium <=4k: 2s, <=32k: 4s, else: 6s 50 ms
loose <=4k: 4s, <=32k: 8s, else: 12s 70 ms

结果摘要

SLO Harness final req/s/GPU Naive final req/s/GPU Final speedup AUC speedup Harness TTT
strict 2.2083 0.8000 2.7604x 2.7886x 1
medium 3.2583 0.8000 4.0729x 4.0729x 1
loose 3.2583 1.0458 3.1155x 4.4622x 1

三个 SLO 下 harness 都在第一个 trial 到达该 SLO 下的 reference best。naive 在 8 个 trials 内没有达到 95% reference target。

最终 tune 出来的配置

三档 SLO 的最终 best topology 都是:

tensor-parallel-size = 2
data-parallel-size = 1
enable-expert-parallel = false

但这不表示 SLO 没有影响。SLO 改变的是同一个 topology 的可行负载上限:

SLO Best config Best sampling_u Total req/s req/s/GPU Pass rate
strict TP=2, DP=1 0.484375 4.4167 2.2083 1.0000
medium TP=2, DP=1 0.750000 6.5167 3.2583 1.0000
loose TP=2, DP=1 0.750000 6.5167 3.2583 1.0000

strict 到 medium/loose 的主要变化是 feasible frontier 右移:同一个 TP=2, DP=1 配置在 strict 下只能稳定承载 sampling_u=0.484375,在 medium/loose 下可以承载 sampling_u=0.75

为什么 TP=2, DP=1 稳定胜出

AITuner 的 scoring 不是 raw throughput而是 SLO-constrained per-GPU throughput

J(c, SLO) = max_u request_rate(c, u) / used_gpu_count(c)
subject to pass_rate(c, u, SLO) >= 0.95

这解释了为什么 TP=4 没有赢。TP=4 的单请求 latency 更低、总吞吐可以更高, 但它使用两倍 GPUper-GPU objective 反而下降:

SLO Config Total req/s Used GPUs req/s/GPU 解释
strict TP=2, DP=1 4.4167 2 2.2083 strict best
strict TP=4, DP=1 4.4167 4 1.1042 latency 更低,但 GPU efficiency 更差
medium/loose TP=2, DP=1 6.5167 2 3.2583 medium/loose best
medium/loose TP=4, DP=1 8.3667 4 2.0917 raw throughput 更高,但 per-GPU 不划算

因此 harness 学到的不是“越多 GPU 越好”,而是更具体的机制:

TP=1: 单请求 prefill/decode latency 偏高SLO-constrained load frontier 低。
TP=2: 足够缓解 latency同时 GPU 数量仍低per-GPU objective 最优。
TP=4: 继续降低 latency但通信和 GPU 数量成本超过收益。

SLO 改变 bottleneck 的方式

strict 下,TP=2, DP=1sampling_u=0.484375 可行,但下一档 sampling_u=0.5 直接进入 queueing collapse

Point Pass rate 主要失败原因
strict, u=0.484375 1.0000
strict, u=0.5 0.0290 tpot_ms>40, ttft_ms>1000/2000, slo_pass_rate_unrecoverable

medium/loose 下TTFT 阈值放宽后,同一 topology 能承载更高 arrival intensity。 但是在 u=0.765625 仍会进入不可恢复的排队区:

SLO Feasible point Next infeasible point 主要失败原因
medium u=0.75, pass 1.0000 u=0.765625, pass 0.6900 tpot_ms>50, slo_pass_rate_unrecoverable
loose u=0.75, pass 1.0000 u=0.765625, pass 0.2900 tpot_ms>70, slo_pass_rate_unrecoverable

这说明 SLO 放宽不是无限提高吞吐。服务系统还有 queueing stability frontier 超过 frontier 后,即使单个请求的 steady-state latency 看起来可控,排队也会让 pass rate 迅速崩掉。

其他候选配置的信号

TP=1, DP=1 对 SLO 更敏感:

SLO TP=1, DP=1 req/s/GPU 解释
strict 2.2000 接近 strict best但略低于 TP=2
medium 2.2000 仍低于 TP=2
loose 2.8500 宽松 SLO 下受益明显,但仍低于 TP=2

gpu-memory-utilization=0.92 在 medium/loose 中与 TP=2 打平:

SLO Config req/s/GPU
medium TP=2, gpu-memory-utilization=0.92 3.2583
loose TP=2, gpu-memory-utilization=0.92 3.2583

这说明该 workload 的主瓶颈不是 KV memory headroom而是 topology 和 queueing frontier。

EP family 在该环境下不稳定:

TP=4, EP=2/4, enable-expert-parallel=true -> engine_launch exit_code=2

这些失败 trial 没有进入 best candidate但它们说明当前 failure memory 还可以继续加强: 同一类 EP launch failure 出现后,后续 proposal 应更积极地屏蔽该 family。

对 paper claim 的含义

这组实验支持的 claim 是:

  1. Harness 对 SLO 变化有稳定收益strict/medium/loose 三档均显著优于 naive。
  2. Harness 不是固定写死某个 knob。它通过 SLO-constrained probing 找到 feasible frontier在本 case 中最终 topology 相同,但可承载负载边界随 SLO 改变。
  3. Harness 的 value 来自 topology-first candidate family、per-GPU scoring 和 validator 对 failed family 的处理,而不是自然语言 prompt 的偶然表达。

这组实验尚不能单独 claim

  • 所有模型和 workload 上都 robust。
  • TP=2, DP=1 是全局最优。
  • EP family 已经被最优处理。

对应的后续证据应放在 roadmap 中跟踪:局部 grid/near-optimum、跨模型 2x2、跨 workload SLO robustness以及 failure-memory ablation。