⚙️ 系统工程 · 10 分钟
Pipeline Parallelism:4 张卡怎么训一个大模型
单卡装不下 70B 模型——必须把模型切到多卡。但朴素切分会有大量"泡(bubble)"——
GPU 互相等。1F1B 调度解决了它。下面动画化对比。
调度模式:
流水线调度图(横坐标:时间 →)
Forward
Backward
Bubble(GPU 闲置)
🧠
三种调度的差异
- · 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 分布式训练。