专栏名称: GiantPandaCV
专注于机器学习、深度学习、计算机视觉、图像处理等多个方向技术分享。团队由一群热爱技术且热衷于分享的小伙伴组成。我们坚持原创,每天一到两篇原创技术分享。希望在传播知识、分享知识的同时能够启发你,大家一起共同进步(・ω<)☆
今天看啥  ›  专栏  ›  GiantPandaCV

一文讲清 NCCL 集合通信原理与优化

GiantPandaCV  · 公众号  · 3D  · 2024-09-18 23:49

文章预览

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

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览