6.2 KiB
Qwen235B T0 fixed-shape smoke report
日期:2026-07-16。状态:real 与 profile-closed Frontier smoke complete;不是 config-rank evaluation。
Setup
| 项目 | 设置 |
|---|---|
| host | dash0,仅 GPU 0--3;GPU 4--7 始终空闲 |
| model | Qwen/Qwen3-235B-A22B-FP8 |
| runtime | community vLLM 0.10.2、torch 2.8.0、Transformers 4.55.2 |
| config | TP4/DP1、MNS64、MBT8192、block16、26,101 KV blocks/GPU |
| execution | FlashInfer、eager、BF16 KV、prefix/spec/CUDA graph off |
| workload | exact prompt token IDs;ISL=2,048、OSL=128;single 和两个同时到达 requests |
| SLO | TTFT ≤1,256 ms、TPOT ≤40 ms,joint pass |
| GPU cost | 02:33:48--02:36:01 UTC,133 s × 4 H20 = 0.148 H20-hours |
vLLM 报告每卡 model weights 约55.13 GiB、KV capacity 417,616 tokens,以及 num_gpu_blocks=26101。这与此前输入 Frontier 的 TP4 KV capacity 一致。
Real result
| load | request | usage | TTFT | TPOT | E2E | joint pass |
|---|---|---|---|---|---|---|
| single | 0 | 2,048+128 | 586.23 ms | 136.18 ms | 17,881.30 ms | no |
| concurrency=2 | 0 | 2,048+128 | 186.09 ms | 124.87 ms | 16,045.24 ms | no |
| concurrency=2 | 1 | 2,048+128 | 434.29 ms | 123.78 ms | 16,154.03 ms | no |
所有 response 的 usage completion tokens 和逐 chunk token IDs 都是128;不是 EOS 提前退出或 client length-hint 误差。artifact SHA256 全部通过 harvest 后复验。
单请求已经违反40 ms TPOT,说明该 SLO 对 community/eager controlled stack 在最低负载下不可行。concurrency=2 的 batching 将平均 TPOT 改善到124.33 ms,但仍不足以通过。这是 pilot finding,不应用于事后挑选一个恰好产生所需 ranking 的阈值。
Frontier result
Frontier 使用冻结的 best-effort source:
upstream commit: d9cfeb6d8791fbf2f295dd9744c56a666171776e
source/config tree SHA256: 172fc7ae19c40e67030208ff488d0d5d90764888ed76a7a543be6037ba62dc11
profile root: profiles-best-effort-final-v2
TP4/DP1/MoE-TP4/EP1, MNS64, MBT8192, block16, 26101 blocks
simulator 正确加载1个请求,执行2,048-token prefill,并提交第一个 decode token。下一轮成为 pure-decode batch 时失败:
Skipping eager attn_decode training: no standard decode rows
ValueError: attention decode prediction cache not found for cluster monolithic
profile audit 确认 final attention CSV 有726 rows,但 is_prefill 只有 True。另外两个已有 Qwen235 attention files 也只有 prefill rows。由于没有产生完整 request metrics,本文不报告 simulator TTFT/TPOT,也不把 crash 当成 SLO failure。使用 dummy/fallback latency 会把缺失 measurement coverage 隐藏成虚假的 simulator prediction。
Profile closure 与 rerun
在 dash0 单张 H20 上,用同一 vLLM 0.10.2/FlashInfer stack 测量 TP4、batch {1,2}、KV {2048,2176} 的4个 CUDA-event decode-attention points;4/4 rows 的 attn_decode.median 非空。它们与原726个 prefill rows 按完全相同的55-column schema 合并到新的 immutable profile root,未覆盖原 profile,也未加入 dummy 或 E2E calibration。
同一 Frontier smoke 随后精确完成1/2个请求:
| load | request | TTFT | TPOT | E2E |
|---|---|---|---|---|
| single | 0 | 267.67 ms | 88.27 ms | 11,478.45 ms |
| concurrency=2 | 0 | 470.66 ms | 90.54 ms | 11,969.73 ms |
| concurrency=2 | 1 | 470.66 ms | 90.54 ms | 11,969.73 ms |
请求数、ISL/OSL 与 real contract 完全一致,所有 latency 均有限且非负,representation gate 因而通过。absolute TPOT error 并非固定比例:single 低估约35%,concurrency=2 低估约27%。这组数据只能证明 simulator 现在能表达该 state path,不能证明 config rank 正确。
steady-QPS 下还会出现 prefill+decode true-mixed batches,因此 full surface 没有沿用4-row smoke profile。后续完整 closure 覆盖 TP4/TP8 各81个 standard-decode 与108个 true-mixed points;合并后的 attention root 共1,104 rows,并已确认 attn_decode_in_mixed 从每个 TP 的108个真实 samples 训练。
Interpretation
Change:首次把原 prefill-only compatibility envelope用于有真实 decode tokens 的最简单 fixed-shape case。
Expected effect:如果 profiles 和 execution model 已闭合,Frontier 应至少产生同一 config 的 TTFT/TPOT,之后才能讨论绝对 gap 或 rank。
Verification:real exact-token streaming run;Frontier 同 config/blocks/profile run;profile CSV 与完整 traceback 审计。
Result:real serving 成功;原 Frontier compatibility envelope 在 pure-decode attention 处断裂;补齐最小 measurement coverage 后 smoke 通过,但出现27%--35%的 TPOT absolute error。因此此前的 prefill rank-match 仍不能支持“Frontier 已足够解决 Qwen235 mixed config selection”的外推,必须看完整 config response surface。
Remaining risk:完整 profile 已加入 mixed-attention coverage,但 MoE decode routing context、EP8 communication、batch-dependent TPOT 和 simulator/real action ranking 仍需由 full surface 检验;smoke 只关闭第一个必要缺口,并未证明它是唯一缺口。
Evidence
- Real single request:single.json
- Real concurrency=2:concurrency2.json
- Server log:server.log
- Frontier command:command.json
- Frontier traceback:stdout.log
- Frontier trace:trace.csv
- Minimal decode profile coverage:coverage.json
- Full attention profile coverage:coverage.json