Evaluate Qwen30 prefill simulator fidelity

This commit is contained in:
2026-07-17 03:11:45 +08:00
parent 97c2f34700
commit 3a59d5df96
20 changed files with 8280 additions and 28 deletions

View File

@@ -1,6 +1,6 @@
# 实验 EXP-SIMFID-PHASE-FACTORIALprefill-only 是否是 simulator ranking 的容易区间?
> **状态:** 已批准,运行中(用户于 2026-07-17 明确要求先完成 235B mixed 与 30B prefill-only
> **状态:** 已完成2026-07-17
## Claim 与决策
@@ -17,6 +17,7 @@
- **30B system context** community vLLM 0.20.0+cu129BF16 weights/activation/KVTP∈{1,2,4}MNS∈{8,16,32,64}MBT=8192chunked prefill onprefix offreal 保留 runtime 默认 CUDA graphFrontier profile-only 不做 E2E calibration。
- **30B workload** fixed ISL=2048、OSL=164 个不同 token-chain promptsuniform open-loop QPSfresh server per `(config, rate, round)`target-rate warmup 与 measured requests 分离。
- **30B SLO** TTFT≤1256 ms至少 61/64 requests 通过primary score 为最大共同 tested feasible req/s / 实际 TP GPUs。
- **Boundary refinement rule** base grid `{4,8,16,32,64}` 先定位每个 TP 的 pass→fail 区间;若除以 TP 后的离散容量产生无法区分的 top tie则在查看最终 ranking 前追加共同 per-GPU lattice `5/6/7 req/s/GPU`,即 TP1 测 `{5,6,7}`、TP2 测 `{10,12,14}`、TP4 测 `{20,24,28}`。refinement 不替换或删除 base anchors。
- **235B baseline** 已冻结 `ISL=2048, OSL=128`、8 configs、68 个 fresh-server anchorsprimary sensitivity TTFT≤1256 ms、TPOT≤150 ms。
- **Baselines** real community vLLMFrontier same-stack profile-onlyhistorical Qwen30 mixed profile-onlyhistorical frozen per-TP calibration 只作为 upper bound不参与本 case 拟合。
- **Metrics** top set、worst tie-break regret、Kendall τ-b、exact/non-tied pair direction、anchor confusion、absolute capacity、TTFT p50/p95、real trial variance与GPU-hour。
@@ -35,7 +36,7 @@
| Selective benchmarking | PASS for initial screen | 同时报已有 235B mixed success和内部 pairwise failure后续 expansion 由预注册 verdict 触发 |
| Simplified workload | NEEDS EVIDENCE | fixed-shape 只用于 phase isolation不外推 trace-faithful mixed |
| Calibration=evaluation | PASS | 新 case 不用 serving E2E 数据拟合 scale |
| Missing significance | NEEDS EVIDENCE until run | boundary anchors做独立 fresh-server repeat保留 disagreement |
| Missing significance | PASS for ranking screen | 96 个 config-rate cells 均做两个独立 fresh-server rounds两轮都 pass 才算 feasible |
| Relative-only result | PASS by design | 同时报 req/s/GPU、TTFT distribution、rank/regret |
## 复现信息
@@ -43,12 +44,13 @@
- **Code** AITuner branch `codex/fidelity-prefix-pilot-20260714`Frontier upstream `d9cfeb6d8791fbf2f295dd9744c56a666171776e` + frozen known patches。
- **Environment** 只使用 dash0 8×H20Qwen30 venv `/tmp/wjh/venvs/vllm-0.20.0-cu129-profiler-v1`model `/home/admin/cpfs/wjh/models/Qwen/Qwen3-30B-A3B`
- **产物路径:** local/remote `runs/frontier-phase-factorial-v0/`raw GPU artifacts 由 fleet harvestcondensed JSON/CSV 进入结果目录。
- **已知 deviation** 235B 为 FP8/vLLM0.10.2/FlashInfer eager30B 为 BF16/vLLM0.20/FA3/default CUDA graph因此跨模型只检验 hypothesis consistencycausal phase claim 最终仍需 same-model phase pair。
- **已知 deviation** 235B 为 FP8/vLLM0.10.2/FlashInfer eager30B 为 BF16/vLLM0.20/FA3/default CUDA graph因此跨模型只检验 hypothesis consistencycausal phase claim 最终仍需 same-model phase pair。初始 continuous fleet monitor 未在 fresh-server 间隙保留 controller-level GPU reservation产生重叠 launch该 attempt 整体移动到 `invalid-overlap-*`,不进入统计。后续一次试图在“其余 4 卡”上并行 refinement 时,探针再次命中 TP4 fresh-server 空窗,把 4 个 TP1 jobs 放到了同一 GPU set。这四个 jobs 尚未产生 measured result但当时 TP4/MNS64 已产生的单个 anchor 也按污染处理。两者都整体移到 `invalid-overlap-20260716T1750Z`TP4/MNS64 从空目录重跑。此后的 barrier waves 不在运行中追加 job但 Wave 3 的 harvest monitor 在未及时返回 launch 状态时已发射 MNS16/32紧接的 monitor retry 又在它们的启动空窗发射 MNS64。三者都未产生 measured result整体移到 `invalid-overlap-20260716T1836Z`。最终 TP4 waves 使用只含本波 jobs 的独立 queue state不再依赖 pending-job 探针调度。
## 结果
- **观察事实:** 235B fixed-shape mixed 已完成:real/sim TP4 top set exact matchworst regret=0、τ-b=0.8944;但 20 个 real non-tie pairs 只保持 16 个10/34 anchors false-infeasibleTP8 MNS×MBT interaction 被漏掉。30B prefill-only 待运行
- **异常:** 无
- **Interpretation 与剩余 alternatives** 强版本“mixed 必然失败”已被 235B top-set result 削弱;仍可能存在 phase-dependent error magnitude由 topology margin 掩盖
- **Claim update** unchanged等待 30B prefill-only
- **下一步:** freeze 30B simulator surface → guided real anchors → joint verdict只有判定需要时扩展 decode-heavy 235B 或 trace-shaped 30B prefill
- **观察事实:** 235B fixed-shape mixed real/sim 的四个 TP4 top configs 完全一致worst regret=0、τ-b=0.8944;但 20 个 real non-tie pairs 只保持 16 个10/34 anchors false-infeasibleTP8 MNS×MBT interaction 被漏掉。30B prefill-only 中真机 capacity/GPU 为 TP1=7、TP2=7、TP4=8Frontier 为 TP1=8、TP2=8、TP4=6real top set 是四个 TP4 configssimulator top set 是全部八个 TP1/TP2 configs无交集。worst regret=12.5%、τ-b=-1.032 个 real non-tie pairs 中 0 个同序。96 个 anchor labels 中有 8 个 false-feasible 和 8 个 false-infeasible
- **实验成本:** 接受 24 个 fleet jobs、192 个 fresh-server anchors、12,288 个 measured requests 和 4,512 个 warmups消耗 12.0744 H20-GPU-hours
- **异常与排除:** fleet controller 在 fresh-server 空窗期没有保留 GPU reservation产生了三批重叠 launch。污染 attempt 不进入 accepted artifact root未产生 measured result 的重叠 jobs 也不被计数;同一波中已产生的 TP4/MNS64 单 anchor 同样按污染丢弃,从空目录重跑。最终 TP4 refinement 使用彼此独立的 queue states。analyzer 按 `(round, filename)` 去重相同 harvest copy如果 hash 冲突则直接报错
- **Interpretation 与剩余 alternatives** `H-phase` 的强形式prefill-only 是 fidelity 充分条件)被否证;`H-margin` 与数据更一致。235B 的真机 TP4/TP8 最优 margin 为 2×足以掩盖内部 residual30B 的 8-vs-7 margin 被 TP-dependent saturation residual 穿过。但这是跨 stack comparison不能把差异因果归结为 model size
- **Claim update** “prefill-only 容易decode/mixed 困难”的强假设被否证。新的可证伪命题是config-ranking fidelity 取决于 scheduler-state-conditioned action residual 是否大于 real decision margin
- **下一步:** 不继续扩展跨模型 phase cases。在 Qwen30 prefill-only 上依次做 measured-collective injection、batch-composition-conditioned pure-prefill attention/step profile、TP1@8/TP2@16/TP4@32 的 scheduler batch/queue/per-step trace 对齐,最后再测 routing/graph。