🌐 Distributed Training & Inference · 3D Parallelism + MoE
什么是大模型分布式并行:DP · TP · PP · EP?
单张显卡装不下千亿万亿参数!看懂万卡集群如何通过‘分批写作业、分工算矩阵、流水线接力、专家门诊分配’完成现代大模型的极限协同!
数据并行 · DP
Data Parallel
💡 核心比喻: ‘一人复印一份相同的完整课本,各自分工刷不同的练习题,最后碰头对答案(同步梯度)’!
每个 GPU 存有一份完整的模型参数。输入数据(Batch)被切分到不同卡上。每步计算完后通过 All-Reduce 汇总各卡梯度 并统一更新权重。
📶 通信频率:低(每步最后通信一次)
张量并行 · TP
Tensor Parallel
💡 核心比喻: ‘一道超复杂的超大乘法算式,拆成两半,左边两人算前一半,右边两人算后一半,算完立刻交头接耳拼出答案’!
把 Transformer 内部的一个单一权重矩阵(如 MLP 或 Self-Attention)横着或竖着切开分给多个 GPU,每算一层就必须用 NVLink 高速同步一次。
⚡ 通信要求:极高(必须机内 NVLink 直连)
流水线并行 · PP
Pipeline Parallel
💡 核心比喻: ‘做汉堡流水线:1号工位烤面包,烤好递给2号夹牛肉,2号递给3号抹酱料,一层接一层往后传’!
把模型的 80 层 Transformer 按深度分段:GPU 1 负责第 1~20 层,算完传给 GPU 2 算 21~40 层。利用 1F1B 调度填补流水线气泡(Bubble)。
📦 通信要求:中低(仅传递层间激活值)
专家并行 · EP
Expert Parallel
💡 核心比喻: ‘三甲医院专家会诊:卡1坐诊心内科专家,卡2坐诊骨科专家,病人(Token)挂号后由路由器精准派送给指定专家’!
专属于 MoE(混合专家模型,如 DeepSeek / Mixtral)!把 64 个或 256 个子专家分散放到不同 GPU 上,通过门控路由(Router)与 All-to-All 动态网络分发进行激活。
🔀 通信模式:All-to-All 动态全交换
📊 核心维度全面对比矩阵
| 并行策略 | 切分对象 | 内存占用 | 通信开销与频次 | 适合的物理网络拓扑 | 主流代表开源框架 |
|---|---|---|---|---|---|
| 数据并行 (DP / FSDP) | 训练数据批次 (Batch) | 每卡全量 / FSDP 零冗余切片 | 每步反向传播聚合梯度 (All-Reduce) | 跨节点普通集群 (RoCE / IB / 以太网) | PyTorch DDP, DeepSpeed ZeRO, FSDP |
| 张量并行 (TP) | 层内矩阵 (Weight 权重) | 单卡仅占 1/N 权重与显存 | 极高!每层前向反向均需通信 (All-Reduce) | 严苛!仅限单机内部 NVLink / NVSwitch | Megatron-LM, vLLM, TensorRT-LLM |
| 流水线并行 (PP) | 模型层数深度 (Layers) | 单卡仅占部分层参数与激活值 | 较低,仅相邻阶段传递中间隐藏状态 | 跨机柜网络 (InfiniBand / 400G RoCE) | Megatron-LM Pipeline, DeepSpeed |
| 专家并行 (EP) | MoE 混合专家子网络 | 专家参数打散在不同卡 | 不规则 All-to-All 动态跨卡转发 | 跨卡直连网与高带宽交换 Fabric | DeepSeek, Megatron-MoE, vLLM MoE |
🎮 交互模拟器:推演万亿大模型在不同集群规模下的切分组合
点击查看经典模型训练/推理时的切分实战配置: