← 课程库
预训练工程模块四 · 并行训练概念12 分钟

数据并行与 ZeRO

多卡怎么分工:先说最基础的一种

学完这节你能:
  • 理解数据并行的做法
  • 看出数据并行的显存冗余
  • 理解 ZeRO 如何消除冗余

最直接的多卡方式是数据并行:每张卡放一份完整模型,各喂不同数据,算完梯度再 All-Reduce 汇总同步。简单,但每张卡都存了完整的参数+梯度+优化器态,冗余巨大。

  • 数据并行(DP):模型复制到每张卡,数据切分;梯度用 All-Reduce 平均后各自更新。
  • 问题:N 张卡就有 N 份完整的优化器态/梯度/参数——显存严重浪费。
  • ZeRO:把优化器态、梯度、参数分片到不同卡上,各卡只存自己那一份,需要时再通信取用,显存随卡数近线性下降。

🔑 ZeRO 分三级:Stage1 切优化器态、Stage2 再切梯度、Stage3 连参数也切。级别越高越省显存、通信越多。FSDP 是同一思想的主流实现。

自测ZeRO 相比朴素数据并行,主要优势是:
// 带走一句话

数据并行=每卡整份模型+切数据+All-Reduce 梯度,但显存冗余大;ZeRO 分片优化器态/梯度/参数消冗余。

独立练习

做到这些,才算完成本节

  1. 合上正文,用自己的话解释核心概念。
  2. 写出一个相似概念,并说明两者最关键的区别。
学习记录

记录本节阅读进度

建议先独立回答自测。读完记录不等于已经掌握。

继续下一课
← 上一课
显存优化:梯度检查点与激活重计算
下一课 →
流水线并行与张量并行(3D 并行)

学完不要急着赶进度:去练习自测,或完成对应的阶段实验