CANN-昇腾NPU-多机推理-跨机房怎么部署

发布时间:2026/5/23 17:19:39

CANN-昇腾NPU-多机推理-跨机房怎么部署 单机 8 卡不够用怎么办跨机房部署需要解决两个问题模型权重怎么分布、请求怎么路由。在昇腾NPU上Tensor Parallel 只适合机内HCCS 带宽高跨机房必须用 Pipeline Parallel 或 Data Parallel。跨机房通信瓶颈机房 A8 卡HCCS 200GB/s延迟 1μs 机房 B8 卡HCCS 200GB/s延迟 1μs 机房 A ↔ 机房 BRoCE 100GbE延迟 10-50μs跨机房的带宽只有机内的 50%延迟高 10000×。TP 的每层 All-Reduce 在跨机房场景下通信占比 80%扩展效率极低。Pipeline ParallelPP跨机房首选把模型层切分到不同机器机房 AGPU 0-3Layer 0-15 机房 AGPU 4-7Layer 16-31 机房 BGPU 8-11Layer 32-47 机房 BGPU 12-15Layer 48-63每批数据按顺序流过所有机器跨机房只传激活hidden_state不传梯度。fromatbimportLLM,PipelineParallelConfig modelLLM(meta-llama/Llama-2-70b-hf,pipeline_parallelPipelineParallelConfig(stages[{devices:npu:0,1,2,3,layers:0-15},{devices:npu:4,5,6,7,layers:16-31},{devices:npu:8,9,10,11,layers:32-47},# 跨机房{devices:npu:12,13,14,15,layers:48-63},],micro_batch_size4,# PP 的 micro-batch 大小))优点跨机房通信量小只传激活不传权重/梯度缺点有 bubble部分机器在等前序机器Data ParallelDP 转发节点多机不做 PP每个机器跑完整模型负载均衡器做请求转发Load Balancer (SLB/NGINX) ├── 机房 A8 卡完整 70B 模型 └── 机房 B8 卡完整 70B 模型# 每个机器独立启动推理服务# 机器 A:modelLLM(meta-llama/Llama-2-70b-hf,devicenpu:0,1,2,3,4,5,6,7)# 机器 B:modelLLM(meta-llama/Llama-2-70b-hf,devicenpu:0,1,2,3,4,5,6,7)# SLB 做轮询转发优点无跨机房通信扩展效率 100%缺点每个机器都要存完整模型显存需求高混合方案DP PP机房 APP20-31, 32-63TP4机内 机房 BPP20-31, 32-63TP4机内每个机房跑 2 个 PP stage跨机房不通信。机房之间通过 DP 扩展。跨机房部署实战场景 12 机房 × 8 卡70B 模型推荐DP每个机房跑完整模型原因70B 模型 8 卡 TP 刚好放下不需要 PP跨机房零通信扩展效率 100%场景 24 机房 × 8 卡405B 模型推荐PP4每个机房 1 个 stage DP22 个副本405B 模型单机房 8 卡放不下必须 PP每个 stage 在 1 个机房内跨 stage 通信走 RoCEDP2 提供 2 个并行副本网络要求跨机房部署对网络的要求项目要求推荐配置带宽 100GbE200GbE (RoCE v2)延迟 50μs低延迟交换机丢包率 10^-6无损网络PFC/ECN拓扑低收敛比Spine-Leaf 架构如果跨机房延迟 100μsPP 的 bubble 会很严重每台机器等前序机器的时间占比高。跨机房部署的核心原则TP 不跨机房PP 可以跨机房DP 最适合跨机房。70B 以下模型用 DP405B 以上用 PPDP 混合。仓库在这里https://atomgit.com/cann/ATB

相关新闻