大模型并行训练指南:通俗理解Megatron-DeepSpeed之模型并行与数据并行

💡 原文中文,约11300字,阅读约需27分钟。
📝

内容提要

本文是关于在Jean Zay上训练Megatron-DeepSpeed模型的学习笔记。使用了384张NVIDIA A100 80GB GPU和32张备用GPU,采用了数据并行、张量并行和流水线并行等技术。训练过程中遇到了硬件故障和其他问题,但最终成功完成了训练。

🎯

关键要点

  • 本文是关于在Jean Zay上训练Megatron-DeepSpeed模型的学习笔记。
  • 使用了384张NVIDIA A100 80GB GPU和32张备用GPU,采用了数据并行、张量并行和流水线并行等技术。
  • 训练过程中遇到了硬件故障和其他问题,但最终成功完成了训练。
  • BLOOM模型架构与GPT3相似,增加了一些改进。
  • 训练硬件包括384张GPU、AMD EPYC处理器和512GB内存。
  • 训练数据集为41.5TB,包含46种语言,最终转换为350B个词元。
  • Megatron-DeepSpeed结合了DeepSpeed的ZeRO分片、数据并行和张量并行技术。
  • 数据并行通过复制模型到多个GPU,加快训练速度。
  • ZeRO数据并行只存储部分模型参数,减少内存占用。
  • 张量并行将张量分成多个块,允许在不同GPU上并行处理。
  • 流水线并行通过将模型层分布在多个GPU上,减少GPU闲置时间。
  • DP、PP和TP的结合称为3D并行,提升训练效率。
  • BF16优化器用于训练,避免FP16溢出问题。
  • 使用CUDA融合核函数提高GPU计算效率。
  • 数据加载器高效处理样本,确保训练过程平滑。
  • 在词嵌入层后添加LayerNorm以提高训练稳定性。
  • 使用AliBi替换普通位置嵌入,支持更长序列的推理。
  • 训练过程中遇到硬件故障和其他问题,但成功完成训练。
➡️

继续阅读