张量并行Tensor Parallelism、数据并行Data Parallelism和流水线并行Pipeline Parallelism是深度学习大模型训练中三种主要的并行策略它们在粒度、适用场景和通信方式上都有显著区别。我给你做一个对比表方便直观理解特性张量并行Tensor Parallelism数据并行Data Parallelism流水线并行Pipeline Parallelism并行粒度将单个层的计算拆分到多张显卡上层内切分将整个模型复制到多张显卡每张显卡处理不同的样本将模型按层划分成多个阶段每个阶段在不同显卡上执行层间切分适用场景超大模型单层无法放入单卡显存模型可以放入单卡显存但数据量大模型太大单卡显存无法容纳整个模型通信开销需要在层内进行张量通信如 all-reduce 或 all-gather每步前向和反向计算后进行梯度同步all-reduce每个微批次需要传输激活值到下一个阶段通信量取决于微批大小优点能训练单卡显存无法容纳的大层易实现成熟工具支持好扩展性强能训练极大模型减少单卡显存压力缺点通信复杂效率受限于带宽大模型单卡放不下训练延迟增加pipeline bubble实现复杂示意单层拆分 → 并行计算 → 聚合每卡独立前向反向 → 梯度同步模型切分为阶段 → 微批轮流前向 → 阶段间通信⚡组合使用现代大模型训练通常会将这三种策略组合使用张量并行 流水线并行解决单层和整个模型显存限制数据并行在多个流水线或张量分片组上同步梯度提高吞吐量举个例子训练一个 175B 参数的模型时单张卡放不下整个层也放不下整个模型张量并行把每层分到 16 张显卡流水线并行把模型切成 4 个阶段每阶段 16 张显卡数据并行复制流水线组处理不同样本批次这样就可以在 64 张卡上训练超大模型。