29.1.2 并行实现:TP / PP / EP / CP 与分布式优化器#

第 19 章讲清了张量并行、流水线并行、ZeRO 等并行策略为什么这样切,本页则对照 Megatron-Core 源码剖析它们在代码里落成了什么,张量并行是 ColumnParallelLinear / RowParallelLinear 一对共轭的 torch.autograd.Function(一方前向不通信、反向 all-reduce,另一方前向 all-reduce、反向不通信),流水线并行是 schedules.py 里由 num_warmup_microbatches 驱动的 1F1B 与交错调度,专家并行是 token_dispatcher.py 的两次 all-to-all,上下文并行是把序列维按 zigzag 切给各 CP rank,分布式优化器则把优化器状态按 DP rank 切成 $1/N$ 分片。

登录后才可看