五厂面经真题集美团面经高频美团真题大模型训练分布式并行速答 · 约 5 分钟更新 2026-09-29

ZeRO-2 和 ZeRO-3 怎么选?

一句话结论

显存够用选 ZeRO-2,模型大到放不下再上 ZeRO-3。ZeRO-2 通信开销较小,是多数微调场景的默认选择。

先这样答

显存够用选 ZeRO-2,模型大到放不下再上 ZeRO-3。这道题出自美团北斗校招一轮面试。多数微调场景默认使用 ZeRO-2。ZeRO-2 的通信开销较少。ZeRO-3 节省显存最多。ZeRO-3 每层前向和反向都要跨卡通信参数,导致训练速度很慢。

这种差异来自底层的切分策略。ZeRO-1 负责切分优化器状态。ZeRO-2 在此基础上增加切分梯度。ZeRO-3 进一步增加切分模型参数。切分的东西越多,单卡省下的显存就越多。

切分参数是拖慢速度的原因。使用 ZeRO-3 训练时,模型每计算一层网络的前向传播,都需要跨卡通信参数。模型计算反向传播时,每层网络还要再跨卡通信参数。频繁的通信占用了大量时间。ZeRO-2 不切分模型参数。它省去了这些跨卡通信步骤。工程师评估显存够用时,直接选 ZeRO-2 能保证训练效率。

面试官会怎么追问

  • 「三个阶段分别切分了什么?」 ZeRO-1 切分优化器状态。ZeRO-2 在此基础上增加切分梯度。ZeRO-3 在前两者的基础上增加切分模型参数。

  • 「为什么多数微调场景默认选择 ZeRO-2?」 ZeRO-2 的跨卡通信较少。ZeRO-3 每层前向和反向都要跨卡通信参数,导致训练速度慢。微调场景只要显存够用,工程师会优先使用 ZeRO-2。

  • 「什么时候必须上 ZeRO-3?」 模型大到单卡放不下时必须用 ZeRO-3。ZeRO-2 不切分模型参数。单卡显存装不下完整参数时,工程师只能用 ZeRO-3 切分参数。

回答的坑

只提 ZeRO-3 节省显存最多,遗漏它每层前向反向都要跨卡通信参数的缺点。

无视显存够用选 ZeRO-2 的判断标准,错误认为切分参数越多的策略越好。

—— 本题完 ——