3.4 KiB
Raw Permalink Blame History

GLM-5.3-NVFP4 TP4PP2+MTP 深入攻坚2026-09-07 第三轮)

机器174.1.60.58×RTX 6000D。基础补丁 = 09-06 的 r33sglang_patch2 七文件挂载 + nightly-dev-cu13-20260901-07c8f729本轮在其上做竞态二分、修复尝试与 decode 轮量化。主报告(结论与工程清单):results/analysis/GLM53_TP4PP2_Profile与优化方向_2026-09-06.md §9。

scripts/

文件 作用
eagle_worker_v2_mask.py r33 的位掩码版7 处阶段边界同步改为 /tmp/pp_sync_mask 热开关bit0-6 = site1-7draftstep/prefill-ext/ext-pre/extlogits/draft-tree/accept/replay-in缺省 127 ≡ r33
scheduler_pp_mixin_r34.py 修复候选:_pp_commit_comm_work 延迟一轮释放 P2PWork实验结果反而加速竞态触发弃用
deploy_ppmtp_mask.sh 部署掩码构建(挂 mask 版 eagle_worker_v2
deploy_ppmtp_r34.sh 部署 r34挂 r34 mixin + 健康后写掩码文件 SYNCMASK
deploy_ppmtp_r34_nocache.sh r34 + PYTORCH_NO_CUDA_MEMORY_CACHING=1死于启动期 graph capture实验不可行
race_run.sh 竞态单点运行器:热写掩码 → conc_test big → 监控容器/健康死亡并收割日志
prof_mtp_decode{,2,3}.sh torch profiler 采集编排12 步 spec round无 stack
prof_mtp_analyze.py trace 分析轮时拆解、cudaStreamSynchronize/cudaLaunchKernel 宿主成本、NCCL 分桶、gap 归因、长宿主 op
prof_ann_census.py user_annotation 相位普查TARGET_VERIFY/draft/DECODE/边界收发时长 + gloo 操作画像)

results/ops/(实验原始记录)

  • race_r0.logmask=127 对照conc_test 8×16384 PASS 64.4s
  • race_r1.log / race_r1b_ladder.log / race_r1c_big.logmask=0 conc_test 3/3 PASS30.7/27.5/26.6s)——假信心bench 才触发竞态
  • crash_mask0_full.logr33+mask0 完整 bench cc16 崩溃prefill 爬坡段PG2 watchdog IMA表面 dsa init/allocator insert_events 同 09-06
  • crash_r34_mask0.logr34+mask0 conc_test 23.6s 崩commit wait 也是隐性遮罩的直接证据)
  • deploy_r34.log / deploy_r34nc.log部署记录后者 = NO_CACHING 死于 cudaErrorStreamCaptureInvalidated
  • prof_mtp_decode.log / prof_mtp_decode3.log采集编排日志
  • prof_mtp_analysis.txt8 rank trace 全量分析输出

核心事实(详见主报告 §9

  1. 三源证伪7 同步 4.9ms/轮、eager launch 3.3ms/轮、边界 SendRecv 0.17ms/轮——合计 <10ms解释不了 240ms 回归。
  2. 真凶:每轮 3 次串行 GLOO 元数据 rendezvousparallel_state.send_object = 2 gloo isend/字典),相位漂移下发送端 CPU 阻塞 300-540ms → TP 到达偏斜 → AR 自旋 132ms/轮 + GPU 空洞 ~130ms/轮293.5ms/轮的 72% 是 TARGET_VERIFY 的等待态)。
  3. 竞态为真且与停顿去除耦合mask=0 在 bench 剖面崩r34 去 commit wait 更快崩。根因定位只能靠 compute-sanitizerNO_CACHING/LAUNCH_BLOCKING 均引入同步污染)。
  4. 16k 输入下 KV 池把 decode 并发钉在 ≤8cc16 压测的 decode 实际是 bs 7-8 混合态,"稳态 bs16"不存在。

远端留存60.5

  • /root/sglang_patch2/r33 七文件)、/root/eagle_worker_v2_mask.py、/root/scheduler_pp_mixin_r34.py、deploy_ppmtp_{mask,r34,r34_nocache}.sh、race_run.sh、prof_mtp_*.sh/py
  • /data/hf_models/ppmtp_profiles/M_decode/8 rank × 12 步 trace~48MB
  • 崩溃与竞态日志:/root/crash_.log、/root/race_.log