---
name: distributed-training
description: 分布式训练深挖：并行策略、ZeRO/FSDP、通信重叠、MFU、checkpoint 与故障、RL 训练系统。
keywords: [分布式训练, distributed training, megatron, deepspeed, zero, fsdp, 张量并行, 流水并行, 序列并行, mfu, checkpoint, 混合精度, 训练稳定性, loss 尖峰, rl 训练系统, rollout]
layer: detail
domains: [ai-infra, ai-algorithm]
---

## 面试官在意什么

这本是训练侧的系统深挖：把一个模型在几十到几千张卡上训起来、训得稳、训得满。面试官算的是 MFU、通信占比、checkpoint 恢复时间；追的是慢节点、掉卡、loss 尖峰这些真实故障的时间线。2026 年多了一块：RL 后训练的系统（rollout 与训练分离、推理引擎与训练框架的权重同步）成了大模型团队的日常。

## 项目 / 实习怎么深挖

简历上出现下面这类经历时从哪里切、追什么。追到候选人能说出机制、数字的来源与一次真实的故障或取舍才算实；只有框架名与结论、说不出自己那一段的，记为危险信号。通用的追问方法见 project-deep-dive。

- 简历出现千卡训练 / Megatron / DeepSpeed → 追并行配置与理由、MFU、通信占比、checkpoint 间隔与恢复时间
- 简历出现 FSDP / ZeRO → 追用了哪一级、显存省了多少、通信多了多少
- 简历出现训练事故 → 追 loss 尖峰、掉卡、NCCL 超时怎么发现与处理、事后改了什么
- 简历出现混合精度 → 追 BF16 还是 FP16、溢出怎么处理、哪些层保留高精度
- 简历出现 RL 训练系统 → 追 rollout 怎么跑、权重怎么同步到推理引擎、吞吐瓶颈在哪
- 简历出现"训练加速 X%" → 追基线、测量条件、是吞吐还是收敛速度

## 常见失守与危险信号

- 并行策略选择：只会背名字；说不出各并行的通信量与适用层；配置照抄
- ZeRO 与 FSDP：说不出三级各分了什么；不知道通信换显存的代价
- 通信与重叠：不知道通信占比；没做过重叠
- MFU 与性能分析：不知道 MFU；不会从 profiler 找训练瓶颈
- checkpoint 与故障恢复：间隔拍脑袋；同步写阻塞训练；掉卡只会重跑
- 混合精度与数值稳定：loss 尖峰只答"调小学习率"；不知道溢出与梯度裁剪
- 数据管线与 IO：训练等数据不知道；shuffle 与打包影响不清楚
- RL 训练系统：不知道 rollout 是成本大头；权重同步靠重启

## 常考主题清单

只列名字、阶梯与答实的标志，作"问到哪一层算实"的参考；问哪些、问几道由这份 JD 与这份简历定，不是配额。

### 训练稳定性与并行基础
- 阶梯：loss 不降或 NaN 的排查顺序 → 混合精度（BF16 / FP16）溢出、梯度裁剪、学习率与 batch size 的关系 → 数据并行、张量并行、流水并行、序列并行各解决什么瓶颈；ZeRO 的三级 → 千卡训练的故障（慢节点、掉卡、通信）与 checkpoint 策略
- 答实的标志：有排查清单（先查数据再查 lr 再查精度）；能说出各并行方式的通信量与适用层；知道 checkpoint 频率与恢复时间的取舍

### 并行策略的选择
- 阶梯：数据并行、张量并行、流水并行、序列并行、专家并行各切什么、通信在哪 → 张量并行为什么一般不跨机、流水并行的气泡怎么减 → 给定模型规模与卡数怎么配并行度；显存、通信、气泡三者怎么权衡 → MoE 与长序列训练对并行的额外要求
- 答实的标志：能给出某规模模型的并行配置与理由；能算通信量；知道每种并行的失效条件

### ZeRO 与 FSDP
- 阶梯：优化器状态、梯度、参数三级分片各省多少显存、多多少通信 → FSDP 的分片与重聚时机；与张量并行组合 → 显存够了但速度慢怎么排查是通信还是重聚 → 什么规模用 ZeRO 就够、什么时候必须上模型并行
- 答实的标志：能算三级各省的显存；知道通信换显存的代价；有组合使用的经验或推演

### 通信与计算重叠
- 阶梯：训练一步里通信占多少、为什么会成为瓶颈 → 梯度分桶、异步 all-reduce、流水并行的 1F1B 各怎么重叠 → 重叠后仍慢怎么查（带宽、拓扑、慢节点）→ 网络拓扑（NVLink、IB、跨机）对并行选择的影响
- 答实的标志：有通信占比数字；知道重叠的实现方式；能说出拓扑对配置的影响

### MFU 与训练性能分析
- 阶梯：MFU 怎么算、为什么千卡训练常在 40% 上下 → 训练一步的时间去哪了：计算、通信、数据、同步 → 从 profiler 定位训练瓶颈的顺序 → 提升 MFU 的常见手段与各自代价（激活重计算、融合、更大 batch）
- 答实的标志：能算 MFU；有一次训练性能分析的过程；知道各手段的代价

### checkpoint 与故障恢复
- 阶梯：checkpoint 存什么、多久存一次、同步写为什么阻塞训练 → 异步写、分片写、增量写各解决什么 → 掉卡、慢节点、NCCL 超时怎么表现、怎么自动检测与替换 → 恢复时间与丢失的训练量怎么权衡；弹性训练
- 答实的标志：有 checkpoint 策略的依据；异步写有方案；有一次故障的时间线与事后改进

### 数据管线与 IO
- 阶梯：训练为什么会等数据 → tokenize、打包、shuffle 放离线还是在线；数据加载的并行与预取 → 数据顺序对训练的影响；断点续训时数据怎么对齐 → 存储带宽、格式（分片、列式）与成本
- 答实的标志：知道数据等待怎么测；断点续训的数据对齐有方案；有 IO 瓶颈的处理案例

### RL 训练系统
- 阶梯：为什么 RL 后训练的系统与预训练不同：要在线生成（rollout）→ rollout 用推理引擎、训练用训练框架，权重怎么同步、多久同步一次 → rollout 与训练怎么并行、吞吐瓶颈在哪、长回答怎么处理 → 奖励计算（判分器、奖励模型）放在哪、怎么扩展
- 答实的标志：知道 rollout 是成本大头；权重同步有方案与频率；能说出吞吐瓶颈与处理
