Decompose good/bad selection split across frozen surfaces
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# 实验 S0:good/bad case 分裂的统一分解(margin vs differential residual)
|
||||
|
||||
> **状态:** 已完成(2026-07-20;含 S0b 方向化修正与一轮 strict review 修复)
|
||||
>
|
||||
> 用户指令:核心要务是分析为什么部分 case 下 Frontier work、部分不 work 的 system 根因;本 card 是该诊断 campaign 的第一个 slice,仅使用 frozen artifacts,零 GPU 成本。人工 review 由用户的直接指令("只有做好这个分析我们才能推进下一步")满足。
|
||||
|
||||
## Claim 与决策
|
||||
|
||||
- **Parent claim:** ongoing.md H2——误差机制是 action-conditioned residual;本实验把它细化为"分裂从哪来"。
|
||||
- **现象(已冻结):** 同一 best-effort Frontier 栈上,Q30/Q235 的 Trace-PD 与多数 PO 面 selection 近优,而 Fixed-PD 面 14–58% regret;失败 objective 随负载档切换(Q30 低压 TPOT/E2E 全反、高压 TTFT 56–58%);A1 collective profile 修复了 Q235 Trace-PO p90 21.2%→0.3% 但对 Fixed-PD 33% 完全无效(本 card frozen-inputs/q235-ablation-a1)。
|
||||
- **Competing hypotheses:**
|
||||
- **H-SCALE:** 分裂完全由「config-differential residual vs 真机 decision margin」的关系解释:good case 的 sim/real 比值跨 config 近似均匀(乘性偏移,argmin 不变),bad case 的比值跨 config 分散且超过 margin。workload shape 本身不需要出现在解释里。
|
||||
- **H-THRESH:** 绝对 service-time 高估近似均匀,但与离散机制(MNS admission cap、MoE token-bucket、graph bucket)交互后被转换为 config-differential 误差;fixed uniform workload 把所有请求同步到同一 state 轨迹,使阈值交叉对整个 cell 相干生效;trace 的长度/到达异质性把阈值效应摊平。
|
||||
- **H-STATE:** 失败由 simulator 闭环 batch state 分布漂移主导(Q235:sim decode batch 13.5 vs real 3.9 + B4→B5 profile cliff 正反馈);即使打破 workload 同步性,闭环漂移仍可翻转排序。
|
||||
- 三者关系:H-SCALE 是现象层(必要条件),H-THRESH/H-STATE 是 differential residual 的两种产生机制,可共存但可判别(见事前预测)。
|
||||
- **事前预测:**
|
||||
- H-SCALE 成立 ⟺ 对每个 case×objective,failure 恰好发生在「top 邻域 log-ratio spread > log1p(真机相对 margin)」处(两侧同为 log-space 尺度),无反例。
|
||||
- H-THRESH 独有:bad case 的 differential 误差集中于阈值语义分量(first-scheduling wait、bucket 跳变段),且 sim-only 反事实(去阈值/加 jitter)恢复排序——Q30 高压 TTFT 的 admission 反事实已支持一例。
|
||||
- H-STATE 独有:差异化误差在去掉阈值分量后仍在 execution 项内(Q235 Fixed-PD 的 own-composition −20.07 vs exact-state +10.90 已支持一例)。
|
||||
- **判定规则:** S0 只裁决 H-SCALE 与「分量定位」(queue vs execution);H-THRESH/H-STATE 的干预判别属 S1+(sim-only 反事实)与 GPU 实验(需另行 review)。若 H-SCALE 出现反例(good case 有 spread>margin 仍选对,或 bad case spread<margin),必须原样报告,不得平滑。
|
||||
|
||||
## Setup
|
||||
|
||||
- **输入(全部 frozen,runs/frontier-split-rootcause-v0/frozen-inputs/):** q30-trace-pd(graph-piecewise comparison)、q30-fixed-hi(fixed-pd/fixed-po 高压面)、q30-expansion-lo(低压 fixed-pd/fixed-po/trace-po)、q235-fourcase-a0、q235-ablation-a1(+provenance)、q235-state-diag、q30-admission-diag。来源 cpfs 路径与 SHA 见各目录内 manifest/launch 记录。
|
||||
- **计算(每 case×objective):** per-config 比值 r_c=sim_c/real_c;config-uniform scale=geomean(r_c);differential residual=log-ratio spread(全 surface 与真机 top-3 邻域各一);真机 relative margin(best 与 2nd-best、best 与 sim-winner 的真机值差);failure flag=regret>5%;H-SCALE 检验=failure ⟺ 邻域 spread>log1p(margin)(review 修正:初版直接以 ln 差比较普通 relative margin,尺度不一致;修正后 70 行 verdict 不变)。
|
||||
- **分量定位:** q30-admission-diag 提供 TTFT=first-scheduling wait+prefill execution 分解;q235-state-diag 提供 own-composition vs exact-state contrast;把这些已知分量证据合并进统一表。
|
||||
- **交叉核对:** 重算的 regret 必须与各 frozen comparison.md 表一致(抽查 58.0%、33.0%、0.0%);A0 vs A1 的 Q235 对比必须复现 trace-po p90 21.2%→0.3%、fixed-pd 四项不变。
|
||||
|
||||
## 预期产物与 review
|
||||
|
||||
- runs/frontier-split-rootcause-v0/analyze_split_decomposition.py(只读 frozen-inputs,确定性输出)
|
||||
- runs/frontier-split-rootcause-v0/results/decomposition.{json,md}:统一表,每行 case×objective,列出 winner、regret、scale、spread(全/邻域)、margin、H-SCALE verdict、已知分量归因
|
||||
- runs/frontier-split-rootcause-v0/results/margin-vs-residual.png:x=真机 margin,y=邻域 differential residual,点色=selection 对错;H-SCALE 成立则对错点被对角线分离
|
||||
- 人工验收:编排者亲自重跑脚本、抽查交叉核对数字、亲自查看渲染图
|
||||
|
||||
## 复现信息
|
||||
|
||||
- **Code:** AITuner branch feature/sim,自 HEAD 18c0b25 起;worker/reviewer job-id 见下方「Review 与 provenance 补记」;脚本与产物随本 card 同一 commit 入库(含 frozen-inputs 本地拷贝)。
|
||||
- **Environment:** 本地 workstation,CPU-only,python3+matplotlib;不访问远端。
|
||||
- **已知 deviation:** frozen-inputs 是 cpfs 原件的本地拷贝(scp,2026-07-20);q30-expansion-lo 的低压 Fixed-PD 面已被高压面取代为 primary,本分析将两档并列为独立观测,不混合。
|
||||
|
||||
## 结果
|
||||
|
||||
- **观察事实:**
|
||||
- 70 行(14 个 case surface)全部算出,无数据缺口;四组硬性交叉核对通过;连续运行产物 SHA 一致。
|
||||
- **H-SCALE 判为必要非充分**:23 个 material failure(regret>5%)全部满足「top-3 邻域 log spread > log1p(margin)」,无一例失败发生在 residual 小于 margin 处;但另有 40/70 行同样满足该条件却均非 material failure(其中仅 16 行 exact winner match,其余 24 行是小 regret 的 winner 错位——14 个 MNS 精确 tie 与 10 个 strict reversal)——无方向 spread 不携带决策信息。
|
||||
- **S0b 方向化后的机制普查**:23 个 material failure 的 winner-deciding pair 分布为 tp-axis 11、mixed 10、mns-axis 2(Q235 A0/A1 Fixed-PD 的 8 个 TPOT/E2E failure 全为 tp-axis;Q30 Fixed-PD 高低压为 tp/mixed);仅有的 2 个 mns-axis failure 是 Q235 A0/A1 Trace-PD E2E p90(regret 6.2%,勉强越过 5% 门槛)。trace 面严格反序中 tp-axis 为 0(q30 trace-pd 三轴全 0)。
|
||||
- **A1 对照的轴分解**:serving-matched collective profile 把 Q235 两个 PO 面的 tp-axis 反序从 4/4 清零(trace-po p90 regret 21.2%→0.3%),但 Fixed-PD 仅 5→4、四项 regret 一位小数不动——prefill 路径的 TP-differential 误差源=collective profile(可修),decode 耦合的 TP-differential 误差另有来源。
|
||||
- **MNS 不敏感缺陷**:14 个 winner-label mismatch 是 simulator 逐位相等的 tie,全部 mns-axis(如 q30 fixed-po 的 MNS16↔32、q235 fixed-pd 的 MNS64↔128);tie 计入后 MNS 边界误差 31 与 TP 严格反序 32 相当,但 MNS 侧 regret 小。
|
||||
- **成功的鲁棒性**:23 个 exact-winner success 中 17 个 margin-robust(margin≥1%),6 个 fragile(含 q30 trace-pd E2E p90 的 0.1% margin 与 q235 A1 fixed-po 四项)。
|
||||
- **面级 scale 对照**:prefill-only 面 geomean scale 0.96–1.37×(绝对预测基本准确),含 decode 的面 4.3–130×——绝对误差灾难集中于 decode。
|
||||
- **异常:** 无数据异常。strict review(FAIL:3 Major/1 Minor)指出 H-SCALE 尺度混用(log spread vs relative margin)、tie 轴普查缺失、card 状态过期、Q235 一致性表述过强;全部修复,修复后 70 行 verdict 逐行不变。
|
||||
- **含义:** 分裂的现象层解释是「margin 保护 + config-differential 误差」。机制层上,21/23 个 material failure 由 TP/mixed pair 决定,且所有大 regret(≥13%)failure 都发生在含 decode 的面上:其中 Q235 Fixed-PD 有 state-drift 直接证据、Q30 高压 TTFT 有 admission 反事实证据,而 **Q30 低压 TPOT/E2E 反转的机制尚未诊断**(S1 目标)。「decode 耦合的 TP-differential 误差是主要载体」是当前最强归纳,不是对全部 failure 的已证机制归因;2 个 mns-axis 边缘 failure(6.2%)在该归纳之外。trace 面成功伴随「TP 反序为零 + TP margin 宽」,但「误差小」与「margin 宽」谁是主因仍未判——这正是 H-THRESH vs H-STATE 的判别缺口。轴标签与机制不一一对应(Q30 admission 是 MNS 阈值机制但 deciding pair 为 tp/mixed,因 TP 改变到达压力)。
|
||||
- **Claim update:** H2(action-conditioned residual)supported 且被细化:residual 的决策相关分量集中在 TP 轴、由 decode 状态耦合产生;H-SCALE 降级为必要条件;H-THRESH/H-STATE 保持 competing,待 S1 判别。
|
||||
- **下一步:** S1(sim-only 反事实:Q30 低压 Fixed-PD TPOT 反转的分量定位——这是唯一无机制解释的 material failure;fixed workload jitter 判别 H-THRESH vs H-STATE);GPU 判别实验(加压 Trace-PD、jittered Fixed-PD 真机面,dash1–4)另行出 card 供 review。
|
||||
|
||||
## Review 与 provenance 补记
|
||||
|
||||
- S0 worker:codex `task-mrsn1s9c-z6ha0w`;S0b:`task-mrsnjzn6-k18x4n`(resume);strict reviewer(fresh 只读):`task-mrsocmlb-386btc`(verdict FAIL);修复轮:`task-mrsop06n-pwxo0b`(fresh writable)。编排者独立验收:脚本重跑、SHA 比对、两图目视检查。
|
||||
- 产物 SHA(修复后):decomposition.json `81ea56b2…`、decomposition.md `4d19af54…`、margin-vs-residual.png `df2110c4…`、decision-pair-axis.png `2e787301…`。
|
||||
@@ -3,14 +3,16 @@
|
||||
> 2026-07-17|写给未参与项目的读者,可直接作为 presentation 讲稿。历史过程与复现信息见 `../runs/*/` 各 experiment card、`../docs/` 各 campaign 文档。
|
||||
>
|
||||
> **2026-07-19 update:** Qwen235 Fixed-PD 的错误排序在 exact real state composition 下已经翻正,主因是 simulator closed-loop batch state,而不是 collective。Qwen30 Fixed-PD 的 56--58% TTFT regret 也已定位:Frontier 将 decode service time 高估 4--8×,使 TP4 的 modeled concurrency 越过 MNS admission cap并产生虚假排队;去掉该等待后 Frontier 与真机都判定 TP4 topology 更快。详见 [`experiments/qwen30-fixed-pd-ttft-admission-diagnosis-20260719.md`](experiments/qwen30-fixed-pd-ttft-admission-diagnosis-20260719.md)。
|
||||
>
|
||||
> **2026-07-20 update:** 对全部 14 个 frozen case surface(70 个 case×objective)做了统一的 margin-vs-residual 分解与方向化机制普查([`experiments/frontier-split-rootcause-s0-20260720.md`](experiments/frontier-split-rootcause-s0-20260720.md))。三个要点:(1) 「residual 超过 margin」是失败的必要条件但远非充分——good/bad 分裂不能用无方向误差量解释;(2) 23 个 material failure 的 winner-deciding pair 中 21 个落在 TP 轴或 mixed(其余 2 个是 6.2% regret 的边缘 mns-axis case),trace 面的 TP 反序为零;A1 measured collective 把 Qwen235 两个 prefill-only 面的 TP 反序清零(trace-PO p90 regret 21.2%→0.3%)却对 Fixed-PD 完全无效——prefill 路径的 TP 差异化误差源是 collective profile(可修),decode 耦合的 TP 差异化误差是当前所有 material failure 的载体;(3) 「Fixed-PD 失败因为高压」被否证:失败 Fixed-PD 的真机 in-flight(14.05)低于全对的 Trace-PD(38.69),且低压 Fixed-PD 同样失败、失败 objective 随负载切换。另有次要缺陷:14 个 winner 错位来自 simulator 对 MNS 逐位不敏感的精确 tie。
|
||||
|
||||
## 一眼看懂
|
||||
|
||||
- **Topic / problem:** LLM serving 的自动、低成本配置调优(AITuner)。当前主线问题:用 simulator 给部署配置(并行度、批量上限等)排序,什么时候可信?需要补多少真机证据?算上这些成本还划算吗?
|
||||
- **Central claim:** simulator 要能帮助配置调优,必须先满足 scheduler transition 的 liveness/coverage,再满足「配置相关残差小于真机 decision margin」;前者决定 capacity 是否有定义,后者决定排序是否正确。(ID: C0)
|
||||
- **当前结论:** 早先 35 个 trace stall 不是 Frontier scheduler liveness failure:adapter 为不满 16-token 的 prefix block 错误生成了 cache identity,Frontier 又没有 fail-fast。修正为完整 block、使用真实 graph buckets/KV blocks 和 `piecewise`/`KERNEL_ONLY` profile 后,Qwen30 Trace-PD 的全部 12 个 cell 完成 129/129 request,Frontier 对 TTFT/TPOT/E2E 的 6 个 argmin 均与三次 fresh-server 真机一致;但绝对 latency 仍高估 4--511×。这只证明一个 MoE Trace-PD surface 的 selection fidelity,不能外推到 prefill-only、fixed workload 或 235B。
|
||||
- **最大 uncertainty / risk:** 这个正确选择是否依赖 Trace-PD 的 queue/margin 偶然性;Fixed-PD、Trace-P、Fixed-P 与大型 FP8 MoE 是否仍保留正确 config ranking。Q235 还缺少同栈 profile/runtime contract,不能复用旧 vLLM 0.10.2 数据。
|
||||
- **下一项 critical action:** 完成 Qwen30 其余三项 fixed/trace × PD/P surface。Fixed case 已先启动无请求 vLLM runtime-state preflight;Trace-P 的 graph-aligned Frontier 12-cell CPU surface 正在运行。Q235 先做 vLLM 0.20 TP4/TP8 compatibility gate,随后才允许新 profile。
|
||||
- **最大 uncertainty / risk:** trace 面成功的原因未判——是 decode 耦合的 TP 差异化误差在 trace 状态分布下真的变小,还是只是被宽 TP margin 掩盖。这决定「sim 剪枝可信域」的边界怎么画,也决定加压 trace 是否会失败。
|
||||
- **下一项 critical action:** 判别两个失败机制假设(离散阈值转换 vs 闭环 state 漂移):先做零 GPU 的 sim-only jitter 反事实与 Q30 低压 Fixed-PD TPOT 反转分量定位,再按结果决定 dash1–4 上的加压 Trace-PD / jittered Fixed-PD 真机判别面。
|
||||
- **停止条件:** T1 出 verdict 且成本账本建立后:pass 且摊销论证成立 → 转向「sim 剪枝 + 真机终选」的 hybrid 机制设计;fail → 转入失败机制归因;两条路都无 insight 增量 → 收敛写作。
|
||||
|
||||
## 核心概念
|
||||
@@ -34,9 +36,10 @@
|
||||
- **Supporting:** 235B prefill-only regret=0;235B fixed-shape mixed 的 top set 全中;30B 加 per-TP 校准后 regret 0.76%(但这是外部端到端 scale 给出的上界,不是原生 profile 保真度)。
|
||||
- **Counterevidence:** 修正 prefix trace contract 后的 TP2/MNS16 `none`-graph run 完成但 p50 TPOT 约 96 ms,真机为约 14 ms;然而该比较尚未对齐 real vLLM 的 `FULL_AND_PIECEWISE` graph path。
|
||||
- **下一项 discriminative experiment:** 补齐 `KERNEL_ONLY` graph family并以 `piecewise` 重跑相同 trace;若 full surface 仍错,graph omission 不再是可用解释。
|
||||
- **Hypothesis(机制,active):** 误差机制是 action-conditioned residual——执行状态的转移(并行拓扑、kernel family、graph mode、batch 组成)使按算子 profile 的组合预测跨配置不可复合;残差大于 margin 时排序失败。(ID: H2;supported)
|
||||
- **Hypothesis(机制,active):** 误差机制是 action-conditioned residual——执行状态的转移(并行拓扑、kernel family、graph mode、batch 组成)使按算子 profile 的组合预测跨配置不可复合;残差大于 margin 时排序失败。(ID: H2;supported,已细化)
|
||||
- **Supporting:** 三个 TP 档的端到端校准系数为 0.72/0.47/0.35,残差确实随配置剧烈变化;235B 的批量上限交互预测错误但被 2× margin 容忍;30B prefill-only 在低负载近似对齐、饱和后按 TP 反向放大,最终 τ-b=−1。
|
||||
- **下一步:** 按 collective 通信 → batch 组成 → 调度器逐步轨迹的单变量顺序定位组合性失效点(对应 experiment card 中 A1/A2/A3 消融阶梯)。
|
||||
- **细化(2026-07-20 统一普查):** 决策相关的残差分量集中在 TP 轴且由 decode 状态耦合产生——prefill-only 面的绝对 scale 仅 0.96–1.37× 且 measured collective 即可清除其 TP 反序,而含 decode 的面 scale 4.3–130×、全部 material failure 都由 TP/mixed pair 决定。「residual>margin」只是必要条件;失败还需要残差对准 winner-deciding pair。
|
||||
- **下一步:** 判别两个 competing 机制假设——离散阈值转换(admission cap/profile cliff 把均匀高估转成差异化误差;打破 fixed workload 的同步性应恢复排序)vs 闭环 state 漂移(打破同步性也救不了)。最便宜路径:sim-only jitter 反事实 + Q30 低压 Fixed-PD TPOT 反转的分量定位(唯一无机制解释的 material failure)。
|
||||
- **Subclaim:** 成本论证只有在摊销前提下成立。(ID: C3)
|
||||
- **Hypothesis(active):** 每个 model×硬件×runtime 的一次性对齐成本,摊销到大配置面、频繁重调(引擎版本 churn 的频率证据见 claim map)或禁止在线实验的场景后,低于重复真机调优。(ID: H3;untested——分母已实测,分子未入账)
|
||||
- **下一步:** 建 cost ledger(见「下一步」)。
|
||||
@@ -52,7 +55,7 @@
|
||||
## Key evidence(最多 3 条)
|
||||
|
||||
- **E1(否证「prefill-only 是充分 easy condition」,支持 H2):** 30B BF16、去掉 decode/prefix/混合 batch 后,真机最优是 TP4(8 vs 7 req/s/GPU),simulator 却把 TP4 排最差(6 vs 8):top set 无交集,regret 12.5%,τ-b=−1。产物:`../runs/frontier-phase-factorial-v0/results/final/`(dash0,12.07 H20-GPUh)。
|
||||
- **E2(margin 可掩盖残差,支持 C0/H2):** 235B FP8 的 prefill-only 与 fixed-shape mixed 都选对 top set,但 simulator 漏掉并发上限(max-num-seqs)×批 token 上限(max-num-batched-tokens)的交互棋盘格,并把 10/34 个真机 anchor 误判为不可行;真机头部 margin 有 2×,残差被容忍。产物:`../runs/frontier-multicase-sufficiency-v0/best_effort/fixed_cohort_evidence/`、`../runs/frontier-multicase-sufficiency-v1/results/t0-final/`。
|
||||
- **E2(统一机制普查:material failure 全部由 decode 耦合的 TP 差异化误差决定,支持 H2 细化):** 对 14 个 frozen surface、70 个 case×objective 的方向化分解显示:23 个 material failure 中 21 个由 TP/mixed pair 决定(仅 2 个 6.2% 边缘 mns-axis case)、trace 面 TP 反序为零;measured collective(A1)把 Qwen235 两个 prefill-only 面的 TP 反序清零(trace-PO p90 regret 21.2%→0.3%)但对 Fixed-PD 的 33% 无效;「residual>margin」仅为失败的必要条件。产物:[`../runs/frontier-split-rootcause-v0/results/`](../runs/frontier-split-rootcause-v0/results/decomposition.md)(实验 card:[`experiments/frontier-split-rootcause-s0-20260720.md`](experiments/frontier-split-rootcause-s0-20260720.md))。
|
||||
- **E3(selection 与 calibration 分开):** 用完整 block projection、`piecewise` 和 graph-compatible KERNEL_ONLY profile 后,Qwen30 Trace-PD 的 12/12 sim cells 完成,6 个 mean/p90 latency objective 的 argmin 都与真机一致;但 sim/real latency ratio 仍为 4--511×。产物:[`../runs/frontier-fidelity-envelope-v1/graph-piecewise-experiment-card.md`](../runs/frontier-fidelity-envelope-v1/graph-piecewise-experiment-card.md)。
|
||||
|
||||
## 下一步(最多 3 项)
|
||||
|
||||
Reference in New Issue
Block a user