ai-infra-interview-305

第 69 题:流水线并行中的micro-batch大小如何影响吞吐?

题目

流水线并行中的micro-batch大小如何影响吞吐?


完整讲解

一、Micro-batch 与吞吐的关系

Micro-batch 大小 = global batch / (DP × chunks)。chunks 越大,单次 forward/backward 的粒度越小,管道更易填满、bubble 占比下降,理论上吞吐上升。但 chunks 越大,同时存活的激活越多,每 stage 显存增加;若用 activation checkpointing,重算次数也随 chunks 增加,算力开销上升。

二、吞吐随 M 的变化

三、与 batch size、DP 的联合影响

Global batch = DP × chunks × micro_batch_size。固定 global batch 时,增大 chunks 会减小 micro_batch_size,单次 F/B 更轻、管道更满,但单次通信/ kernel 效率可能略降;反之 chunks 小则 micro_batch 大,bubble 大。通常先定 global batch 与 DP,再在显存允许范围内尽量增大 chunks 以压 bubble,必要时用 checkpoint 换显存。


面试要点


记忆要点

  1. Chunks 大 = bubble 小、显存与重算大;存在最优 chunks。
  2. 公式上 bubble ∝ 1/M,M 为 micro-batch 数。
  3. 工程上先定 batch 与 DP,再尽量大 chunks + checkpoint 保显存。
返回模块 返回总览