[长评]完全分片数据并行:用更少的 GPU 更快地进行 AI 训练
在适度的 GPU 预算上训练十亿参数的语音或语言模型过去意味着在管道并行性、张量并行性或 ZeRO 式优化器分片中挑选毒药。
在适度的 GPU 预算上训练十亿参数的语音或语言模型过去意味着在管道并行性、张量并行性或 ZeRO 式优化器分片中挑选毒药。 Facebook 的完全分片数据并行 (FSDP) 现已在 FairScale 中提供,后来上游到 PyTorch,提供了一个更清晰的答案:将参数本身分片到数据并行工作线程中,为每个微批次及时收集它们,并将通信与计算重叠,从而保持较低的挂钟成本。
这篇长篇评论阐述了为什么 FSDP 在概念上比层内或管道并行更简单、统一参数分片如何击败仅优化器加梯度的方法,以及可选的 CPU 卸载如何让您适应不适合的模型。如果您正在训练 TTS 声学模型、wav2vec 式基础模型或用于语音助手的 LLMs,FSDP 很快就会成为无需数据中心大小的集群即可进行扩展的赌注。如果您在自己的训练脚本中切换开关之前想要了解机制,请先进行深入研究。
