诊断 60.5 排队根因:KV 池 276,864 token 纯容量算术(MLA KV 按 PP 分层切分, 池≈PP 度数倍增;TP8 调参无解,fp8 断言封顶 314,944 < c3 需求 394,752)。 四臂对拍(i128k/o512 冷缓存 cc1-4,PG19 真实语料同窗口映射): - A-mirror(60.5 现状):c3 起容量排队,cc4 TTFT p50 119.6s,痛点复现 - r37(TP4PP2+MTP):池 384,960,c3 起排队 - B'(TP4PP2 nomtp):池 589,696,c4 零排队 - TP2PP4 nomtp 池 909,632 优胜:cc4 in 5907 / out 23.1 tok/s, TTFT p50 全场最优(cc1 15.5s),e2e 88.8s 优胜者验证全过:质量门 7/7;512k 单条 TTFT 88.4s;900k 单条可完成 (单条上限 ~909k 实证);并发上限 c6(cc7 第 7 条起排队);hit90 cc4 输入吞吐 17,625 tok/s、TTFT 7.3s。 60.8 末态:TP2PP4 容器在役(restart=unless-stopped)。 60.5 交付:deploy_glm53_605_v2.sh(一键部署+前置检查,原脚本=回滚路径)。 资产:arm_runner.sh / val_runner.sh / all_summaries.json(26 点全量) / profile glm53_nvfp4_pro6000_sglang_tp2pp4_hicache.env / CURRENT.md 两行更新。
45 lines
2.9 KiB
Bash
45 lines
2.9 KiB
Bash
# GLM-5.3-NVFP4 SGLang TP=2 PP=4 + hicache deployment profile (single RTX 6000D node, 8 GPUs).
|
||
# 2026-09-09 128k 低并发容量扩容实验优胜配置(60.8 现役;60.5 交付 deploy_glm53_605_v2.sh 待执行)。
|
||
# 可执行部署脚本:experiments/pro6000/glm53_nvfp4_128k_capacity_topology/scripts/deploy_glm53_605_v2.sh
|
||
#
|
||
# 与方案 D(glm53_nvfp4_pro6000_sglang_tp2pp4.env)的关键差异(勿混淆):
|
||
# - radix/hicache 保持开启(60.5 真实流量命中率 90%+,关 radix 不可接受);D 为 16k 独立输入场景关了 radix
|
||
# - cu13 镜像 + 9 补丁只读挂载(de-GLOO request_receiver / decode_cuda_graph_runner_fix 等 r37 栈遗产,
|
||
# nomtp 下 spec 相关补丁为惰性,de-GLOO 为 PP 通用修复);D 用旧镜像 20260828 无挂载
|
||
# - --reasoning-parser glm45 --tool-call-parser glm47 齐备(质量门 7/7);D 当时 6/7
|
||
# - --context-length 1048576(模型原生 1M;D 未设);chunk 8192(D 16384);MRR 16(D 48)
|
||
# - 实测(60.8,i128k/o512 冷缓存):KV 池 909,632 token(A 的 3.29×)、并发上限 c6、
|
||
# 单条上限 ~909k(900k 实跑通过)、c4 输入/输出 5,907/23.1 tok/s、TTFT p50 43.4s、
|
||
# 512k 单条 TTFT 88.4s、90% 命中 c4 输入 17,625 tok/s
|
||
# - memfrac 0.85 为验证档;PP0 stage 空闲 22GB 提示 0.88 有余量(未验证,改动须重跑质量门+容量冒烟)
|
||
PLATFORM=pro6000
|
||
EXPERIMENT=glm53_nvfp4_128k_capacity_topology
|
||
MODEL_NAME=GLM-5.3-NVFP4
|
||
ENGINE=sglang
|
||
RUNTIME=docker
|
||
DOCKER_IMAGE=lmsysorg/sglang:nightly-dev-cu13-20260901-07c8f729
|
||
CONTAINER_NAME=glm53-nvfp4
|
||
MODEL_PATH=/data/hf_models/GLM-5.3-NVFP4
|
||
SERVED_MODEL_NAME=/data/hf_models/GLM-5.3-NVFP4
|
||
PORT=30000
|
||
HEALTH_PATH=/health
|
||
HEALTH_WAIT_S=1800
|
||
CONTAINER_PYTHON=python3
|
||
|
||
TP=2
|
||
PP=4
|
||
MEM_FRACTION_STATIC=0.85
|
||
MAX_RUNNING_REQUESTS=16
|
||
CHUNKED_PREFILL_SIZE=8192
|
||
CONTEXT_LENGTH=1048576
|
||
|
||
DEVICE_VARS="CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7"
|
||
ENGINE_ENV="PYTHONUNBUFFERED=1 SGLANG_PP_DEGLOO=1 SGLANG_PP_SPEC_FORCE_EAGER_DRAFT=1 SGLANG_PP_FORCE_EAGER_VERIFY=0 SGLANG_PP_SPEC_DEBUG=0"
|
||
|
||
DOCKER_FLAGS="--gpus all --shm-size 64g --ipc=host --cap-add SYS_PTRACE -p ${PORT}:${PORT}"
|
||
VOLUMES="/data/hf_models:/data/hf_models + 9 patch ro-mounts (full list in scripts/deploy_glm53_605_v2.sh; files live in /root + /root/sglang_patch2 on the host)"
|
||
|
||
BOOTSTRAP="python3 -m sglang.launch_server ${LAUNCH_ARGS}"
|
||
|
||
LAUNCH_ARGS="--model-path ${MODEL_PATH} --tp-size ${TP} --pp-size ${PP} --mem-fraction-static ${MEM_FRACTION_STATIC} --max-running-requests ${MAX_RUNNING_REQUESTS} --chunked-prefill-size ${CHUNKED_PREFILL_SIZE} --disable-shared-experts-fusion --moe-runner-backend flashinfer_cutlass --disable-flashinfer-autotune --reasoning-parser glm45 --tool-call-parser glm47 --enable-hierarchical-cache --hicache-ratio 3 --disable-overlap-schedule --max-prefill-tokens 16384 --disable-custom-all-reduce --context-length ${CONTEXT_LENGTH} --host 0.0.0.0 --port ${PORT}"
|