M3-078M3: Deep Learning FoundationsDistributed Training BasicsEasy
Mastery:

Distributed Training Basics: 比较数据并行、张量并行、流水线并行。

📐 Mathematical Definition
DP: replicate θ, split D;TP: split W;PP: split layers\text{DP}:\ \text{replicate}\ \theta,\ \text{split}\ \mathcal{D};\quad \text{TP}:\ \text{split}\ W;\quad \text{PP}:\ \text{split layers}
⚡ Executive Summary
Core Concept: 数据并行复制模型、切分数据;张量并行切分单层权重;流水线并行切分层(按 stage);三者常组合为 3D 并行。

📌 Key Takeaways

  • •
    DP 通信量 ∝ 参数量(all-reduce 梯度)
  • •
    TP 通信量 ∝ 激活(每层 all-reduce),需高带宽(NVLink)
  • •
    PP 通信量小(仅 stage 边界)但有流水线气泡

📐 Mathematical Derivations

数学机理:<strong>数据并行(DP)</strong>——每个设备持有<strong>完整模型副本</strong>、处理不同数据分片,反向结束后用 all-reduce 同步梯度(取平均)。优点是实现简单、通信与参数量成正比(一次 all-reduce);缺点是<strong>每设备需存完整模型 + 优化器状态</strong>,模型大到单卡放不下时失效。<strong>张量并行(TP)</strong>——把单层的权重矩阵切分到多设备(如按列切 W₁、按行切 W₂),每层前向/反向需 all-reduce 或 all-gather 中间激活。优点是可切分任意大的层、显存按 TP 度线性下降;缺点是<strong>每层都要通信</strong>、通信量 ∝ 激活大小、延迟敏感,故<strong>必须在同一节点内用 NVLink/高速互联</strong>(跨节点带宽不足会严重拖慢)。<strong>流水线并行(PP)</strong>——按层切分成若干 stage,每设备持有连续几层,micro-batch 依次流过各 stage(类似工厂流水线)。优点是通信量小(仅 stage 边界传激活)、可跨节点;缺点是<strong>流水线气泡</strong>——首尾 stage 在填充/排空阶段空闲,设备利用率下降(气泡比例约 (P−1)/(M+P−1),P 为 stage 数、M 为 micro-batch 数)。<strong>3D 并行</strong>即 DP×TP×PP 组合(如 Megatron-LM 的配置)。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>三者的正交性</strong>——它们切分的是不同维度:DP 切数据、TP 切权重、PP 切深度;理论上可任意组合(受互联拓扑约束)。实践配置原则是'<strong>节点内 TP、节点间 PP、最外层 DP</strong>',因为 TP 需高带宽、PP 带宽需求低、DP 通信可与计算重叠。② <strong>通信量对比</strong>——DP 每步一次 all-reduce(∝参数量);TP 每层两次通信(∝激活);PP 每 micro-batch 传一次边界激活。故 TP 对带宽最敏感。③ <strong>流水线气泡的缓解</strong>——(a) 增大 micro-batch 数 M(气泡 ∝1/M)、(b) 用 interleaved/1F1B 调度(交错前后向)、(c) 用 zero-bubble pipeline 等新调度;但 M 增大会增加激活显存(与检查点冲突)。④ <strong>ZeRO/FSDP 的位置</strong>——ZeRO 是'数据并行的显存优化'(分片优化器状态/梯度/参数),可视为 DP 的改进版;它不与 TP/PP 冲突,常叠加使用(如 ZeRO-3 + TP + PP)。⑤ <strong>序列并行(SP)</strong>——在 TP 基础上把 LayerNorm/dropout 等'非矩阵乘'部分沿序列维度切分,进一步降低激活显存;是长序列训练的常用补充。⑥ <strong>面试要点</strong>——被问'如何训练一个放不下的模型',应给出'<strong>先 ZeRO/FSDP(省显存)→ 再 TP(切层内)→ 再 PP(切层间)→ 配合 DP(扩吞吐)</strong>'的决策顺序,并说明'TP 需 NVLink'这一硬约束。
⚠️ Common Interview Pitfalls
  • ✕
    认为 TP 可以随意跨节点(带宽不足会严重拖慢)
  • ✕
    忽略流水线气泡对利用率的影响
🎯 Interviewer Follow-ups
  • ?
    为什么 TP 要求高带宽而 PP 不要求?
  • ?
    什么是流水线气泡?如何缓解?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM3-077: Training Stability & Mixed Precision: 解释为何混合精度下 LayerNorm / softmax 要保持 FP32。📋Back to BankNext →M3-079: Distributed Training Basics: 解释 ZeRO 的三个阶段。