资讯动态

Megatron-Bridge 并行化策略完整指南:TP、PP、EP、CP 混合并行如何组合最优

发布时间:2026/10/23 4:13:40 来源:尧图企业网站定制
人工智能大模型预训练微调LoRA分布式训练多模态【免费下载链接】Megatron-BridgeTraining library for Megatron-based models with bidirectional Hugging Face conversion capability项目地址https://gitcode.com/gh_mirrors/me/Megatron-Bridge点击查看免费下载Megatron-Bridge 是一款面向 Megatron 架构的大模型训练库支持 Hugging Face 双向转换其核心能力之一就是把**张量并行TP、流水线并行PP、专家并行EP、上下文并行CP与数据并行DP**自由混合组合帮助新手也能在有限 GPU 上高效训练大模型。本文用通俗的语言讲清每种并行的原理、配置参数以及混合并行的选型技巧。Megatron-Bridge 在 NeMo 框架中的位置覆盖数据准备、预训练/SFT/LoRA、后训练对齐与推理全流程一、为什么大模型训练需要混合并行一张 GPU 显存再大也装不下几十 B 甚至上千 B 参数模型的全部参数 梯度 优化器状态 激活值。以 70B 模型 FP16 训练为例无并行时总显存需求高达608 GB而 TP4、PP4、DP464 张 GPU组合后单卡只需约38 GB。并行策略大体分两类类别策略一句话原理数据并行DP / DDP / 分布式优化器每张卡存完整模型副本数据切开梯度同步模型并行TP / PP / EP把模型本身切开摊到多张卡上激活切分SP / CP沿序列维度切分激活省长序列显存数据并行DDP多卡各存一份模型训练前用 all-reduce 汇总梯度是 Megatron-Bridge 的默认部署方式Megatron-Bridge 中 DDP 是默认开启的总卡数对应 DP 组大小一旦启用模型并行DP 组大小自动缩小。再配合分布式优化器use_distributed_optimizerTrue可把优化器状态分片到各 DP 卡上大幅降低显存。二、四种核心模型并行策略逐个拆解1. 张量并行 TP把一层的权重切开TP 将单个 Transformer 层内的权重矩阵横向切分到多张 GPU 上同时降低参数显存和激活显存。TP2 时每层的权重矩阵被切成两份分别放在两张卡上启用方式在模型 provider 中设置tensor_model_parallel_size源码入口见 src/megatron/bridge/models/gpt_provider.pymodel_config GPTModelProvider( tensor_model_parallel_size4, # 在 4 张 GPU 间切分张量 )⚠️ 经验法则TP 尽量限制在单机 NVLink 域内TP ≤ 8跨节点做 TP 几乎总是性能损失。2. 流水线并行 PP把连续层段分配到不同 GPUPP 将模型按层切成若干段每段放在一组 GPU 上像流水线一样依次处理微批。PP 将连续层段分配到多组 GPU微批在流水线中依次推进启用方式设置pipeline_model_parallel_size。普通 PP 会产生流水线气泡空闲等待可通过virtual_pipeline_model_parallel_size启用交错流水线调度显著缩小气泡model_config GPTModelProvider( pipeline_model_parallel_size4, virtual_pipeline_model_parallel_size2, # 每级流水线再分 2 个层块 )PP 可以跨节点工作是跨机扩展的主力策略但需要仔细调节 batch size。3. 专家并行 EPMoE 模型的扩展主维度MoE混合专家模型中每个 token 只激活部分专家**专家并行EP**把这些专家分布到不同 GPU 上——注意 EP 只作用于专家层不影响其余层的并行映射。EP4 时8 个专家被均匀分到 4 张 GPU每张卡承载 2 个专家启用方式num_moe_experts必须能被expert_model_parallel_size整除model_config GPTModelProvider( num_moe_experts8, expert_model_parallel_size4, # 8 个专家分到 4 卡 expert_tensor_parallel_size2, # 可选专家内部再做 TP )MoE 的关键认知TP 按激活参数而非总参数来选。DeepSeek-V3总参 671B / 激活 37B只需 TP2而不是像 70B 稠密模型那样上 TP8EP 才是扩展主维度EP64PP 负责跨节点分深度PP16。4. 上下文并行 CP长序列训练的关键CP 沿序列维度把所有层的激活切分到多张 GPU——与只切部分层激活的序列并行SP不同CP 是应对长上下文8K~32K的核心手段。前向时每卡只存自己那段的 KV反向时通过环形拓扑通信重组。与 TP 配套的序列并行SP把注意力中的 LayerNorm/Dropout 等沿序列维切分需tensor_model_parallel_size 1启用方式model_config GPTModelProvider( context_parallel_size2, # 序列切到 2 张 GPU sequence_parallelTrue, # 2K-8K 序列建议开启 SP )⚠️ 两个易踩的坑SP 必须搭配 TP1CP 要求seq_length % (2 × context_parallel_size) 0。三、混合并行多策略组合与 GPU 数计算Megatron-Bridge 允许把以上策略任意混合。典型 4D/5D 组合配置完整示例见 docs/parallelisms.mdmodel_config GPTModelProvider( # 模型并行 tensor_model_parallel_size2, pipeline_model_parallel_size4, virtual_pipeline_model_parallel_size2, # 激活切分 sequence_parallelTrue, context_parallel_size2, # MoE 专家并行 num_moe_experts8, expert_model_parallel_size4, )DP 组大小自动推导无需手动配置稠密模型DP world_size / (TP × PP × CP)例如 32 卡、TP2、PP4、CP2 → DP2MoE 模型EDP world_size / (PP × EP × ETP)常见误区MoE 配置的最小 GPU 数不是各维度连乘而是min_gpus PP × max(TP×CP, EP×ETP)——稠密 TP×CP 网格与 MoE EP×ETP 网格在每个 PP stage 内共享同一批 GPU。例如 PP1、TP2、EP8 只需8 卡而非 16 卡。并行状态在 src/megatron/bridge/training/initialize.py 中统一初始化整体配置容器为 src/megatron/bridge/training/config.py 中的ConfigContainer。四、最优并行组合怎么选一张表搞定按模型规模选稠密模型模型规模GPU 数推荐起步配置 1B1-8仅 DP1-10B8-16TP2-4 DP10-70B16-64TP4-8 PP2-4 DP70-175B64-256TP8 PP4-8 DP175-500B256-1024TP8 PP8-16 CP2 DP按模型规模选MoE 模型总参/激活参规模典型布局 20B仅 EPTP1, PP120-100BTP1-2 PP2-4 EP8-16100-500BTP2-4 PP8-16 EP8-32500BTP2 PP16 EP32-64真实案例DeepSeek-V3 671B → TP2 / PP16 / EP64Kimi-K2 1T → TP2 / PP16 / EP32。按硬件拓扑与序列长度微调单机 NVLink最大化节点内 TP至多 TP8多机 InfiniBandTP 留在节点内用 PP 跨节点扩展以太网等受限网络最小化 TP跨节点优先 PP序列 2K标准 TPPPDP2K-8K加 SP8K-32K加 CP232KCP4-8更多选型细节与验证命令见 skills/nemo-mbridge-perf-parallelism-strategies/SKILL.md。五、避坑清单新手最容易犯的错误TP 跨节点——吞吐暴跌务必限制在单个 NVLink 域内PP 不开交错——气泡严重尽量设置virtual_pipeline_model_parallel_size只开 SP 不开 TP——sequence_parallelTrue但tensor_model_parallel_size1是配置错误EP 用于稠密模型——expert_model_parallel_size对非 MoE 模型无效或报错序列长度不整除——CP 要求seq_length % (2 × CP) 0盲目照搬表格——选型表是起点务必先跑第一步 profiling 验证显存与通信进阶提示当通信成为瓶颈时可进一步开启通信重叠如tp_comm_overlap、overlap_moe_expert_parallel_comm把通信隐藏在计算之下指南见 docs/training/communication-overlap.md。六、快速上手4 卡验证你的并行布局配好并行后用最小 recipe 做一次冒烟测试即可确认布局正确uv run python -m torch.distributed.run --nproc_per_node4 \ scripts/training/run_recipe.py \ --recipe llama32_1b_pretrain_config \ model.tensor_model_parallel_size2 \ model.pipeline_model_parallel_size2 \ model.sequence_parallelTrue \ train.train_iters3 train.global_batch_size8 train.micro_batch_size1成功标准退出码 0、第 3 步 loss 为有限值、日志显示TP2 PP2 DP1布局。更多并行化实践MoE 优化、长上下文、通信重叠可参考 docs/training/ 下的各篇专题文档。结语记住三句话就能用好 Megatron-Bridge 的混合并行TP 看激活参数、留在节点内PP 管跨节点深度、记得开交错EP 是 MoE 扩展主维度CP 专治长序列。DP 会按公式自动补齐先用推荐表起步再用 profiling 微调就能为你的模型找到显存与吞吐的最优平衡点。赞分享人工智能大模型预训练微调LoRA分布式训练多模态【免费下载链接】Megatron-BridgeTraining library for Megatron-based models with bidirectional Hugging Face conversion capability项目地址https://gitcode.com/gh_mirrors/me/Megatron-Bridge点击查看免费下载相关推荐Megatron-Core 并行策略完全指南DP/TP/PP/SP/CP/EP 六维并行选型、配置与调优实战Megatron Core 并行策略完全指南DP/TP/PP/SP/CP/EP 六维并行选型、配置与调优实战 本篇技术指南以 NVIDIA MegatronAI 技能人工智能大模型深度学习深入NeMo AutoModel分布式训练FSDP2、HSDP、TP、PP并行策略组合实战指南深入NeMo AutoModel分布式训练FSDP2、HSDP、TP、PP并行策略组合实战指南 NeMo AutoModelAutomodel是 NVIDTensorRT-LLM 多 GPU 与多节点推理部署完全指南TP/PP/EP 并行策略实战TensorRT LLM 多 GPU 与多节点推理部署完全指南TP/PP/EP 并行策略实战 导读 本文以 AI Research SKILLs 仓库中 TeAI 技能人工智能大模型深度学习上一篇MuPDF JavaScript 绑定中的 Page 对象渲染、文本提取、链接管理与条码识别的完整 API 指南下一篇Dolphin 映像转换RVZ Zstd 帮你省一半空间创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑