文章预览
1. 大模型训练离不开集合通信 大模型分布式训练往往需要 上千乃至上万 GPU 卡进行超大规模并行训练 ,是典型的计算密集型和通信密集型场景。 在真实的场景中,为了高效的训练,我们一般采用多种并行策略混合的方式。常见的包括数据并行,流水并行,张量并行,序列并行,专家并行,其中张量并行和流水线并行都属于模型并行。 1.1 数据并行 在数据并行模式下,每个 GPU 都运行相同的模型代码,而数据集被拆分为多份分配给不同的 GPU 进行训练。每轮迭代完成后,需要通过 all-reduce 操作进行同步。随着模型规模的增加,单个 GPU 的通信量可以达到 10 GB 以上,每个step都需要进行一次通信。 一种优化方法是将数据并行中的 all-reduce 操作拆分为 reduce-scatter 和 all-gather 两个部分 。 在训练过程中,每个 GPU 只存储模型的一部分 shard: Forward Pass:通
………………………………