AI 术语表 · 进阶 · 效率与基础设施
模型并行
模型并行是把单张 GPU 装不下的大模型拆分到多张 GPU 上、让它们协同计算的方法。代表性的有拆分层内计算的张量并行(TP)和按顺序拆分各层的流水线并行(PP)。
工作原理
张量并行让多张 GPU 各自承担一层内大型矩阵计算的一部分,再把结果合并。由于每一层都需要 GPU 之间交换结果,通信非常频繁。流水线并行把前面的层放在一张 GPU 上、后面的层放在另一张 GPU 上,按顺序传递数据。为了避免前一张 GPU 工作时后一张 GPU 闲置,会把输入拆成小批次(微批次)依次送入。在 MoE 模型中,还会使用把专家(expert)分布到各张 GPU 上的专家并行。
张量并行 vs 流水线并行
张量并行(TP)切分层内的计算
- 所有 GPU 都参与每一层
- 通信非常频繁
- 适合高速互连的单台服务器内部
流水线并行(PP)按顺序切分层
- 每块 GPU 只计算负责的那组层
- 只在阶段边界通信
- 会产生 GPU 空闲的气泡
공통 两者都是把一块 GPU 放不下的模型分散加载到多块 GPU 上的方法
在哪里会见到
最常见到的地方是推理引擎的配置。vLLM 等引擎的 tensor-parallel-size、pipeline-parallel-size 选项决定了在几张 GPU 上如何拆分。训练方面,在 Megatron-LM、DeepSpeed 等框架的配置中会以 TP、PP 这样的缩写出现。大型开放权重模型的模型卡或部署说明中,有时也会写有“GPU 几张、TP 几”之类的推荐配置。
如何建立直观理解
首先按“参数量 × 每个数字占用的字节数 ≈ 权重内存”来估算。例如,将一个 700 亿(70B)参数的模型以 BF16(每个数字 2 字节)加载,仅权重就约 140GB,一块 GPU 放不下。再加上 KV 缓存所需的空间,确定需要几块 GPU。常见的原则是:张量并行用在通过 NVLink 高速互连的单台服务器内部,流水线并行用在跨多台服务器的场景。
注意事项
切分得越多,GPU 之间的通信开销就越大,因此如果模型能放进一块 GPU,通常不切分更高效。如果在通过慢速网络连接的服务器之间做张量并行,反而可能因为等待通信而变慢。流水线并行容易在各阶段之间产生 GPU 空闲时间(气泡)。很多时候,用量化缩小模型、直接减少所需 GPU 数量是更便宜的方案。
示例
假设某个团队要在公司内部部署 70B 级的开放权重模型。按 BF16 计算仅权重就约 140GB,于是选择一台由 NVLink 连接 4 块 80GB 显存 GPU 的服务器(示例),并以 tensor-parallel-size 4 启动 vLLM。如果只能用 2 块 GPU,则同时评估改用 4 位量化版本以减少内存占用的方案。