题目
大模型训练与推理常用数据并行(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 次 | 单机 NVLink | Megatron |
| 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 文档与分布式训练面经
本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。