M3-084M3: Deep Learning FoundationsDistributed Training BasicsHard
Mastery:

Distributed Training Basics: 解释 3D 并行与序列并行(sequence parallelism)。

📐 Mathematical Definition
total GPUs=DP×TP×PP;SP: split along sequence dim\text{total GPUs}=\text{DP}\times\text{TP}\times\text{PP};\qquad \text{SP}:\ \text{split along sequence dim}
⚡ Executive Summary
Core Concept: 3D 并行 = 数据并行 × 张量并行 × 流水线并行;序列并行把 LayerNorm/dropout 等非 matmul 部分沿序列维切分。

📌 Key Takeaways

  • •
    3D 并行按'数据/权重/深度'三个维度同时切分
  • •
    SP 解决 TP 后激活仍沿序列维冗余的问题
  • •
    配置原则:节点内 TP+SP、节点间 PP、最外层 DP

📐 Mathematical Derivations

数学机理:<strong>3D 并行</strong>是三种并行维度的组合:<strong>DP</strong>(数据并行,扩吞吐、通信 ∝参数量)+ <strong>TP</strong>(张量并行,切层内权重、通信 ∝激活、需 NVLink)+ <strong>PP</strong>(流水线并行,切层、通信小但有气泡)。总 GPU 数 = DP×TP×PP。<strong>为什么需要 SP</strong>:TP 把权重矩阵切分后,<strong>matmul 的激活也被切分</strong>(如按列切分后每卡只有部分输出),但<strong>非 matmul 的部分</strong>(LayerNorm、dropout、残差相加)在 TP 中仍是<strong>每卡完整计算同一份激活</strong>——即这些算子的激活沿序列维<strong>冗余复制</strong>在 TP 组内。序列越长,这份冗余越大(激活 ∝ L×d)。<strong>序列并行(SP)</strong> 的做法是:把 LayerNorm/dropout 等沿<strong>序列维</strong>切分到 TP 组的各卡上,使每卡只处理 L/TP 个 token 的归一化;而在 matmul 前用 all-gather 把序列拼回来。<strong>关键优化</strong>:SP 的 all-gather 与 TP 的 all-reduce 可以<strong>合并为一次通信</strong>(Megatron 的 SP 实现即如此),使 SP 几乎不增加通信开销,却把激活显存降低 TP 倍。<strong>更进一步</strong>:SP 与 Flash Attention 结合(Megatron 的 SP 变体)可进一步降低注意力激活。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>激活显存的主导地位</strong>——长序列训练时激活显存 ∝ L×d×层数,常超过参数显存;SP 是降低激活的关键手段之一(与检查点、Flash Attention 并列)。② <strong>配置原则的由来</strong>——节点内 NVLink 带宽高 → 放 TP+SP(通信密集);节点间 IB 带宽低 → 放 PP(通信少);最外层 DP(可与计算重叠)。这是'按通信需求匹配带宽层次'的经典设计。③ <strong>与 ZeRO 的组合</strong>——大模型常用 'TP + SP + PP + ZeRO-1'(ZeRO-1 只分片优化器状态,通信代价小);或 'FSDP + TP + SP'。④ <strong>长上下文的完整方案</strong>——SP(省激活)+ GQA/MQA(省 KV cache)+ Flash Attention(省注意力激活)+ RoPE 位置插值(支持更长)+ 上下文并行(context parallel,把序列维切到多卡)。⑤ <strong>通信复杂度的现实</strong>——3D 并行的调试与调优复杂(需平衡各维度、避免某维成为瓶颈);工业上常用 Megatron-LM + DeepSpeed 的组合模板,而非从零实现。⑥ <strong>面试要点</strong>——被问'训练 100B 模型怎么配并行',应给出'<strong>TP=8(节点内)+ SP + PP=若干(跨节点)+ DP(最外)+ ZeRO-1/FSDP</strong>'的具体方案并解释每维的通信特征;这是分布式训练的高阶问题。
⚠️ Common Interview Pitfalls
  • ✕
    认为 TP 之后就无需 SP(非 matmul 部分仍有激活冗余)
  • ✕
    把 SP 与上下文并行(CP)混为一谈
🎯 Interviewer Follow-ups
  • ?
    为什么 TP 之后还需要 SP?
  • ?
    SP 与 TP 的通信如何合并?
📚

Associated Knowledge Base Guides & Mindmaps

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

← PreviousM3-083: Distributed Training Basics: 解释 FSDP 与 ZeRO 的关系与差异。📋Back to BankNext →M3-085: Training Diagnostics & Debugging: 训练 loss 不下降,你会按什么顺序排查?