← 返回题库
推理与部署困难

数据并行/张量并行/流水线并行/ZeRO 区别?

#数据并行#张量并行#流水线并行#ZeRO 1/2/3

题目

大模型训练与推理常用数据并行(DP)、张量并行(TP)、流水线并行(PP)、ZeRO。请对比四者的切分对象、通信开销与适用场景。

参考答案

数据并行(Data Parallelism, DP)

  • 切分对象:数据。每张卡持有完整模型副本,处理不同 batch。
  • 通信:反向传播后 all-reduce 同步梯度。
  • 限制:模型必须能放进单卡;大模型装不下时失效。

张量并行(Tensor Parallelism, TP)

  • 切分对象:层内权重矩阵。把大矩阵按列/行切分到多卡,每卡算一部分。
  • 通信:每层 forward/backward 都需 all-reduce(或 all-gather)拼接结果,通信极频繁
  • 适用:单机多卡(NVLink 高带宽内),代表 Megatron-LM。

流水线并行(Pipeline Parallelism, PP)

  • 切分对象:层间。把模型按层切到多卡,每卡负责一段,输入按序流过。
  • 通信:只在层边界传激活,通信稀疏但点对点
  • 痛点:气泡(bubble)——前向未到后段时后段空等。用 micro-batching 缓解。
  • 适用:跨机大模型,代表 PipeDream、Megatron。

ZeRO(Zero Redundance Optimizer,DeepSpeed)

  • 切分对象:优化器状态、梯度、参数的显存冗余。分三级:
    • ZeRO-1:切分优化器状态(FP32 主副本 + Adam 矩)。
    • ZeRO-2:再切分梯度。
    • ZeRO-3:再切分模型参数(前向需 all-gather 临时拼回)。
  • 本质:DP 的增强版,把单卡冗余显存分摊到多卡,让单卡能装下更大模型。

对比表

方案切分通信频率适合拓扑代表
DP数据反向 1 次/步任意通用
TP层内权重每层 2 次单机 NVLinkMegatron
PP层间层边界跨机PipeDream
ZeRO-3优化器/梯度/参数前向 all-gather + 反向 reduce任意DeepSpeed

实践组合:超大模型常 3D 并行 = DP + TP + PP,例如 8 卡单机 TP,多机 PP,外层 DP/ZeRO。

面试加分点

  • 指出 TP 通信最重,几乎只在单机 NVLink 内划算;跨机用 PP 或 ZeRO。
  • ZeRO-3 与 TP 都让单卡装下大模型,但 ZeRO-3 用通信换显存(前向 all-gather),TP 用通信换算力。
  • 推理阶段常用 TP(单机多卡)或 ZeRO-3 + PagedAttention。

出处:DeepSpeed 论文与文档、Megatron-LM 文档、分布式训练面经。

内容来源

整理自 DeepSpeed/Megatron-LM 文档与分布式训练面经

本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。