- deploy_glm53_pp4_mrr64.sh: byte-diff vs original = MRR 48->64 only; decode graph stack-default bs<=256 (no graph change needed, arm never fell off graph) - pass-1 + v2 (fresh instance, retraction-prone 16K c64 ordered last): all 6 points aligned <=1.8% -> post-retraction contamination hypothesis disproved; anchor regression is reproducible MRR64 behavior - MRR48 fresh-instance control (4.1 c32 = 266.42): decomposes -17% anchor into -3.3% instance freshness + -14.4% MRR64 config cost (per-req TPOT p50 87->102ms, three instances, mechanism unidentified) - 16K c64: pool-capped ~59 active, 3 retractions both runs (deterministic); out -5% vs MRR48 queue-mode but TTFT P95 135->89s - report/README/provenance/CURRENT.md overwritten in place per user instruction; feishu wiki revision 13
35 KiB
GLM-5.3-NVFP4 | RTX 6000D | SGLang 双方案 B300 对标场景压测报告
- 测试日期:2026-09-10(单日单机完成两臂;两臂均完成当日调参复测——E7b:MRR 64 + decode 图桶 ≤64,TP2PP4:MRR 48→64——正文一律采用复测值)
- 测试机:174.1.60.8(6000D,8 卡)
- 对标基线:飞书《GLM 5.3 | SGLang | Low-latency & High-Throughput 测试结果》(B300 报告,wiki UPB2w4Y5yi65qwkMxJJcZko5nUc)
- 测后状态:60.8 在役服务(TP4PP2@0.90 口径,KV 池 647,040)已原容器恢复并终验(当日三轮拆台均按 rename→start 流程保全恢复;末轮恢复后 fired up + health 200 + 16K 单发抽测 ok,池 647,040 与显存水位 77.2/82.3 GiB 逐字一致)
1. 结论摘要
本轮在单台 8 卡 RTX 6000D 上,用 GLM-5.3-NVFP4 完整复刻 B300 报告的场景矩阵,测试了两套在役部署方案。两套方案代表完整部署形态,不是单参数 A/B:TP2PP4 为 D 生产口径(吞吐/长上下文形态),TP8+EAGLE3+AR 为 E7b 配方(低延迟形态,含 custom allreduce 1stage 补丁)。
- 低并发优先 E7b(TP8+EAGLE3+AR):主场景
16K→512, C=1输出 49.6 tok/s、TPOT 13.7 ms,对 TP2PP4(16.7 tok/s、50.3 ms)分别是 3.0× 与 3.7×;长输出1K→4K, C=1输出 135 tok/s、TPOT 8.7 ms,对 TP2PP4(20.3、49.8 ms)是 6.7× 与 5.7×。 - prefill 密集场景(16K 输入)高并发优先 TP2PP4:主场景 C=64 达到 6,419 input tok/s / 201 output tok/s,对 E7b(3,188 / 99.6)为 2.0×;短输入 C=32 两方案打平(228 vs 229 tok/s,TP2PP4 的 MRR64 配置代价见下条)、C=64 TP2PP4 拉开(433 vs 272,+59%)。
- E7b 初测的掉图断崖是配置产物,调参后已消除:初测 MRR=16 + decode 图仅覆盖 bs 1–8,并发 >8 即掉图(主场景 C=16 TPOT P95 298 ms)。按决策调参为 MRR=64 + decode 图桶 1–64(其余配方逐字不变)后复测:C=16 TPOT P95 降至 228.8 ms,16K 场景 C=16/32/64 输出 92.1/97.6/99.6 tok/s(较初测 +18~33%),E7b 可用并发窗口从 C≤8 扩到 C=64。
- TP2PP4 初测的 C=64 损失全部来自 MRR=48(48 活跃+16 排队),调至 64 后 C=64 档全面提升:decode 图为栈默认覆盖 bs≤256、本臂从未掉图,MRR 才是唯一瓶颈。MRR64 复测(其余配方逐字不变):4.1 短输入 C=64 输出 341→433(+27%)、4.2 长输出 C=64 输出 482→572(+19%)、主场景 C=64 TTFT P95 135→89 s(−34%);4.1/4.2 的 C=64 TTFT P95 分别从 20.0/337.9 s 塌缩到 7.2/7.3 s。
- MRR64 的代价与边界:1K 短输入 C=32 锚点 276→228(−17%;全新实例 MRR48 对照实验定案:−3% 为实例新鲜度、−14% 为 MRR64 配置本身——逐请求 TPOT p50 87→102 ms 均匀抬高,三实例可复现、机制未定位)、1K→4K C=32 −6%、16K C=32 持平(−0.5%);16K C=64 吞吐 −5%(201 vs 211,池超配 3 次回退)。MRR 按负载形态选,见建议 3。
- TP2PP4 甜点在 C=16 之后,MRR64 后主场景 C=64 到达 16K 池顶:输出吞吐从 C=8 的 101 爬到 C=64 的 201 tok/s(活跃 ~59 条为池所封顶);其 4.2 长输出 C=64 的 572 tok/s 已被 E7b 反超(826.5),但 16K 主场景仍是本机 prefill 吞吐之王。
- decode 密集负载(1K 进、长出)E7b 全并发档最优:
1K→4KC=8/32/64 输出 402/676/826.5 tok/s——C=64 为全场最高输出吞吐(超 TP2PP4 同点 572 达 45%),TTFT P95 12.2 s、TPOT P95 85.1 ms,EAGLE accept 3.8~4.0。 - 长上下文与容量边界只有 TP2PP4 可达:128K C=1 两方案输出打平(11.8 vs 11.9 tok/s)但 TP2PP4 TTFT 减半(18.2 s vs 37.6 s);256K/512K/896K 边界 E7b 结构性不可测(ctx 270,336 封顶 + KV 池 276,480 贴边),TP2PP4 全部完成(256K C=1/2/3、512K/896K C=1)。
- DSA 特性在 6000D 复现:TP2PP4 C=1 的 TPOT 对上下文长度不敏感(16K/64K/128K = 50.3/50.0/49.7 ms 恒定),并发才是 TPOT 驱动因子(16K 行 C=8→C=64:70.9→261.5 ms,末档含池超配回退的批扰动)。
- 与 B300 的绝对差距约 4~5×,边界 prefill 差距收窄到约 2×(256K C=1 input 7,050 vs 17,457;896K 4,153 vs 约1M 行 7,897)。硬件与量化口径不同(B300 报告未写明量化方式),绝对值仅量级可比,两份报告的结构性结论一致(见第 9 章)。
- 全部有效测量点 0 OOM、冷缓存命中核验全部 ≤0.01(E7b 256K C=1 首测触 hicache 宿主层陷阱,用全新文本重测达标,见 5.2 注记;E7b64 复测 10 点、TP2PP4 MRR64 复测两轮 12 点与 MRR48 对照 1 点命中核验全部 0.0);回退(retraction)仅出现在 TP2PP4 主场景 C=64 一点(MRR64 对 16K 池超配,两轮各 3 次,其余全部点 0 回退)。
2. 测试环境与配置
| 项目 | TP2PP4(D 生产口径) | TP8+EAGLE3+AR(E7b 配方) |
|---|---|---|
| 硬件 | 单机 8 × NVIDIA RTX 6000D(96 GB GDDR7,nvidia-smi 可见 85,651 MiB/卡) | 同左 |
| 模型 | GLM-5.3-NVFP4(modelopt 量化,/data/hf_models/GLM-5.3-NVFP4) | 同左 |
| 镜像 | nightly-dev-20260828-daf63171 |
同左 |
| 并行 | TP2 × PP4 | TP8 |
| 投机解码 | 无 | EAGLE3,num_steps=4,topk=1,draft_tokens=5 |
mem-fraction-static |
0.85 | 0.90 |
| 最大活跃请求(MRR) | 64(复测口径;初测 48,见演进注记) | 64 |
| Chunk Prefill | 16,384 | 8,192 |
| KV dtype | fp8_e4m3 | fp8_e4m3 |
| KV 池(服务端实测) | 1,040,384 tokens(12.6~13.4 GB/rank,无宿主层) | 276,480 tokens GPU(15.8 GB/rank)+ 分层缓存 hicache×3 宿主层(write_through) |
| radix cache | 关(disable_radix_cache=True) |
开(分层缓存) |
| 上下文上限 | 1,048,576(config 原生) | 270,336(显存约束下的部署值) |
| CUDA graph | 常规捕获(decode 图栈默认覆盖 bs≤256,MRR64 全程在图内) | decode/verify 图桶 bs 1–64(1,2,3,4,6,8,12,16,24,32,48,64) |
| custom allreduce | — | 1stage 补丁注入(SGLANG_CUSTOM_ALLREDUCE_ALGO=1stage 环境强制;8 rank SSKJ_CAR_PATCH_ACTIVE 日志验证全出现) |
index_topk_freq |
4(override,等于原生默认,恒等) | 原生默认 4 |
| 质量门 | 6/7(仅 tool-call 失败:D 口径未配 parser,历史已知;其余全过) | 7/7 |
E7b 臂配置演进注记:E7b 初测为 MRR=16 + decode 图桶 bs 1–8,高并发点(C>8)出现 decode 掉图 + MRR 排队双击。按决策将 MRR 调至 64、decode 图桶扩至 1–64(部署脚本 deploy_glm53_e7b_hicc.sh,其余配方与在役 E7b 逐字一致),三场景 C=8/16/32/64 共 10 点全部重测,正文一律采用复测值;C=1 各点与 5.1/5.2 长上下文点受 KV 池上限约束(活跃 1~4 条),行为与该调参无关,沿用初测值。C=8 锚点前后偏差 ≤3%(16K 81.4→83.9、1K 152→151、1K→4K 412→402 tok/s),证明两轮环境无漂移。初测原始数据留档于服务器 b300eq_e7b_20260910_1428/ 与库内 results/e7b/。
TP2PP4 臂配置演进注记:TP2PP4 初测为 MRR=48,主场景/4.1/4.2 的 C=64 点实际运行为 48 活跃+16 排队(decode 图为栈默认覆盖 bs≤256,本臂从未掉图,MRR 才是 C=64 的活跃上限)。按决策将 MRR 调至 64(部署脚本 deploy_glm53_pp4_mrr64.sh,与初测脚本逐 token diff 仅 MRR 一处),三场景 C=32/C=64 共 6 点重测两轮——pass-1 常规顺序,v2 全新实例并把易触发回退的主场景 C=64 排末位以排除状态污染;两轮全部点位对齐 ≤1.8%,证明回退后遗污染假设不成立、结果为 MRR64 的可复现行为。另以全新实例跑原版 MRR48 的 4.1 C=32 单点做归因对照(276 初测 → 266 对照 → 228 复测:−3% 实例新鲜度 + −14% MRR64 配置代价)。正文一律采用 v2 复测值;C≤16 各点与 5.x 长上下文行沿用初测值(MRR 在这些档位不构成约束)。初测原始数据留档于服务器 b300eq_tp2pp4_20260910_1138/ 与库内 results/tp2pp4/,复测两轮与对照留档 b300eq_pp4mrr64_20260910_1927/、b300eq_pp4mrr64v2_20260910_2021/、b300eq_mrr48ctl_20260910_2112/。
因此,下文比较回答的是"两种部署形态谁更适合该负载",不能把差异单独归因于 EAGLE、PP 流水、chunk、radix 或图覆盖中的某一项(与 B300 报告同款声明)。
测量协议(对齐 B300 口径):
- 冷缓存:
--shared-frac 0,每点前POST /flush_cache,服务端 Prefill 日志核算命中率,>0.01 重测一次,仍超停点排查;全矩阵命中核验最终全部达标。 - 指标:Input TPS / Output TPS / TTFT P95 / TPOT P95(P95 为 nearest-rank;Input TPS = 输入 token / 全程墙钟,与 B300 口径一致)。
- 负载:PG19 真实语料 token 切片(
corpus_ids.json),input_ids 直打/generate,temperature=0、ignore_eos、流式;nreq = max(8, 2×并发),边界行 nreq=并发。 - 并发档位按决策收敛:16K/1K 类封顶 64;64K 封 8、128K 封 4(128K C=2 补一档);超出活跃上限的档位是排队观察点(与 B300 C=256 同性质,保留为有效观察)。
- 语料已耗尽(21.23M/21.30M),冷缓存口径下用回收窗口复用(窗口基址见附录 A,逐记录
corpus_window字段留档)。
两臂活跃上限(MRR 与 KV 池决定,解释各行哪些并发是排队观察点):
| 场景 | TP2PP4 活跃上限 | E7b 活跃上限 |
|---|---|---|
| 16K | ~59(池 1,040,384 ÷ 17.4K;MRR64 超配,C=64 有 3 次回退) | 16(池 276,480 ÷ 约17.4K;MRR64 不再是约束) |
| 1K→128 | 64(MRR) | 64(MRR) |
| 1K→4K | 64(MRR) | ~52(池;C=64 有 12 条排队) |
| 64K | 15(池) | 4(池) |
| 128K | 7(池) | 2(池) |
| 256K | 3(池) | 1(池 262K KV / 276K 贴边) |
| 512K / 896K | 1(池) | 结构性不可(ctx 270,336) |
3. 主场景:16K 输入、512 输出
B300 跑了 C=1/8/32/64/128/256;本机按 MRR 上限收敛为 C=1/8/16/32/64(C=16 为本机甜点档,B300 无此档;C=128/256 超出两臂 MRR)。
| 并发 | 方案 | Input TPS | Output TPS | TTFT P95 | TPOT P95 |
|---|---|---|---|---|---|
| 1 | TP2PP4 | 534 | 16.7 | 5.36 s | 50.3 ms |
| 1 | TP8+EAGLE3+AR | 1,587 | 49.6 | 3.98 s | 13.7 ms |
| 8 | TP2PP4 | 3,236 | 101 | 14.79 s | 70.9 ms |
| 8 | TP8+EAGLE3+AR | 2,684 | 83.9 | 32.47 s | 136.1 ms |
| 16 | TP2PP4 | 4,674 | 146 | 25.78 s | 98.5 ms |
| 16 | TP8+EAGLE3+AR | 2,947 | 92.1 | 59.91 s | 228.8 ms |
| 32 | TP2PP4 | 6,156 | 192 | 46.31 s | 153.2 ms |
| 32 | TP8+EAGLE3+AR | 3,123 | 97.6 | 140.33 s | 213.6 ms |
| 64 | TP2PP4 | 6,419 | 201 | 89.22 s | 261.5 ms |
| 64 | TP8+EAGLE3+AR | 3,188 | 99.6 | 293.21 s | 214.6 ms |
趋势:
- 分界仍在 C=8,但差距显著收窄:C=1 E7b 全指标占优;C=8 起 TP2PP4 输出/输入/TTFT 反超。输出吞吐差距 2.0×(201 vs 99.6);TPOT P95 在 C=64 反被 E7b 反超(261.5 vs 214.6 ms——TP2PP4 该点活跃 ~59 条贴池顶 + 3 次回退,E7b 池限 16 活跃反而批更轻)。
- 调参消除掉图断崖:E7b 输出从 C=8 的 83.9 单调爬到 C=64 的 99.6 tok/s(+19%),C=16 TPOT P95 从初测 298 ms 降到 228.8 ms,C=32/64 稳定在 ~214 ms——decode 图全程覆盖运行批。EAGLE accept 随并发从 2.56 爬到 2.95。
- prefill 墙成为 E7b 的输出上限:其 input TPS 从 C=8 的 2,684 到 C=64 仅 +19%(3,188),TP2PP4 同区间 +98%(3,236→6,419)——chunk 8192 + TP8 无 PP 流水 vs chunk 16384 + PP4 摊满。16K 场景 E7b 输出被 prefill 封死在 ~100 tok/s 平台,并发再高也不突破。
- 两臂的 C=64 都撞各自的容量墙:E7b 活跃上限 = KV 池(~16 条,C=32/64 为排队观察点,TTFT P95 140/293 s);TP2PP4 MRR64 后活跃 ~59 条 = 16K 池顶(C=32→64 输出仅 +4%,3 次回退),但 TTFT P95 从 MRR48 排队态的 134.8 s 压到 89.2 s(−34%)——同样需要准入控制。
4. 短输入与长输出
4.1 1K -> 128
| 并发 | 方案 | Input TPS | Output TPS | TTFT P95 | TPOT P95 |
|---|---|---|---|---|---|
| 1 | TP2PP4 | 155 | 19.3 | 386 ms | 49.3 ms |
| 1 | TP8+EAGLE3+AR | 518 | 64.7 | 326 ms | 14.3 ms |
| 8 | TP2PP4 | 815 | 102 | 1.69 s | 72.9 ms |
| 8 | TP8+EAGLE3+AR | 1,211 | 151 | 2.17 s | 53.7 ms |
| 32 | TP2PP4 | 1,825 | 228 | 5.49 s | 120.7 ms |
| 32 | TP8+EAGLE3+AR | 1,833 | 229 | 7.09 s | 150.6 ms |
| 64 | TP2PP4 | 3,466 | 433 | 7.16 s | 116.7 ms |
| 64 | TP8+EAGLE3+AR | 2,178 | 272 | 12.15 s | 292.7 ms |
短输入下 E7b 在 C=8 显著占优(151 vs 102,1.5×);C=32 两方案打平(229 vs 228——TP2PP4 的 MRR64 配置代价吃掉了初测 MRR48 276 的领先,见 2 节演进注记);C=64 TP2PP4 重新拉开(433 vs 272,1.6×)且 TTFT/TPOT 双优(7.16 s/116.7 ms vs 12.15 s/292.7 ms)——MRR64 后 64 条满飞无排队,而 E7b 池上限 52 活跃、TPOT 被大稳态批拖高。B300 同场景 Low-Latency 到 C=128 才被反超,本机在 C=864 之间,主因是容量/配置而非算力。
4.2 1K -> 4K
| 并发 | 方案 | Output TPS | TTFT P95 | TPOT P95 |
|---|---|---|---|---|
| 1 | TP2PP4 | 20.3 | 395 ms | 49.8 ms |
| 1 | TP8+EAGLE3+AR | 135 | 320 ms | 8.7 ms |
| 8 | TP2PP4 | 101 | 1.87 s | 79.4 ms |
| 8 | TP8+EAGLE3+AR | 402 | 1.65 s | 24.3 ms |
| 32 | TP2PP4 | 347 | 4.95 s | 101.2 ms |
| 32 | TP8+EAGLE3+AR | 676 | 6.19 s | 54.6 ms |
| 64 | TP2PP4 | 572 | 7.30 s | 112.5 ms |
| 64 | TP8+EAGLE3+AR | 826.5 | 12.18 s | 85.1 ms |
长输出放大了两形态的差异——调参后 E7b 在本场景全并发档反超:
- E7b 全档最优,C=64 = 826.5 tok/s 为全场最高输出吞吐:C=1/8/32/64 输出 135/402/676/826.5,对 TP2PP4(20.3/101/347/572)为 6.7×/4.0×/1.9×/1.4×;C=64 TPOT 仍优(85.1 vs 112.5 ms),TTFT 被 TP2PP4 的 MRR64 反超(7.30 vs 12.18 s)。EAGLE accept 3.7
4.0——长输出让草稿模型进入"顺笔"状态,显著高于 4.1 短输出行(2.02.1)。 - 初测的排队断崖已消除:C=32 TTFT P95 从初测 304.75 s(nreq=64 / MRR=16 四波串行)降到 6.19 s;C=64 从未完成变为 12.18 s。MRR64 下 1K→4K 的池上限约 52 条活跃,C=64 仅 12 条排队,请求几乎全程满飞。
- TP2PP4 本场景被压,但 MRR64 修复了它的 C=64:1K 短进长出下既无 prefill 墙可摊、也无投机解码加成;C=64 输出 482→572 tok/s(+19%)、TTFT P95 从 337.92 s 塌缩到 7.30 s(48 活跃+16 排队 → 64 满飞),不再只限离线批处理,但输出仍被 E7b 反超 45%。
5. 长上下文观察
5.1 64K/128K -> 512
(并发档位按用户指示收敛:64K 封 8、128K 封 4,另补 128K C=2;B300 同场景为 64K C=8/32/64、128K C=8/32。)
| 场景 | 并发 | 方案 | Input TPS | Output TPS | TTFT P95 | TPOT P95 |
|---|---|---|---|---|---|---|
| 64K→512 | 1 | TP2PP4 | 1,834 | 14.3 | 10.32 s | 50.0 ms |
| 64K→512 | 1 | TP8+EAGLE3+AR | 2,877 | 22.5 | 17.17 s | 13.5 ms |
| 64K→512 | 4 | TP2PP4 | 4,287 | 33.5 | 28.83 s | 99.5 ms |
| 64K→512 | 4 | TP8+EAGLE3+AR | 3,292 | 25.7 | 68.87 s | 154.6 ms |
| 64K→512 | 8 | TP2PP4 | 5,650 | 44.1 | 53.38 s | 161.8 ms |
| 64K→512 | 8 | TP8+EAGLE3+AR | 3,280 | 25.6 | 149.45 s | 157.5 ms |
| 128K→512 | 1 | TP2PP4 | 3,017 | 11.8 | 18.23 s | 49.7 ms |
| 128K→512 | 1 | TP8+EAGLE3+AR | 3,054 | 11.9 | 37.60 s | 12.3 ms |
| 128K→512 | 2 | TP2PP4 | 4,310 | 16.8 | 32.42 s | 83.7 ms |
| 128K→512 | 2 | TP8+EAGLE3+AR | 3,145 | 12.3 | 75.81 s | 162.2 ms |
| 128K→512 | 4 | TP2PP4 | 5,626 | 22.0 | 60.35 s | 146.8 ms |
| 128K→512 | 4 | TP8+EAGLE3+AR | 3,133 | 12.2 | 159.50 s | 163.4 ms |
- 64K C=1 E7b 仍占优(22.5 vs 14.3 tok/s),但 128K C=1 两方案输出打平(11.8 vs 11.9)——prefill 逐渐成为长上下文的主导成本,E7b 的 decode 优势被稀释;其 TTFT 反而慢 2×(37.6 vs 18.2 s)。
- C≥2 起 TP2PP4 全指标占优;E7b 的 output TPS 在 64K/128K 行几乎不随并发变化(22.5→25.6、11.9→12.2)——KV 池把活跃钉在 ~4/~2 条,并发收益被容量封死(与 MRR/图调参无关,故沿用初测值)。
- DSA 的 TPOT 上下文不变性(TP2PP4 C=1:50.0 ms @64K ≈ 49.7 ms @128K ≈ 50.3 ms @16K)与并发驱动性(C=8:70.9 ms @16K → 161.8 ms @64K)在本组完整呈现。
5.2 上下文边界
(OSL=1,只验证容量与 prefill,不比较 Output TPS/TPOT——与 B300 同声明。B300 完成到约 1M;本机以 896K=917,504 tokens 对应 B300"约 1M"档。)
| 输入长度 | 方案 | 已完成并发 | C=1 Input TPS | 最高并发 TTFT P95 |
|---|---|---|---|---|
| 256K | TP2PP4 | 1/2/3 | 7,050 | 102.99 s(C=3) |
| 256K | TP8+EAGLE3+AR | 1 | 2,867 | 91.45 s(C=1) |
| 512K | TP2PP4 | 1 | 5,662 | 92.60 s(C=1) |
| 512K | TP8+EAGLE3+AR | 结构性不可(ctx 270,336) | — | — |
| 896K | TP2PP4 | 1 | 4,153 | 220.91 s(C=1) |
| 896K | TP8+EAGLE3+AR | 结构性不可(ctx 270,336) | — | — |
- 256K C=1 两臂相差 2.5×(7,050 vs 2,867 tok/s):TP2PP4 的 chunk 16384 + PP4 流水对超长 prefill 的摊满优势,在边界长度上比 128K 行(几乎打平)进一步放大;E7b 的 chunk 8192 代价随长度累积。
- TP2PP4 边界 input TPS 随长度衰减平缓(7,050 → 5,662 → 4,153),896K 单条 220.9 s 完成、池 1,040,384 tokens 单条可容(KV 917,504 + 余量)。
- E7b 256K C=1 命中核验注记(hicache 宿主层陷阱):首测命中率 0.9998、重试仍超——根因是该点 nreq=1 测量文本与预热完全相同,256K 预热 KV(262,160 tokens)占池 94.8% 触发分层缓存宿主层下放,
flush_cache只清 GPU radix 树、清不掉宿主层。改用该服务实例从未发过的文本(窗口基址 9,900,000)无预热重测,命中 0.0,数据干净。此为分层缓存运维要点:宿主层缓存不受 flush_cache 影响,冷测必须换文本。
6. 显存状态
- TP2PP4:服务加载后空载 64.6 GiB/卡,矩阵峰值 84.8 GiB/卡(MRR64 复测矩阵,主场景 C=64 活跃 ~59 条贴池顶时;初测 MRR48 峰值 85.0 GiB、最紧张卡余量约 0.6 GiB)。mem 0.85 下 KV 池按卡容量贴满分配,属预期;MRR64 已把 16K 场景推到池顶,继续上调并发或上下文没有余量,扩容前必须先降 mem-fraction。
- TP8+EAGLE3+AR:空载 77.5 GiB/卡(EAGLE 草稿权重 + mem 0.90 大池 + 13 档 decode 图,图捕获完成后余 6.11 GB/卡),复测矩阵峰值 81.7 GiB/卡(余量约 3.9 GiB;初测臂含 64K/128K/256K 长上下文的 hicache 传输,峰值 83.6 GiB/卡)。
- 全矩阵 0 OOM;唯一出现回退(retraction)的点是 TP2PP4 主场景 C=64(MRR64 对 16K 池超配,两轮复测各 3 次;MRR48 初测同点 0 回退)——B300 未披露该指标,除该点外全部点 retractions_total=0。
- 显存时间线逐 30 s 采样留档(vram_timeline.csv),可复核任一时刻的卡间分布。
7. 建议
- 低并发交互/agent 长思考(C≤8)用 E7b:主场景 C=1 TPOT 13.7 ms、长输出 C=8 输出 402 tok/s;该区间对 TP2PP4 的优势最大(3.0~6.7×)。
- prefill 密集/长上下文(16K 主场景、输入 ≥64K)用 TP2PP4:主场景 C=64 输出 201 tok/s(E7b 99.6)、128K C=1 TTFT 18.2 s、896K 可达;MRR64 后 16K 场景活跃 ~59 条为池封顶,1K 场景吞吐上限即 MRR=64。
- MRR 按负载形态选(本轮单变量结论):需要 C=64 档或低 TTFT 时 MRR64 收益确定——4.1 C=64 +27%、4.2 C=64 +19%、三场景 C=64 TTFT P95 全部塌缩(20.0/337.9/134.8 s → 7.2/7.3/89.2 s);但 1K 短输入 C≤32 档付出 ~14% 配置代价(4.1 C=32 276→228,全新实例 MRR48 对照定案),16K 场景无代价。以 1K 短输入为主且并发 ≤48 的生产口可保持 MRR48;两档并存可按场景路由。
- 负载形态分界线(调参后):decode 密集(短进长出,1K→4K)任何并发档 E7b 全优(C=64 输出 826 vs 572 tok/s);prefill 密集(16K 主场景)C≥8 TP2PP4 全优(201 vs 100);短输入短输出(1K→128)C=8 E7b、C=32 打平、C=64 TP2PP4(1.6×)。选型看输入/输出长度分布,不能只看并发。
- E7b 剩余瓶颈在 prefill 墙与 KV 池,不再在图:MRR64 + 图桶 1–64 已消掉掉图断崖(本报告即复测值);16K 主场景输出封顶 ~100 tok/s 是 chunk 8192 + TP8 无 PP 流水所致。扩并发容量的唯一杠杆是 KV 池(hicache 宿主层只救命中场景,不增并发容量)。
- 边界与超长上下文只有 TP2PP4 口径可服务:E7b 若要对标 B300 512K/约1M 行,需要 ctx ≥524,288 与池 ≥52 万 tokens 的部署形态,本版(ctx 270,336 / 池 276,480)结构性不可达。
- 不要把两臂差异单归因 EAGLE:两臂同时差在并行拓扑、chunk、radix、MRR 与图覆盖;单变量消融未做(与 B300 报告建议 3 同款)。MRR64 在 1K 短输入的 −14% 代价同样只有三实例 A/B 事实、机制未定位。
- 生产容量同时设吞吐和延迟 SLO:TP2PP4 主场景 C=64 输出最高但 TTFT P95 仍达 89 s;E7b 主场景 C=64 TTFT P95 293 s(池限 16 活跃的排队)。只看峰值 TPS 会掩盖排队长尾。
- 分层缓存运维:宿主层缓存不受
flush_cache影响,任何冷缓存测量/复测必须更换输入文本(见 5.2 注记)。
8. 原始结果与复现
- 服务器原始结果(60.8):
- TP2PP4 臂:
/root/bench_logs/b300eq_tp2pp4_20260910_1138/(all_results.jsonl 24 点、status.txt、server_facts.txt、gpu_inventory、vram_timeline.csv) - E7b 臂初测(MRR16/图 1–8,留档基线):
/root/bench_logs/b300eq_e7b_20260910_1428/(all_results.jsonl 20 条:16 点 OK + 4.2 C=64 用户中止 + 256K C=1 干净重测;status.txt 含 4 个结构性跳过与 HIT_FAIL_FINAL 首测记录) - E7b 臂复测(MRR64/图 1–64,正文采用值):
/root/bench_logs/b300eq_e7b64_20260910_1732/(all_results.jsonl 10 点全 OK:16K/4.1/4.2 三场景 C=8/16/32/64,命中核验全 0.0、0 retraction);前后对比表/root/bench_logs/retest_compare.md - TP2PP4 MRR64 复测 pass-1:
/root/bench_logs/b300eq_pp4mrr64_20260910_1927/(6 点全 OK,与 v2 对齐 ≤1.8%) - TP2PP4 MRR64 复测 v2(正文采用值,全新实例 + 回退点排末位):
/root/bench_logs/b300eq_pp4mrr64v2_20260910_2021/(6 点全 OK;16K C=64 3 次回退为 MRR64 池超配的确定性行为);前后对比表/root/bench_logs/retest_compare_pp4_v2.md - TP2PP4 MRR48 对照(归因实验,全新实例单点):
/root/bench_logs/b300eq_mrr48ctl_20260910_2112/(4.1 C=32 = 266.42 tok/s) - 资产 md5 台账:
/root/bench_logs/b300eq_md5_ledger.txt
- TP2PP4 臂:
- 本地镜像:
D:\sskj\b300eq\{tp2pp4,e7b,e7b64}\(上述全部文件)、D:\sskj\b300eq\pp4mrr64_mirror\(TP2PP4 复测两轮 + 对照全量)、D:\sskj\b300eq\report_tables.md(表格生成器输出)、D:\sskj\b300eq\retest_compare.md(E7b64 前后对比)、D:\sskj\b300eq\pp4mrr64_mirror\retest_compare_pp4_v2.md(TP2PP4 前后对比) - 部署脚本:
/root/deploy_glm53_pp4.sh(md5 def3c64c…,与库内 sskj main 副本一致)、/root/deploy_glm53_pp4_mrr64.sh(533440ef…,TP2PP4 高并发版:仅 MRR 48→64 一处差异)、/root/deploy_glm53_607_exp.sh(E7b 在役配方)、/root/deploy_glm53_e7b_hicc.sh(165db732…,E7b 高并发版:MRR64 + 图桶 1–64,其余与前者逐字一致);复测驱动/root/run_retest_e7b64.sh(fe46da2e…)、/root/run_retest_pp4mrr64.sh(c9b6361d…,pass-1)、/root/run_retest_pp4mrr64_v2.sh(7d857816…,v2 有序版)、/root/launch_v2_after_pass1.sh(889c2428…,衔接 wrapper)、/root/control_mrr48_41c32.sh(1ff8a21f…,对照 + 自动恢复链);对比生成器/root/gen_retest_compare.py、/root/gen_retest_compare_pp4.py;CAR 补丁:/root/patches/custom_all_reduce.py(a8fc9a50…)+custom_all_reduce_utils.py(65a4d22b…),三处(60.7 原件/本地/库内)md5 一致 - 测量工具:
/root/bench_corpus_v2.py(md5 1e34dd8d…,p95 nearest-rank + 逐请求 dump)、/root/extract_summary.py(4c126d06…)、/root/run_b300_matrix.sh(5892b446…,矩阵驱动:alive/idle_wait/prewarm/flush/命中核验/重试/VRAM 采样) - 复现命令(单点示例):
# 冷缓存压测(E7b 256K C=1 干净版)
python3 /root/bench_corpus_v2.py --input-len 262144 --output-len 1 --shared-frac 0 \
--concurrency 1 --num-requests 1 --run-id 9551 --pool-override 9900000 \
--dump-records $L/b52_256k_c1_v2_records.jsonl
# 全矩阵:nohup bash /root/run_b300_matrix.sh <arm> > <progress.log> 2>&1 &
# E7b 高并发复测(MRR64/图≤64,10 点):nohup bash /root/run_retest_e7b64.sh > <progress.log> 2>&1 &
# TP2PP4 MRR64 复测(v2 有序,回退点排末位):nohup bash /root/run_retest_pp4mrr64_v2.sh > <progress.log> 2>&1 &
9. 与 B300 对比观察
口径声明:B300 报告未写明模型量化方式(若为原始 BF16 权重,则与本机 NVFP4 非同模型形态);硬件为 8×B300(288 GB HBM3e)vs 本机 8×RTX 6000D(96 GB GDDR7);镜像 v0.5.18-cu130-dev4 vs nightly-20260828-daf63171。绝对值仅量级可比,本对比只对结构性结论负责。
- 定性结构完全复现:低延迟配方(B300 Low-Latency = TP8+EAGLE vs 本机 E7b = TP8+EAGLE3+AR)在 C=1 占优、吞吐配方(B300 High-Throughput = DP8+DeepEP vs 本机 TP2PP4 = D 生产口径)在高并发占优——两套硬件上"低延迟 vs 高吞吐"的分野方向一致。
- 分界点本机更靠前,且调参后由负载形态决定:B300 的交叉点在 C=64~128(主场景 HT C=128 反超 33%);本机主场景交叉仍在 C=8 附近(容量上限所致:本臂 MRR64/池贴边 16 活跃 vs B300 配方 256/默认,先于算力撞墙),但 decode 密集场景(1K→4K)E7b 调参后全档占优、无交叉——这一形态差异 B300 报告未呈现。
- 绝对差距 4~5×(主场景):C=1 输出 246 vs 49.6 tok/s(5.0×)、input 7,882 vs 1,587(5.0×);吞吐侧峰值 997 vs 201(5.0×)、31,889 vs 6,419(5.0×)。与显存带宽硬件代差量级一致。
- 边界 prefill 差距收窄到 ~2×:256K C=1 input 7,050 vs 17,457(2.5×)→ 512K 5,662 vs 12,421(2.2×)→ 896K/约1M 4,153 vs 7,897(1.9×)。计算密集的超长 prefill 是 6000D 相对最能打的位置(PP 流水摊满 + 带宽占比下降)。
- TPOT 差距小于吞吐差距:B300 LL C=1 4.36 ms vs E7b 13.7 ms(3.1×);高并发侧 B300 HT C=128 165 ms vs TP2PP4 C=64 261.5 ms(1.6×,本机该点为池顶运行、含 3 次回退的批扰动;MRR48 排队态为 203.7 ms)——NVFP4 + DSA 把 decode 单步成本压得相对不差,差距主要在吞吐面。
- 饱和形态不同:B300 LL 在 C=64 后进入 24K input tok/s 平台、HT 在 C=128 达峰后 C=256 回退 19%;本机 TP2PP4 到 C=64 到达 16K 池顶(活跃 ~59 条封顶,C=32→64 输出仅 +4%),E7b 调参后在 16K 场景呈 ~100 tok/s 输出平台(池限 16 活跃 + prefill 墙)、在 1K→4K 场景爬到 826 tok/s 无回退。本机没有一档出现吞吐回退——"甜点=并发上限"由 MRR/池决定而非算力。
- EAGLE 配方差异:B300 LL 为 5 steps/6 draft tokens,本机 E7b 为 4 steps/topk1/5 draft tokens;本机实测 accept 2.0
4.0(短输出 2.0、主场景 2.13.0、长输出 3.7~4.0,随 decode 深入上升)。B300 未披露 accept,无法直接对比投机效率。 - 容量边界差距最大:B300 两模式都完成约 1M 输入 C=1/2/4;本机仅 TP2PP4 可达 896K 且 C=1 单条(池 1,040,384 刚容一条),E7b 连 512K 都结构性不可测(ctx 270,336)。96 GB 卡上"上下文边界=显存边界"比 B300 严酷得多。
附录 A:语料窗口映射(回收窗口)
语料总量 21,296,780 tokens,此前场景一/二战役已消费至 21,235,008。冷缓存协议下回收复用:窗口基址 --pool-override 显式指定,每点窗口在基址上顺序推进(逐记录 corpus_window.start/end 留档),每点 flush + 命中核验 ≤0.01 保证冷。E7b 复测臂沿用与初测相同的窗口基址(2,300,000 / 4,500,000 / 4,700,000)——复测为全新容器实例,这些文本对 hicache 宿主层重新成为"处女文本",冷缓存协议成立(复测 10 点命中核验全部 0.0)。TP2PP4 复测两轮(pass-1/v2)与 MRR48 对照同样沿用该三处基址(radix 关 + flush 即冷,13 次测量命中核验全部 0.0)。
| 场景 | 窗口基址 | 备注 |
|---|---|---|
| 主场景 16K→512 | 2,300,000 | |
| 4.1 短输入 1K→128 | 4,500,000 | |
| 4.2 长输出 1K→4K | 4,700,000 | |
| 5.1 64K→512 | 5,000,000 | |
| 5.1 128K→512 | 6,200,000 | |
| 5.2 256K→1 | 8,400,000 | E7b 干净重测改用 9,900,000(实例首用文本,避 hicache 宿主层残留) |
| 5.2 512K→1 | 9,300,000 | 仅 TP2PP4 |
| 5.2 896K→1 | 9,900,000 | 仅 TP2PP4 |
附录 B:全量指标(含 mean/p95/max、回退、投机接受长度)
| 场景点 | 方案 | ok/nreq | wall(s) | out tok/s | in tok/s | TTFT mean/p95/max(s) | TPOT mean/p95/max(ms) | retractions | accept |
|---|---|---|---|---|---|---|---|---|---|
| b3_16k_c1 | TP2PP4 | 8/8 | 245.55 | 16.68 | 533.8 | 5.35/5.36/5.36 | 49.6/50.3/50.3 | 0 | None |
| b3_16k_c1 | TP8+EAGLE3+AR | 8/8 | 82.58 | 49.6 | 1587.15 | 3.93/3.98/3.98 | 12.5/13.7/13.7 | 0 | 2.138 |
| b3_16k_c8 | TP2PP4 | 16/16 | 81.0 | 101.13 | 3236.22 | 10.05/14.79/14.79 | 59.5/70.9/70.9 | 0 | None |
| b3_16k_c8 | TP8+EAGLE3+AR | 16/16 | 97.66 | 83.88 | 2684.26 | 12.12/32.47/32.47 | 69.2/136.1/136.1 | 0 | 2.556 |
| b3_16k_c16 | TP2PP4 | 32/32 | 112.16 | 146.08 | 4674.5 | 15.53/25.78/25.84 | 79.2/98.5/101.2 | 0 | None |
| b3_16k_c16 | TP8+EAGLE3+AR | 32/32 | 177.89 | 92.1 | 2947.27 | 19.76/59.91/63.69 | 129.7/228.8/275.9 | 0 | 2.485 |
| b3_16k_c32 | TP2PP4 | 64/64 | 170.33 | 192.38 | 6156.1 | 26.48/46.31/47.97 | 114.5/153.2/159.2 | 0 | None |
| b3_16k_c32 | TP8+EAGLE3+AR | 64/64 | 335.79 | 97.58 | 3122.67 | 82.65/140.33/154.66 | 138.1/213.6/277.5 | 0 | 2.777 |
| b3_16k_c64 | TP2PP4 | 128/128 | 326.73 | 200.58 | 6418.52 | 50.76/89.22/147.41 | 185.0/261.5/313.1 | 3 | None |
| b3_16k_c64 | TP8+EAGLE3+AR | 128/128 | 657.79 | 99.63 | 3188.2 | 204.27/293.21/322.84 | 142.5/214.6/276.6 | 0 | 2.954 |
| b41_1k_c1 | TP2PP4 | 8/8 | 52.95 | 19.34 | 154.7 | 0.38/0.39/0.39 | 49.1/49.3/49.3 | 0 | None |
| b41_1k_c1 | TP8+EAGLE3+AR | 8/8 | 15.82 | 64.74 | 517.93 | 0.30/0.33/0.33 | 13.2/14.3/14.3 | 0 | 2.028 |
| b41_1k_c8 | TP2PP4 | 16/16 | 20.1 | 101.91 | 815.3 | 1.31/1.69/1.69 | 68.6/72.9/72.9 | 0 | None |
| b41_1k_c8 | TP8+EAGLE3+AR | 16/16 | 13.53 | 151.33 | 1210.61 | 1.25/2.17/2.17 | 42.1/53.7/53.7 | 0 | 1.992 |
| b41_1k_c32 | TP2PP4 | 64/64 | 35.92 | 228.08 | 1824.68 | 4.60/5.49/5.52 | 104.1/120.7/137.5 | 0 | None |
| b41_1k_c32(MRR48 对照·全新实例) | TP2PP4 | 64/64 | 30.75 | 266.42 | 2131.36 | 4.04/4.92/4.93 | 88.4/103.0/110.0 | 0 | None |
| b41_1k_c32 | TP8+EAGLE3+AR | 64/64 | 35.75 | 229.18 | 1833.42 | 2.99/7.09/7.10 | 111.9/150.6/179.8 | 0 | 2.035 |
| b41_1k_c64 | TP2PP4 | 128/128 | 37.82 | 433.2 | 3465.61 | 5.46/7.16/7.24 | 104.3/116.7/147.3 | 0 | None |
| b41_1k_c64 | TP8+EAGLE3+AR | 128/128 | 60.18 | 272.24 | 2177.88 | 4.76/12.15/13.48 | 191.1/292.7/331.5 | 0 | 2.094 |
| b42_1k4k_c1 | TP2PP4 | 8/8 | 1614.16 | 20.3 | 5.08 | 0.39/0.40/0.40 | 49.2/49.8/49.8 | 0 | None |
| b42_1k4k_c1 | TP8+EAGLE3+AR | 8/8 | 242.18 | 135.31 | 33.83 | 0.31/0.32/0.32 | 7.3/8.7/8.7 | 0 | 3.701 |
| b42_1k4k_c8 | TP2PP4 | 16/16 | 649.69 | 100.87 | 25.22 | 1.35/1.87/1.87 | 79.0/79.4/79.4 | 0 | None |
| b42_1k4k_c8 | TP8+EAGLE3+AR | 16/16 | 162.84 | 402.47 | 100.62 | 0.95/1.65/1.65 | 18.5/24.3/24.3 | 0 | 3.951 |
| b42_1k4k_c32 | TP2PP4 | 64/64 | 756.13 | 346.69 | 86.67 | 2.85/4.95/4.97 | 91.0/101.2/101.4 | 0 | None |
| b42_1k4k_c32 | TP8+EAGLE3+AR | 64/64 | 387.9 | 675.81 | 168.95 | 2.58/6.19/6.20 | 43.0/54.6/60.4 | 0 | 3.82 |
| b42_1k4k_c64 | TP2PP4 | 128/128 | 916.56 | 572.01 | 143.0 | 3.47/7.30/7.32 | 109.7/112.5/115.4 | 0 | None |
| b42_1k4k_c64 | TP8+EAGLE3+AR | 128/128 | 634.35 | 826.5 | 206.62 | 4.36/12.18/12.50 | 69.9/85.1/101.5 | 0 | 3.878 |
| b51_64k_c1 | TP2PP4 | 8/8 | 285.91 | 14.33 | 1833.72 | 10.28/10.32/10.32 | 49.8/50.0/50.0 | 0 | None |
| b51_64k_c1 | TP8+EAGLE3+AR | 8/8 | 182.23 | 22.48 | 2877.06 | 17.04/17.17/17.17 | 11.2/13.5/13.5 | 0 | 2.468 |
| b51_64k_c4 | TP2PP4 | 8/8 | 122.3 | 33.49 | 4286.94 | 19.55/28.83/28.83 | 81.4/99.5/99.5 | 0 | None |
| b51_64k_c4 | TP8+EAGLE3+AR | 8/8 | 159.24 | 25.72 | 3292.45 | 30.55/68.87/68.87 | 94.9/154.6/154.6 | 0 | 2.438 |
| b51_64k_c8 | TP2PP4 | 16/16 | 185.59 | 44.14 | 5650.11 | 31.83/53.38/53.38 | 119.2/161.8/161.8 | 0 | None |
| b51_64k_c8 | TP8+EAGLE3+AR | 16/16 | 319.66 | 25.63 | 3280.31 | 90.92/149.45/149.45 | 105.8/157.5/157.5 | 0 | 2.442 |
| b51_128k_c1 | TP2PP4 | 8/8 | 347.5 | 11.79 | 3017.45 | 18.21/18.23/18.23 | 49.4/49.7/49.7 | 0 | None |
| b51_128k_c1 | TP8+EAGLE3+AR | 8/8 | 343.36 | 11.93 | 3053.83 | 37.59/37.60/37.60 | 10.4/12.3/12.3 | 0 | 2.728 |
| b51_128k_c2 | TP2PP4 | 8/8 | 243.3 | 16.84 | 4309.84 | 25.27/32.42/32.42 | 69.6/83.7/83.7 | 0 | None |
| b51_128k_c2 | TP8+EAGLE3+AR | 8/8 | 333.36 | 12.29 | 3145.44 | 48.21/75.81/75.81 | 68.0/162.2/162.2 | 0 | 2.769 |
| b51_128k_c4 | TP2PP4 | 8/8 | 186.37 | 21.98 | 5626.35 | 39.29/60.35/60.35 | 105.4/146.8/146.8 | 0 | None |
| b51_128k_c4 | TP8+EAGLE3+AR | 8/8 | 334.71 | 12.24 | 3132.76 | 110.14/159.50/159.50 | 68.7/163.4/163.4 | 0 | 2.595 |
| b52_256k_c1 | TP2PP4 | 1/1 | 37.18 | 0.03 | 7050.23 | 37.18/37.18/37.18 | — | 0 | None |
| b52_256k_c1 | TP8+EAGLE3+AR | 1/1 | 91.45 | 0.01 | 2866.59 | 91.45/91.45/91.45 | — | 0 | None |
| b52_256k_c2 | TP2PP4 | 2/2 | 70.19 | 0.03 | 7469.22 | 53.69/70.12/70.12 | — | 0 | None |
| b52_256k_c3 | TP2PP4 | 3/3 | 103.12 | 0.03 | 7626.22 | 70.12/102.99/102.99 | — | 0 | None |
| b52_512k_c1 | TP2PP4 | 1/1 | 92.6 | 0.01 | 5662.03 | 92.60/92.60/92.60 | — | 0 | None |
| b52_896k_c1 | TP2PP4 | 1/1 | 220.91 | 0.0 | 4153.24 | 220.91/220.91/220.91 | — | 0 | None |
注:TP2PP4 的 16K/4.1/4.2 场景 C=32/C=64 共 6 点为 MRR64 复测 v2 值(正文采用值;pass-1 两轮对齐 ≤1.8% 留档 results/pp4mrr64/),C=1/C=8/C=16 与 5.1/5.2 行沿用初测 MRR48 值(MRR 在这些档位不构成约束);"MRR48 对照"行是 4.1 C=32 的全新实例归因实验(276 初测 → 266 对照 → 228 复测 = −3% 实例新鲜度 −14% MRR64 配置代价)。E7b 的 16K/4.1/4.2 场景 C=8~C=64 共 10 点为调参后(MRR64/decode 图 1–64)复测值,即正文采用值;C=1 各点与 5.1/5.2 行沿用初测值(活跃数受池上限约束,与调参无关)。E7b 256K/512K/896K C>1 为结构性跳过;256K C=1 为全新文本干净重测值(窗口 9,900,000)。初测全量原始数据留档于 results/tp2pp4/(MRR48)与 results/e7b/(MRR16/图 1–8)。