Mission 1
概念准备
Pipeline Parallel:把大模型切成流水线阶段
先补的知识
- 模型可以按层切成多个 stage。
- 一个 batch 可以再切成多个 micro-batch。
- 流水线并行让不同 stage 同时处理不同 micro-batch。
图解原理
像工厂流水线:第一段处理第 2 个小批次时,第二段已经在处理第 1 个小批次。
t0: S0-M0t1: S0-M1 / S1-M0t2: S0-M2 / S1-M1
语法热身:把 batch 切成 micro-batch
micro_batches = torch.chunk(batch, chunks=num_micro_batches, dim=0)
for mb in micro_batches:
hidden = stage0(mb)
out = stage1(hidden)闯关题
Pipeline Parallel 中 micro-batch 的作用是什么?
回到 notebook 的作业
这里不直接写答案。你已经拿到足够输入,最后用 notebook 的 TODO 做举一反三。