Evaluate vLLM 0.20 profiles against Frontier
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 实验 EXP-SIMFID-Q30-P020:同栈 per-TP operator profile 能否恢复 Frontier ranking?
|
||||
|
||||
> **状态:** 运行中(用户已批准 5-step campaign)
|
||||
> **状态:** 完成;H1 rejected,结果支持 H2(2026-07-16)
|
||||
|
||||
## Claim 与决策
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
|
||||
## 预期产物与 review
|
||||
|
||||
- **预期数据:** TP1/2/4 attention、KV-cache update、linear、MoE、collective raw profiles;冻结 manifest/sha256;12-cell simulation outputs;三 baseline comparison table。
|
||||
- **Figure prototype:** `mock-profile-ablation.png`;x 为 12 configs,y 为 normalized capacity;series 为 real、old profile-only、new profile-only、calibrated。图中数值明确标为 mock,不进入结论。
|
||||
- **实际数据:** TP1/2/4 attention、KV-cache update、linear、MoE、collective raw profiles;冻结 manifest/sha256;92/92 new profile-only runs;old/new/calibrated comparison;scheduler graph-mode 与 native MoE routing diagnostics。
|
||||
- **Figure:** `../../docs/assets/simulator-fidelity/qwen30-vllm020-profile-ablation.png`;四个 panels 分别展示完整 ranking、routing skew、phase-dependent graph mode 和 held-out P1 boundary accuracy。图中只使用实测或冻结分析结果。
|
||||
- **人工 review:** 已批准。用户明确要求推进 5 个步骤,并要求 smoke 通过后直接完整运行。
|
||||
- **Review 意见:** 不能把 TP–MNS 耦合拆成互不相关问题;profile 只冻结 execution counterfactual 的证据,最终仍以完整 config ranking 判断。
|
||||
|
||||
@@ -32,12 +32,27 @@
|
||||
- **Code:** AITuner 当前 branch `codex/fidelity-prefix-pilot-20260714`;Frontier canonical commit `d9cfeb6d8791fbf2f295dd9744c56a666171776e`;vLLM commit/tag `88d34c6409e9fb3c7b8ca0c04756f061d2099eb1` / `0.20.0`。
|
||||
- **Environment:** `/tmp/wjh/venvs/vllm-0.20.0-cu129-profiler-v1`;hardware/driver/package freeze 写入每个 profile artifact。
|
||||
- **产物路径:** remote `/home/admin/cpfs/wjh/frontier_qwen30_vllm020_profiles/`; local harvest `runs/frontier-qwen30-vllm020-profile-v1/fleet-artifacts/`。
|
||||
- **已知 deviation:** 历史 real ground truth 来自 dash1;本次 profile 按用户要求在 dash0 生成。driver 也已从历史 570.133.20 漂移到 dash0 当前 580.95.05。结果只能归因于“profile stack alignment 在当前 dash0 上的效果”,不能声称严格复现旧 dash1 execution latency。
|
||||
- **已知 deviation:** 历史 real ground truth 与本次 profile 都来自 dash0;早期文档中的主机 provenance 标注错误。driver 从历史 570.133.20 漂移到当前 580.95.05,因此结果仍不能解释为严格的逐 kernel latency 复现,只能作为同一 H20 主机上 profile-stack alignment 的对照。
|
||||
|
||||
## 结果
|
||||
|
||||
- **观察事实:** 待完整 profile 与 simulation。
|
||||
- **异常:** Frontier 原生 attention profiler 只实现 `FLASHINFER`/`NO_OP`,不能调用真实 serving 的 `FLASH_ATTN`;其 MoE wrapper声明并硬编码 vLLM 0.10.x API。vLLM 0.20.0 自带的 attention benchmark可调用实际 FlashAttention backend,但 mixed prefill+decode 在 FA3 中是一个 fused varlen call,而 Frontier schema将其拆成 `attn_prefill` 与 `attn_decode` 两项。
|
||||
- **Interpretation 与剩余 alternatives:** 这既是 profiler compatibility gap,也是潜在 representational gap。先用真实 kernel smoke 判断能否无损物化 Frontier profile;不能无损时同时保留 fused total 与 schema projection,避免误把 projection error 当 kernel error。
|
||||
- **Claim update:** unchanged。
|
||||
- **下一步:** 通过 vLLM 0.20 exact-kernel smoke;冻结 trace-derived shape support;完整 TP1/2/4 profiling;profile-only rerun。
|
||||
- **Step 1—同栈固定:** dash0 8×H20;Qwen3-30B-A3B BF16;community vLLM `0.20.0+cu129` / source commit `88d34c6409e9fb3c7b8ca0c04756f061d2099eb1`。真实 serving 与 profiles 使用同一主机和 model family;历史 driver 570.133.20 到当前 580.95.05 的漂移保留为限制。
|
||||
- **Step 2—per-TP profiles:** profile-v2 冻结 attention 132 rows、直接测量 fused-mixed diagnostic 30 rows、linear 36 rows、MoE 72 rows、all-reduce 24 rows。attention/linear/MoE 通过单 H20 local-shard shape 表达 TP;all-reduce 使用真实 TP2/4 ranks。base comparison 保持 historical analytical CC backend,measured all-reduce 仅作独立诊断。
|
||||
- **Step 3—trace execution coverage:** 6 个 P1 cells 共 161,161 scheduler/model steps:pure decode 151,471(100% FULL graph),pure prefill 224(192 NONE、30 PIECEWISE、2 FULL),true mixed 9,466(8,623 NONE、842 PIECEWISE、1 FULL)。exact-trace 8-request native routing probe 表明实际 median max/mean expert load 为 prefill 6.12、decode 5.64,而 Frontier fixed prior 为 1.84;actual-vs-prior Pearson median 接近 0。该小 cohort 用于机制否证,不作为 routing population estimate。
|
||||
- **Step 4—冻结 profile-only:** profile-v1 因 true-mixed schema 缺少 `attn_decode_in_mixed` 在第一个 mixed batch fail。profile-v2 使用 same-TP pure prefill/decode ratio 做 total-conserving compatibility split,同时保留直接实测 fused total。两个 46-run CPU shards 均 PASS,92/92 runs 无 crash,总 simulator runtime 2,394.9 s(0.665 CPU-hour)。
|
||||
- **Step 5—ranking comparison:** real optimum 为 TP2/MNS32。old profile-only top set 为 TP4/MNS32/64,τ-b=0、worst regret=25.63%;new vLLM 0.20 profile-only 在所有 92 anchors 上都 SLO-infeasible,12 configs 全并列,τ-b=0、exact pair sign=7.58%、worst tie-break regret=60.91%;historical frozen per-TP calibration top set 为 TP2/MNS32/64,τ-b=0.9668、worst regret=0.76%。在 held-out P1 12 boundary labels 上,new profile-only accuracy 41.67%、pass-rate MAE 69.84%,也没有优于 old profile-only;calibration 分别为 83.33% 和 11.75%。
|
||||
- **Same-state delta:** 在 `tp1_mns64` 的 batch 0/layer 0、profile-dependent trajectories 尚未分叉时,new/old layer component sum 已为 2.70×;MoE grouped GEMM 3.76×、RoPE 7.39×、attention prefill 2.67×。误差不是可由一个 version correction 解释的一致 scale。
|
||||
- **异常与 schema gap:** Frontier 原生 attention profiler 只实现 `FLASHINFER`/`NO_OP`,不能调用真实 serving 的 `FLASH_ATTN`;其 MoE wrapper声明并硬编码 vLLM 0.10.x API。vLLM 0.20.0 的 FA3 mixed prefill+decode 是一个 fused varlen call,而 Frontier schema要求 `attn_prefill` 和 `attn_decode_in_mixed` 两项。兼容 split 是归因,不是观测。
|
||||
- **Interpretation:** H1 被否证。同栈 isolated operator profile 不等价于真实 execution counterfactual。TP 与 MNS 共同改变 local shape、collective、queue/batch composition、phase mixture、routing 和 CUDA graph regime;static operator sum 在 scheduler 推进后产生 feedback amplification。历史 per-TP calibration 是 composition 之后的外部 E2E scale,能吸收这些残差,但不是 Frontier 原生 per-TP profiling 或机制解释。
|
||||
- **Claim update:** 支持 H2。新的 research target 是验证 execution-context-conditioned composition,而不是继续把更多 isolated kernel rows 当作 fidelity 的充分条件。
|
||||
- **下一步:** 分别做 graph-conditioned step profile、fused mixed total、trace-conditioned routing 和 measured collective 四个单变量消融,再回到完整 TP×MNS joint surface 评测;frozen calibration 仅作上界,不参与 mechanism fitting。
|
||||
|
||||
## 产物索引
|
||||
|
||||
- Frozen profile:`frozen/profile-v2/manifest.json`
|
||||
- Full-surface comparison:`artifacts/qwen30-s2-profile-ablation.json`
|
||||
- P1 boundary comparison:`artifacts/qwen30-p1-profile-ablation.json`
|
||||
- Scheduler/graph-mode summary:`artifacts/qwen30-p1b-opprof-summary.json`
|
||||
- Native routing mismatch:`artifacts/qwen30-routing-mismatch.json`
|
||||
- Same-state operator delta:`artifacts/qwen30-initial-op-trace-delta.json`
|
||||
- Figure script:`plot_profile_ablation.py`
|
||||
|
||||
Reference in New Issue
Block a user