LLM的数据并行DDP,模型分片FSDP技术:
- DDP(DistributedDataParallel)技术简介
- 概念:
- DDP是PyTorch中用于分布式训练的一种技术。它的核心思想是在多个进程(通常是在多个GPU上)之间并行地训练模型,每个进程都有一份完整的模型副本。这些副本在训练过程中会同步它们的梯度,以确保模型参数在各个进程中保持一致的更新。
- 工作原理:
- 例如,假设有一个基于Transformer架构的语言模型用于机器翻译任务,使用4个GPU进行分布式训练。在训练开始时,模型被复制到这4个GPU上,每个GPU上的模型副本都有自己独立的输入数据批次。
- 当进行前向传播时,每个GPU会独立地对自己批次的数据进行计算,得到输出和损失。以翻译一个句子为例,每个GPU可能会处理句子的不同部分或者不同的句子集合。
- 接着是反向传播,每个GPU会计算出自己的梯度。在DDP模式下,这些梯度会被收集起来,并在各个GPU之间进行平均。然后,每个GPU使用平均后的梯度来更新自己的模型副本。这样,就保证了4个GPU上的模型参数能够同
- 概念: