昇腾 AI 集群服务器架构:多维混合并行

发布时间:2026/9/30 20:51:57
昇腾 AI 集群服务器架构:多维混合并行
昇腾 AI 集群基于 910B/910C NPU、HCCL 集合通信、MindSpore/MindFormers 构建分布式训练底座。大模型训练普遍采用多维混合并行融合数据并行DP、张量并行TP、流水线并行PP、专家并行EP解决单卡显存不足、通信瓶颈、算力利用率低等痛点。多维混合并行依托集群服务器网络RoCE v2、HCCL 跨机通信、框架分布式原语协同调度。本文基于昇腾集群、MindSpore 分布式接口提供并行配置、初始化代码、通信调试脚本。硬件环境昇腾 910B 集群MindSpore 2.3CANN 8.xHCCLRoCE 高速网络一、多维混合并行基础架构多维并行维度定义TP 张量并行单层 Transformer 切分到多个 NPU层内横向拆分单机内为主低延迟通信PP 流水线并行模型纵向分层切分多卡串联执行缓解单卡显存压力EP 专家并行MoE 模型专家路由拆分DP 数据并行完整模型副本分发不同训练样本全局并行关系WorldSize DP * TP * PP * EP。昇腾集群中TP 优先单机内部署PP/DP 跨服务器依托 RoCEHCCL 通信。二、MindSpore 多维混合并行初始化代码import mindspore as ms from mindspore.communication import init, get_rank, get_group_size from mindspore.parallel import set_algo_parameters from mindspore.context import ParallelMode # 1. 多维并行超参配置 # 根据昇腾集群拓扑设置 DP_SIZE 2 # 数据并行维度 TP_SIZE 2 # 张量并行维度 PP_SIZE 2 # 流水线并行维度 EP_SIZE 1 # MoE专家并行非MoE模型置1 WORLD_SIZE DP_SIZE * TP_SIZE * PP_SIZE * EP_SIZE def init_ascend_mixed_parallel(): # 昇腾NPU设备设置 ms.set_context(modems.GRAPH_MODE, device_targetAscend) # 初始化通信域 HCCL init() rank_id get_rank() world_size get_group_size() print(fGlobal rank:{rank_id}, world size:{world_size}) # 校验集群启动进程数量匹配多维配置 assert world_size WORLD_SIZE, f进程数{world_size} ! DP*TP*PP{WORLD_SIZE} # 设置自动并行策略开启多维混合并行 ms.set_auto_parallel_context( parallel_modeParallelMode.AUTO_PARALLEL, gradients_meanTrue, full_batchTrue, enable_parallel_optimizerTrue, search_modesharding_propagation ) # 多维并行切分参数 set_algo_parameters( fully_use_devicesTrue, tensor_parallelTP_SIZE, pipeline_parallelPP_SIZE, data_parallelDP_SIZE ) return rank_id # 执行初始化 if __name__ __main__: rank init_ascend_mixed_parallel()三、Transformer 模型多维切分示例MindSporeimport mindspore as ms from mindspore.communication import init, get_rank, get_group_size from mindspore.parallel import set_algo_parameters from mindspore.context import ParallelMode # 1. 多维并行超参配置 # 根据昇腾集群拓扑设置 DP_SIZE 2 # 数据并行维度 TP_SIZE 2 # 张量并行维度 PP_SIZE 2 # 流水线并行维度 EP_SIZE 1 # MoE专家并行非MoE模型置1 WORLD_SIZE DP_SIZE * TP_SIZE * PP_SIZE * EP_SIZE def init_ascend_mixed_parallel(): # 昇腾NPU设备设置 ms.set_context(modems.GRAPH_MODE, device_targetAscend) # 初始化通信域 HCCL init() rank_id get_rank() world_size get_group_size() print(fGlobal rank:{rank_id}, world size:{world_size}) # 校验集群启动进程数量匹配多维配置 assert world_size WORLD_SIZE, f进程数{world_size} ! DP*TP*PP{WORLD_SIZE} # 设置自动并行策略开启多维混合并行 ms.set_auto_parallel_context( parallel_modeParallelMode.AUTO_PARALLEL, gradients_meanTrue, full_batchTrue, enable_parallel_optimizerTrue, search_modesharding_propagation ) # 多维并行切分参数 set_algo_parameters( fully_use_devicesTrue, tensor_parallelTP_SIZE, pipeline_parallelPP_SIZE, data_parallelDP_SIZE ) return rank_id # 执行初始化 if __name__ __main__: rank init_ascend_mixed_parallel()MindSpore 自动并行模块根据多维配置自动完成张量权重切分、流水线 stage 分配、梯度聚合、HCCL 通信域创建。四、昇腾集群启动脚本msrun 分布式拉起start_cluster.sh适配多服务器昇腾集群RoCE 网络 HCCL#!/bin/bash # 昇腾集群多维混合并行启动脚本 export HCCL_IF_IP192.168.1.0/24 # RoCE网卡网段 export HCCL_ALLOW_P2P_WITH_MULTI_STREAM1 export ASCEND_RT_VISIBLE_DEVICES0,1,2,3 # 全局总卡数 DP*TP*PP 2*2*28卡 msrun --worker_num8 \ --local_worker_num4 \ --master_addr192.168.1.10 \ --master_port29500 \ --log_dir./parallel_log \ python train_mixed_parallel.py关键环境变量HCCL_IF_IP 指定 RoCE 网卡跨机并行必须配置多机集群所有节点执行该脚本自动构建全局通信域。五、HCCL 通信调试脚本定位集群并行通信瓶颈# hccl_check.sh 检测集群NPU间通信连通性 #!/bin/bash export HCCL_IF_IP192.168.1.0/24 # HCCL单机/跨机带宽测试 ascend-samples hccl_test \ --device_num8 \ --test_typeallreduce \ --data_size102400000多维混合并行场景TP 依赖单机 AllReduceDP/PP 依赖跨机 AllGather、Send/Recv。通信测试用于判断 RoCE 网络是否成为并行训练瓶颈。六、多维并行负载与拓扑优化代码约束策略# 并行拓扑约束TP尽量限制单机内减少跨机通信开销 from mindspore.parallel import set_parallel_constraint def set_ascend_topology_constraint(): # 张量并行维度不跨服务器优化通信时延 set_algo_parameters(tensor_parallel_within_serverTrue) # 流水线Stage均衡分配避免部分NPU空闲 set_algo_parameters(pipeline_balance_virtual_pipelineTrue) # 开启虚拟流水线提升PP利用率 ms.set_auto_parallel_context( pipeline_stagesPP_SIZE, virtual_pipeline2 ) set_ascend_topology_constraint()昇腾集群实践规范TP 布局单机内部PP 可以跨节点DP 维度全局扩展。违背该拓扑会引发 RoCE 流量暴涨训练吞吐量暴跌。七、典型问题与集群架构调优要点通信域冲突多维并行会创建多个 HCCL 子通信组MindSpore 自动管理旧版本框架建议手动划分通信域避免集合通信互相抢占带宽。显存不均衡PP 流水线并行不同 stage 计算量不均启用virtual_pipeline虚拟流水线提升昇腾 NPU 利用率。网络瓶颈TP 优先单机减少跨机 AllReduce超大模型 PP 跨节点时RoCE 交换机开启优先级队列。启动进程匹配WorldSize严格等于 DP×TP×PP进程数量不匹配直接触发并行初始化失败。八、总结昇腾 AI 集群服务器依托 NPU 硬件、HCCL 高速通信、MindSpore 自动并行框架实现 DP/TP/PP/EP 多维混合并行架构。多维并行解决超大模型训练显存墙问题合理的维度切分与集群拓扑布局平衡算力、显存、通信带宽三者关系。从工程落地角度开发者通过 MindSpore 并行接口配置多维参数配合 msrun 集群调度脚本拉起分布式任务依托 HCCL 环境变量绑定 RoCE 网卡保障跨服务器通信性能。多维并行不是维度越大越好需要结合昇腾服务器单机卡数、交换机组网结构调整 TP/PP/DP 配比。在千亿大模型训练场景多维混合并行是昇腾集群标准部署方案配合集群负载调度、通信性能监控充分释放集群整体算力。