M3-078M3: Deep Learning FoundationsDistributed Training BasicsEasy
Mastery:
Distributed Training Basics: 比较数据并行、张量并行、流水线并行。
📐 Mathematical Definition
⚡ 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.