- scripts: 11 个服务器原样脚本入库(md5 对照表更新至 README);D=60.1 生产原样配方、 E=v5 DFlash 底稿、F=PD 链四角色部署+launch+双场景压测驱动 - profiles: 新增 6 个 .env(D/E 单机 + F 四角色,均带镜像 digest sha256:28e0d260…,对齐 kimi3 PD 多角色先例) - deploy/PD_CHAIN.md: 方案 F 编排手册(启动顺序 mc-master→prefill→decode→router、 基础设施依赖表、质量门口径、拆链恢复、÷2 单机等效判决) - platforms/patches/pro6000/glm53_pd_chain/: sglang 补丁树 vs 镜像原版 11 文件 unified diff 快照——宿主树无 .git,此为唯一版本记录(DFlash+PP+PD 解锁全集) - deploy/manifests/: GLM-5.3-NVFP4(47分片)/GLM-5.3-DFlash2(单分片) 权重 md5 清单 - deploy/CURRENT.md: 全集群现役状态页(2026-09-08 八机实测) - deploy/verify_profile.sh: 防漂移核验工具(digest+参数 token 比对+端口/health, 已在 60.1 生产容器实测 PASS)
60 lines
4.0 KiB
Bash
60 lines
4.0 KiB
Bash
# GLM-5.3-NVFP4 PD 分离链 - 角色2: prefill 节点(方案F,跑在 6000D-1 = 174.1.60.1,8 卡)。
|
||
# 四角色链之一,启动顺序强制: mc-master -> [本角色] -> decode -> router。
|
||
# 完整链编排见 deploy/PD_CHAIN.md。
|
||
# 可执行部署脚本: experiments/pro6000/glm53_nvfp4_pro6000d_sglang_dual_scenario_bench/scripts/deploy_pd_probe.sh
|
||
# (参数 = launch 脚本名;launch 脚本同目录 p1b_prefill_tp4pp2_cps8k_launch.sh 及其 radix 变体)
|
||
#
|
||
# 关键点(实测踩坑,勿随意改):
|
||
# - 拓扑 TP4 PP2(4卡/stage × 2 stage)+ DFLASH 草稿(草稿只跑 prefill 侧草稿 KV,
|
||
# export SGLANG_DFLASH_PD_DRAFT_KV_TRANSFER=0 = 草稿 KV 不跨机传输)
|
||
# - mem 0.78 低于单机方案(PD 模式下 mooncake 传输缓冲占显存);cps 8192(非 D 方案的 16384)
|
||
# - 基线 launch 脚本带 --disable-radix-cache;场景一(90% 命中)实测用 radix 变体
|
||
# (p1b_prefill_tp4pp2_cps8k_radix_launch.sh,唯一差异 = 删掉该 flag)
|
||
# - 必须挂补丁树 /data/sglang_patch_glm53:/sgl-workspace/sglang(含 1 个文件改动:
|
||
# python/sglang/srt/speculative/spec_info.py 接 build_dflash_family_disagg_draft_input,
|
||
# DFlash PD 冷启动接线;无此补丁 decode 首请求 400)
|
||
# - 必须装 mooncake wheel /data/flashkda_deploy/wheels/mooncake_transfer_engine_cuda13-
|
||
# 0.3.12.post1-cp312-cp312-manylinux_2_28_x86_64.whl(--no-deps,容器内 launch 脚本自装)
|
||
# - --network host + --device /dev/infiniband + --ulimit memlock=-1,IB 设备 mlx5_0-3
|
||
# - 前置硬检查: mc-master 50051 必须已监听(deploy_pd_probe.sh 自带)
|
||
# - 60.1 是生产机(日常跑 glm53-pp4):拉本角色前须停生产容器,测完等显存 <2000MiB
|
||
# 再跑 deploy_glm53_pp4.sh 恢复
|
||
#
|
||
# 实测成绩: 飞书《GLM-5.3-NVFP4 双场景压测报告》方案 F 行(文档 SZUSdEqY1oRVxGxgILBcHqPJnEc)。
|
||
# 128k cc1 TTFT 3.91s = 六方案最低;跨机 prefill/decode 重叠使 RDMA 传输被完全吸收。
|
||
|
||
PLATFORM=pro6000
|
||
EXPERIMENT=glm53_nvfp4_pro6000_pd_prefill
|
||
MODEL_NAME=GLM-5.3-NVFP4
|
||
ENGINE=sglang
|
||
RUNTIME=docker
|
||
ROLE=pd-prefill
|
||
NODE=174.1.60.1
|
||
DOCKER_IMAGE=lmsysorg/sglang:nightly-dev-20260828-daf63171
|
||
DOCKER_IMAGE_DIGEST=sha256:28e0d26073161e49ca56eba808d264a4223804a212020f1dfe1b2405b9f8a399
|
||
CONTAINER_NAME=glm53-pd-smoke-prefill
|
||
MODEL_PATH=/data/hf_models/GLM-5.3-NVFP4
|
||
DRAFT_MODEL_PATH=/data/hf_models/GLM-5.3-DFlash2
|
||
PORT=30000
|
||
HEALTH_PATH=/health
|
||
HEALTH_WAIT_S=1500
|
||
|
||
TP=4
|
||
PP=2
|
||
MEM_FRACTION_STATIC=0.78
|
||
MAX_RUNNING_REQUESTS=48
|
||
CHUNKED_PREFILL_SIZE=8192
|
||
|
||
DEVICE_VARS="CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7"
|
||
ENGINE_ENV="MOONCAKE_MASTER=174.1.60.1:50051 MOONCAKE_PROTOCOL=rdma SGLANG_DFLASH_PD_DRAFT_KV_TRANSFER=0 PYTHONUNBUFFERED=1"
|
||
|
||
DOCKER_FLAGS="--gpus all --network host --ipc=host --shm-size 64g --ulimit memlock=-1 --device /dev/infiniband --restart unless-stopped"
|
||
VOLUMES="/data/hf_models:/data/hf_models /data/flashkda_deploy/wheels:/mc_wheels:ro /data/sglang_patch_glm53:/sgl-workspace/sglang"
|
||
|
||
BOOTSTRAP="pip install /mc_wheels/mooncake_transfer_engine_cuda13-0.3.12.post1-cp312-cp312-manylinux_2_28_x86_64.whl --no-deps -q && 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} --disable-shared-experts-fusion --moe-runner-backend flashinfer_cutlass --disable-flashinfer-autotune --disable-custom-all-reduce --chunked-prefill-size ${CHUNKED_PREFILL_SIZE} --speculative-algorithm DFLASH --speculative-draft-model-path ${DRAFT_MODEL_PATH} --speculative-draft-attention-backend fa4 --disaggregation-mode prefill --disaggregation-transfer-backend mooncake --disaggregation-bootstrap-port 28800 --disaggregation-ib-device mlx5_0,mlx5_1,mlx5_2,mlx5_3 --host 0.0.0.0 --port ${PORT} --json-model-override-args {\"index_topk_freq\": 4}"
|
||
|
||
# 场景一(90% 命中)变体: LAUNCH_ARGS 追加 --disable-radix-cache 删除(radix 开)。
|
||
# 基线(本 profile 口径)= radix off。
|