HelloAI ← 可视化画廊
⚙️ 系统工程 · 10 分钟

Pipeline Parallelism:4 张卡怎么训一个大模型

单卡装不下 70B 模型——必须把模型切到多卡。但朴素切分会有大量"泡(bubble)"—— GPU 互相等。1F1B 调度解决了它。下面动画化对比。

调度模式:
Micro-batches: 4
流水线调度图(横坐标:时间 →)
Forward Backward Bubble(GPU 闲置)
总时间
0
Bubble 时间
0
GPU 利用率
0%

😴 朴素调度

🧠

三种调度的差异

  • · Naive:等前一个 GPU 完全做完才开始——bubble 占主导
  • · GPipe:分 batch 流水化前向 + 反向,bubble 减小
  • · 1F1B:每张卡交替做 forward 和 backward,bubble 最小
📐

为什么需要流水线

70B 模型 ~140GB 显存——一张 H100(80GB)装不下。

切层到 N 张卡 = 流水线并行。配合张量并行(切单层)和数据并行(切 batch), 构成 3D Parallelism——GPT-3/4 都用这个。

📝 演示说明: 这里简化了真实流水线(实际还有 micro-batch 间的通信延迟、显存压力、激活重算等)。 但 bubble 的核心概念和 1F1B 的优化思路与生产实践一致。完整内容详见 L7-02 分布式训练。