Files
aituner/runs/frontier-multicase-sufficiency-v1/protocol.md

13 KiB
Raw Blame History

Qwen235B simulator fidelity 预注册协议 v1

状态:IN PROGRESS。更新日期2026-07-16。T0 的 simulator 与 real 8-config surface 已完成T1 和 T2 尚未运行。pilot 单独记录在 t0-smoke-report.md,最终 T0 rank evaluation 记录在 comparison.json 和根目录 simulator-fidelity.md

Research question 与成功标准

对同一 workload、SLO 和候选 config surfaceFrontier 是否能找到真机上低 regret 的 config而不要求绝对 latency 或 capacity 完全一致?

主目标统一为:

capacity(c) = max { 被真实测试的 offered req/s | 至少 95% requests 满足全部 SLO }
score(c) = capacity(c) / config 实际占用的 GPU 数

每个 case 都报告 real/sim capacity、top set、worst tie-break regret、Kendall tau-b、informative-pair direction、anchor-level SLO confusion以及为达到该 fidelity 使用的 profile、patch 和真机 calibration 成本。只有同时满足下列条件,才能说 Frontier 对该 compatibility envelope 是足够的 config ranker

  • worst selected-config regret 不超过 5%
  • tie-aware rank correlation 不低于 0.8,且有足够的 non-tied pairs
  • ground-truth capacity bracket 不足以反转最优决策;
  • 不使用被评测 workload/config 的端到端测量做 per-action calibration。

冻结的平台与软件边界

项目 设置
machine dash08×NVIDIA H20不得调度到 dash1
remote repo /home/admin/cpfs/wjh/aituner/aituner;实验使用独立 clean worktree/clone不修改当前 dirty checkout
model /home/admin/cpfs/wjh/models/Qwen/Qwen3-235B-A22B-FP8
serving community vLLM 0.10.2 isolated environmenteagerBF16 KV包版本与二进制 hash 入 manifest
simulator Frontier upstream commit d9cfeb6d8791fbf2f295dd9744c56a666171776e + 明示、hash 后的 FP8/MoE/trace patches
trace thinking_w20260327_1000.jsonlSHA256 f878e9af18f94dcfaced94a8e1e6b20a2f7d97d64aa862448025660dbbd965b2
source window 600 s15,479 requestsnatural offered rate 25.798 req/s

每个 real trial 使用 fresh server。第一轮 config 顺序由固定 seed 随机化,第二轮反序;同一 config 的 offered-load anchors 从低到高和从高到低各跑一次。任何 OOM、engine crash、timeout 和右删失 cell 都作为结果保留,不能静默丢弃。

Trace fidelity contract

source row 同时包含 exact prompt、arrival timestamp、input_lengthoutput_length、session/turn/parent、sampling_u,以及 block-size=64 的 hash_ids。主 trace case 不设置 output override也不按 input/output length 选择“好跑”的 cohort。

community model 的最大 context 是 40,960 tokens。预先冻结的 eligible universe 如下:

universe requests input mean/p50/p95 output mean/p50/p95 total mean/p50/p95
source 15,479 3,660.0 / 1,491 / 19,610.6 3,924.6 / 3,435 / 8,945.1 7,584.6 / 5,317 / 25,102.1
eligible 15,401 3,575.0 / 1,490 / 18,887 3,823.3 / 3,417 / 8,768 7,398.2 / 5,305 / 23,697

唯一排除项是 72 个 input_length + output_length > 40960 rows以及 6 个 output_length = 0 rows二者无重叠。eligible 比例为 99.50%。

capacity search 使用 sampling_u <= u 调整 offered rate。sampling_u 在同一 session 内共享,因此这是与长度无关的 session-coherent thinning而不是 workload filtering。对每个 anchorreal 与 sim 必须具有相同的 source row IDs、arrival/order hash、input/output vector hash、session vector hash 和 prefix vector hash。每个被选 request 仍使用原始 arrival、prompt、input、output 和 hash。

第一个 correctness gate 已完成:在 dash0 上使用 community model 的 Qwen2TokenizerFast 全量处理 15,401 个 prompts、55,057,919 tokens实际 token length 与 trace input_length 的 mismatch 为 0在 852,407 个完整和 15,131 个末尾 partial source blocks 上,hash_id ↔ (parent_hash_id, 64-token chunk) 均无冲突。结果和 digest 记录在 trace-contract-audit.json。这说明 exact prompt/source hash 可以表达原 trace 的 prefix-equivalence relation。

在启动 GPU 前还需完成第二个 correctness gate

  1. real 与 Frontier 的 KV block size 都冻结为 16。source hash_ids 的 block size 是 64因此应从 exact prompt token IDs 生成 block-16 content/parent identities并验证每四个完整 block-16 对应的 64-token source equality/reuse relation 没有改变。两侧逐 request 比较 computed/hit/allocated block counts。

T0fixed-shape sanity case

T0 是最简单的机制隔离基线,不声称代表 production trace。

项目 设置
requests deterministic 生成ISL=2,048、OSL=128
arrivals uniform QPS相同 request IDs/order每个 anchor 至少 64 个 completed requests
prefix off不同 token content保证没有共享完整 KV blocks
SLO TTFT <= 1000 ms + 1000×input_tokens/8000(本 case 为 1,256 msTPOT <= 40 msjoint pass rate ≥0.95
configs TP∈{4,8} × MNS∈{64,128} × MBT∈{8192,16384};沿用已闭合的 TP4/TP8 MoE mapping

先在 simulator 中用宽 anchor lattice 找到每个 config 的边界,再冻结 simulator output 和 hash真机只运行相同 anchors。T0 回答的是:在没有 length variance、prefix reuse 和 burstiness 时profile composition 与 scheduler 是否已经能保持 config rank。它不能用于回答真实 trace fidelity。

首次真机 smoke 之后、完整 surface 之前预先记录如下 amendmentTP4 的 zero-queue TPOT 已经是 136.2 ms因此 40 ms 主 SLO 对至少 TP4 没有非零 capacity。40 ms 仍保留为 preregistered primary不因结果不可行而删除同时固定报告 TPOT 120/150/180 ms sensitivity。150 ms 是 post-pilot 的 decision-bearing sensitivity因为它略高于已观测 TP4 idle floor又仍可能在 batch/queue 增大时产生 capacity knee它不能冒充 blind primary result。

完整 simulator lattice 固定为 system offered rate {0.10,0.20,0.40,0.80,1.20,1.60,2.40,3.20} req/s每个点 64 requests。所有 8×8 simulator cells 必须在任何 real surface cell 之前冻结。真机对每个 config 先测 simulator 在 150 ms sensitivity 下的相邻 transition anchors并始终加入最低 0.10 req/s anchor若没有 transition则测边界方向的两个 anchors。若这些 real labels 没有 bracket按冻结 lattice 向外扩展,且 simulator 结果不得重算。每个被测 anchor 做两个 fresh-server roundsrate 顺序正向/反向,所有 strict/sensitivity SLO 均在同一 raw requests 上离线打分。真机 anchor 只有在两个 round 都达到 95% joint pass rate 时才保守地记为 feasible两个 round 标签不一致时同时报告原始 pass rates并把该点记为重复性不确定而不是择优取样。

第一次多-rate 真机 run 后、接受任何 real surface cell 之前增加一项 execution amendment。原 runner 每个 round 只启动一次 server正向 0.10→1.60→2.40 时 1.60 的前 24 个 requests 出现 114--234 ms 的递减 TPOT transient反向先运行 2.40 后,同一 1.60 anchor 从第一个 request 起稳定在 113--128 ms。两个独立 TP4 config 同时复现,说明前一 rate 的 GPU/kernel/batch warm state 泄漏到后一 rate而 Frontier 的各 rate 是独立 simulator run。该诊断 run 整体排除,不作为 ground truth。修正后的每个 (config, rate, round) 使用独立 fresh server并在测量前按同一 target rate 丢弃 min(32, max(4, ceil(rate×20))) 个 exact-shape warmup requests随后从空 scheduler queue 开始记录 64 requests。正/逆序只用于复测和控制机器时间漂移,不再共享 execution state。这个 amendment 是观察 diagnostic transient 后作出的,必须在结果中明示,不能写成原始 blind protocol。

steady-QPS profile closure 不能只含 pure decode。完整 profile 预先覆盖 TP {4,8}、decode batch {1,2,4,8,16,32,64,96,128}、KV 2,048--2,175并加入 prefill-chunk=2,048 的 true mixed prefill+decode rows。最终 attention root 含 726 个既有 prefill rows、162 个 standard decode rows 和 216 个 true-mixed rows没有使用 T0 端到端 latency 做 calibration。

T1trace-faithful mixed case

T1 直接使用上述 15,401-row eligible universe不设置 completion override不改变入选 request 的 input/output不做 length-stratified samplingprefix caching 在 real 与 sim 两侧同时打开。

项目 设置
selection source sampling_u <= u;同 session 一起入选real/sim 共用 frozen anchor files
arrival 原 timestamp、600 s window、原 burst/orderreplay_time_scale=1.0
output min_tokens=max_tokens=output_length;记录实际 usage必须与 trace 相等
prefix exact prompt token blocks两侧相同 block size、capacity、cache policy 与 sticky session routing
SLO 与 T0 相同的 TTFT 规则和 TPOT 40 ms另报告 TPOT 20/50 ms sensitivity不用 sensitivity 改选主结论
configs 与 T0 相同的 8 cells先隔离 workload state再扩展 DP/EP topology

由于 natural QPS 远高于该模型 capacity直接全量同时到达只会让所有 config 都 infeasible不能产生排序信息。这里 sampling_u 是 trace 原生的负载抽样维度;它只改变入选 session 数量,不改变入选请求的 joint distribution 和字段。每个边界至少用两个预先冻结的 session-hash folds 或两个独立 trace windows 重复,避免一个低-u 小样本偶然决定 ranking若暂时只有一个 window结论标为 single-window evidence。

T2Qwen235B strict decode-only case

T2 不用“短 prefill + 长 output”冒充 decode-only。它要求一个可检查的 initial-KV contractrequest 到达 scheduler 时,与 input token IDs 对应的 KV blocks 已经 residentrequest 状态为 prefill complete首次被调度的 token 是第一个 decode token。

两侧 contract 必须共同记录initial KV token/block count、block identities、replica placement、填充/传输开始结束时间、首次 scheduler admission time。若真机 connector 在 GPU 上同步填充 dummy KV这项带宽和同步成本会干扰并发 decodeFrontier 必须显式建模这段 admission cost或真机把它移到计时区间之前。不能只忽略 TTFT就假设 connector 没有影响 TPOT。

T2 分两步,避免把 execution mechanisms 混成一个不可解释的 gap

层次 Workload / mechanisms Config surface 目的
T2a controlled decode fixed ISL=2,048、OSL=512BF16 KVeagerprefix/speculation/CUDA graph off TP∈{4,8} × MNS∈{64,128} × MBT∈{256,384}DP=1 验证 initial-KV、decode attention/batching 与 TP rank
T2b topology stress trace exact input/outputEP8仍先关闭 EAGLE3 与 decode graph (TP4,DP2,EP8)(TP2,DP4,EP8) × MNS {64,128} × MBT {256,384} 激活 replica count、expert communication、KV residency 的耦合

只有 T2a/T2b 对齐后,才按单变量顺序加入 FP8 KV、EAGLE3、DeepEP/NVSHMEM 和 FULL_DECODE_ONLY CUDA graph每加入一项都重新冻结 simulator ranking 并测真机。现有 internal-vLLM decode surface 同时打开了这些机制,而且 8 个 config 的 capacity brackets 全部可能包含最优值,只作为 historical real-only evidence不作为本协议 ground truth。

Run order 与停止条件

  1. 完成 tokenizer、row vector、prefix-block correctness audit不使用 GPU。tokenizer/source-hash 离线部分已完成block-16 runtime-counter parity 待完成。
  2. 在 dash0 做一次 community vLLM TP4 model-load + T0 one-request smoke。已完成server 与 exact 2,048/128-token requests 成功,但最低负载 TPOT 为 136.2 ms40 ms primary SLO 不可行;对应 Frontier run 暴露 decode attention profile 未闭合。
  3. 完成 T0 的 simulator 8-cell surface并冻结 SHA256随后运行 T0 real anchors。已完成64/64 simulator cells 冻结8/8 real config boundaries 在 150 ms decision-bearing SLO 下闭合。
  4. 实现并单测 trace block translation完成 T1 simulator freeze再运行 T1 real anchors。
  5. 实现 community-vLLM 0.10.2 与 Frontier 的 initial-KV contract一请求和并发请求状态机 smoke 通过后,运行 T2a。
  6. 只有 profile closure 包含 EP8 all-to-all 且 T2a 可解释时,运行 T2b。

每层遇到 mismatch先按 request/stage 分解 queue wait、prefill、decode step、collective、MoE 和 KV admission residual。只有证据定位到某一 composition invariant 失效,才修改 simulator不通过端到端 scalar 把 ranking 调到正确。

首次 GPU launch gate

首次 GPU smoke、full attention closure 与完整 T0 sweep 均已于 2026-07-16 在 dash0 完成GPU 已释放。接受的 T0 ground truth 为 68 个 fresh-server anchors消耗 36.26 H20-GPU-hours污染和 cross-anchor-state diagnostic attempts 已隔离。任何 T1/T2 GPU launch 都必须重新 echo resolved workload、artifact paths、GPU 预算与预计时长。