跳到主要内容

LLM 并行通信总览

大模型分布式训练和推理中,不同的并行策略对应特定的集合通信模式。理解并行策略与通信原语的映射关系,是分析通信瓶颈、选择集合通信算法、优化端到端性能的前提。


名词定义

名词定义
TP(Tensor Parallelism,张量并行)将单个权重矩阵按列/行切分到多设备,每层通过 AllReduce 合并部分积,是带宽最敏感的并行维度
PP(Pipeline Parallelism,流水线并行)将模型按层划分为多个 stage,stage 间通过 P2P 传递激活值,bubble 率是主要效率损失来源
DP(Data Parallelism,数据并行)每个 worker 持有完整模型副本,训练后通过 AllReduce 同步梯度,通信量与模型参数量正相关
EP(Expert Parallelism,专家并行)MoE 模型中将 Expert 分布到不同设备,用 AllToAll 实现 token 路由,通信量由 top-K 和 batch size 决定
SP(Sequence Parallelism,序列并行)将序列维度切分到 TP 组内各设备,与 TP 协同工作,通过 AllGather + ReduceScatter 替换 TP 的 AllReduce
ZeRO(Zero Redundancy Optimizer)将优化器状态、梯度、参数分别分片到不同 DP worker,消除冗余显存,代价是引入 AllGather/ReduceScatter 通信
MFU(Model FLOPS Utilization)实际计算吞吐与芯片理论峰值算力的比值,通信空泡会直接压低 MFU
Bubble 率流水线并行中,因 micro-batch 调度导致 stage 处于空闲等待的时间占比,随 PP 度增大而上升
Micro-batchPP 中为填充流水线而将一个 global batch 切分成的更小批次,数量越多 bubble 率越低但内存压力越高
计算通信 OverlapDMA 引擎在计算单元执行 matmul 时并发传输数据,掩盖通信延迟,是提升 MFU 的关键技术

并行策略分类

策略全称一句话定义
TPTensor Parallelism(张量并行)将单个权重矩阵按列/行切分到多设备,每层通过集合通信合并部分积
PPPipeline Parallelism(流水线并行)将模型按层划分为多个 stage,stage 间通过 P2P 传递激活值
DPData Parallelism(数据并行)每个 worker 持有完整模型副本,训练后通过 AllReduce 同步梯度
EPExpert Parallelism(专家并行)MoE 模型中将 Expert 分布到不同设备,用 AllToAll 实现 token 路由
SPSequence Parallelism(序列并行)将序列维度切分到 TP 组内各设备,与 TP 协同工作

各策略产生的通信原语对照表

并行策略通信原语触发时机通信量公式消息大小量级
TPAllReduce每层前向 Attention 和 MLP 各一次(训练时反向再各一次)$b \times s \times h \times \text{dtype}$(消息大小 $M$;Ring AllReduce 有效传输量约 $2M$10 ~ 100 MB
PPP2P Send/Recv每个 micro-batch 在 stage 边界传递激活值$b \times s \times h \times \text{dtype}$10 ~ 100 MB
DPAllReduce每个 training step 反向传播结束后同步梯度$\theta
EPAllToAll每个 MoE 层 Dispatch 和 Combine 各一次$B \times K \times h \times \text{dtype}$0.1 ~ 60 MB
SPAllGather + ReduceScatter每层 LayerNorm/Dropout 前后各一次(与 TP 替换关系)$b \times s \times h \times \text{dtype}$10 ~ 100 MB

符号说明:$b$ = micro-batch size,$s$ = 序列长度,$h$ = hidden dimension,$|\theta|$ = 模型参数量,$B$ = token 总数,$K$ = top-K expert 数。


通信与计算的关系

计算-通信重叠(Compute-Communication Overlap)

在理想情况下,通信操作与计算操作可以并行执行,从而隐藏部分通信延迟:

$T_{\text{overlap}} = \max(T_{\text{compute}}, T_{\text{comm}})$

而非串行的 $T_{\text{compute}} + T_{\text{comm}}$

各策略的重叠潜力

并行策略重叠潜力原因
TP AllReduce低(推理)/ 中(训练)前向中 AllReduce 在关键路径上,无法与同层计算重叠
PP P2PPipeline bubble 阶段可部分插入通信
DP AllReduce反向传播时可逐层 overlap 梯度同步
EP AllToAllExpert 计算期间可预取下一层通信(需显式流水线)
SP AllGather + ReduceScatterAllGather 可与 Attention/MLP 计算重叠

推理 vs 训练的通信特征差异

维度推理训练
主要通信TP AllReduce + EP AllToAllDP AllReduce + TP AllReduce + EP AllToAll
DP 通信无(各副本独立处理请求)梯度 AllReduce(最大通信量)
通信/计算比高(小 batch,计算量少)低(大 batch,计算量大)
重叠机会少(前向无法重叠)多(反向可重叠梯度同步)
延迟敏感性极高(影响 TTFT/TPOT)中等(影响总训练时间)

文档导航

文档内容
01-张量并行.md张量并行(TP)的列/行切分原理、AllReduce 通信模式与开销分析
02-流水并行.md流水线并行(PP)的 stage 切分、P2P 通信与 pipeline bubble 分析
03-数据并行.md数据并行(DP)的梯度同步机制、AllReduce 通信量与训练/推理差异
04-专家并行.md专家并行(EP)的 MoE 路由机制、AllToAll Dispatch/Combine 通信分析
05-序列并行.md序列并行(SP)与 TP 的协同关系、AllGather + ReduceScatter 替换 AllReduce 的 overlap 优势
06-计算通信overlap.md计算-通信重叠技术原理、各并行策略的 overlap 实现方式与效果分析

参考文献

  • Shoeybi et al., "Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism", arXiv 2019
  • Narayanan et al., "Efficient Large-Scale Language Model Training on GPU Clusters Using Megatron-LM", SC 2021
  • Rajbhandari et al., "ZeRO: Memory Optimizations Toward Training Trillion Parameter Models", SC 2020
  • Korthikanti et al., "Reducing Activation Recomputation in Large Transformer Models", MLSys 2023
  • Fedus et al., "Switch Transformers", JMLR 2022