拿下技术面上传简历

你的模型是 24 层 Transformer,fp16 权重约 30GB,而单卡只有 24GB 显存,加上梯度和 Adam 优化器状态更放不下。有人给你三个方案:(a) DDP 数据并行;(b) 前 12 层放卡 0、后 12 层放卡 1(流水线/层间切分);(c) 把每层权重矩阵按列切一半放两张卡(张量并行)。请分别说明:每个方案每张卡上存了什么、前向一次要发生什么通信,以及在这个 30GB 的场景里哪个能真正解决显存问题、为什么。

深度学习基础训练工程校招知识点 1 个

面试官在考什么

是否真的理解三种并行“切的是哪个维度、通信发生在哪里”,而不是只记住名字;能不能用它判断一个具体显存不足的场景该选哪种。

数据并行/模型并行

回答框架 · 前两步

  1. 数据并行切的是 batch:每张卡都存一份完整模型,反向做梯度 all-reduce。它不减少单卡模型显存,所以 (a) 直接救不了 30GB 放不进 24GB 的问题。
  2. 流水线/层间切分按层把模型分到不同设备,每卡只存自己那几层的参数和优化器状态,显存确实降下来了;相邻 stage 之间只需点对点传激活,通信量小,但要处理各 stage 负载均衡和流水线空泡(bubble)。

还有 3 条答案要点、 3 层追问、 4 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

延伸阅读

想看这个方向的整体准备路线? 进入「深度学习基础」方向页

同一能力域的其他题