速答 · 约 4 分钟

meituan-distributed-training

一句话结论

我会严格按给定事实组织内容,控制首段答法和全文字数,并检查标题、追问格式及禁用表达。--- slug: meituan-distributed-training question: "分布式训练有哪些技术?" oneLine: "分布式训练先分数据并行、张量并行、流水线并行,再按卡数和模型规模组合,并用 ZeRO、DeepSpeed 或 Megatron 实现。" category: jingchang company: meituan,baidu track: algo-general tags: [分布式训练, 并行技术, 大模型面试] minutes: 5 order: 216 updated: 2026-09-29 deep:

先这样答

分布式训练主要采用数据并行、张量并行和流水线并行,再结合 ZeRO,并用 DeepSpeed 或 Megatron 框架实现。面试时先分类,再解释每种方式切什么、通信特点和显存处理方式。最后按卡数和模型规模说明组合。

数据并行让每张卡放完整模型,只把数据切开。张量并行把层内矩阵切到不同卡,通信量大,适合机内。流水线并行按层切到不同卡,执行时会有气泡。ZeRO 切分优化器状态、梯度和参数,省显存。数据并行切数据,张量并行切层内矩阵,流水线并行切层。三类方式的切分对象不同,答题时要把这个区别说清楚。实际选型不能只报框架名,要先看卡数和模型规模,再决定三类并行怎么组合。最后说明用 DeepSpeed 或 Megatron 实现。

面试官会怎么追问

  • 「数据并行、张量并行、流水线并行怎么区分?」 数据并行切数据,每张卡保留完整模型。张量并行切层内矩阵,通信量大,适合机内。流水线并行按层切卡,执行时会有气泡。三者的切分对象分别是数据、层内矩阵和模型层。

  • 「ZeRO 在分布式训练里解决什么问题?」 ZeRO 切分优化器状态、梯度和参数。它针对的是这些训练内容占用显存的问题。它可以和数据并行、张量并行、流水线并行一起放进选型里考虑。

  • 「实际项目怎么选择并行方式?」 先看卡数和模型规模。再判断三类并行怎么组合,并说明每种方式切什么、通信特点是什么。实现层面可以选择 DeepSpeed 或 Megatron。回答时要把组合依据讲出来,不能只列技术名。

回答的坑

  • 把数据并行、张量并行和流水线并行混成同一种切分方式,答题就失去分类。
  • 只说 DeepSpeed 或 Megatron,不说卡数、模型规模和并行组合,不能完成选型回答。
—— 本题完 ——