大模型原理--分布式训练策略之数据并行
1.概述
GPT-2 揭示了规模效应(Scaling Effect):随着模型参数与数据规模的增长,模型性能在多种任务上持续提升。基于此,大语言模型(Large Language Model, LLM)的参数量和训练数据规模必然持续增长,分布式训练已成为现代大模型训练体系中的核心技术。
本文主要介绍主流的分布式训练策略之一:数据并行(Data Parallelism)。
2.数据并行
数据并行(Data Parallelism)的核心思想是在多张 GPU 上各保存一份完整且相同的模型,并让不同 GPU 并行处理不同的数据子集。

数据并行训练过程中,需要保证各副本参数一致,具体训练流程如下:
(1) 每个 GPU 独立处理本地数据子集,完成前向计算、反向传播并得到本地梯度。
(2)跨 GPU 进行梯度汇总,将所有梯度进行平均,使每个 GPU 获得相同的全局梯度。
(3)各 GPU 使用相同的全局梯度独立更新参数,从而保证所有模型副本继续保持一致。
步骤(2)会涉及梯度数据的跨设备传输。而梯度数据是和大语言模型参数规模正相关,梯度数据也会变得很庞大,显卡间通信开销可能成为性能瓶颈。为缓解显卡间通信压力,这一步骤通常依赖于AllReduce实现。


图中小方块中的标号代表不同梯度的序号1,2,3,4。经过一轮旋转,每张显卡上面出现了相同的梯度的两个数据,求和。然后其余未旋转的数据继续旋转和求和。




经过多轮旋转复制,每个 GPU 获得相同的全局梯度。
3. 总结:数据并行通过将需要训练的数据分摊给其他的GPU硬件,从而加快整体训练速度。
缺点:每个设备都保存完整的模型状态,①导致跨设备的冗余存储;②模型的规模受到显卡的限制,无法训练大规模参数的模型。
- 点赞
- 收藏
- 关注作者
评论(0)