Bootstrap

【NLP高频面题 - 分布式训练篇】分布式训练主要解决大模型训练中的哪些问题?

【NLP高频面题 - 分布式训练篇】分布式训练主要解决大模型训练中的哪些问题?

重要性:★

传统的单机单卡模式已经无法满足超大模型进行训练的要求,这一趋势背后有几个原因。

  • 模型规模迅速增加。
  • 数据集规模迅速增加。
  • 计算能力越来越强。

使用单机、单卡训练大模型时必须面临计算墙、显存墙、时间墙等问题。

  • 计算墙:单个计算设备所能提供的计算能力与大语言模型所需的总计算量之间存在巨大差异。2022 年 3 年 发布的 NVIDIA H100 SXM 的单卡 FP16 算力也只有 2000 TFLOPs,而 GPT-3 则需要 314 ZFLOPs 的总算 力,两者相差了 8 个数量级。
  • 显存墙:单个计算设备无法完整存储一个大语言模型的参数。GPT-3 包含 1750 亿参数, 如果采用FP16 格 式进行存储,需要 700GB 的计算设备内存空间,而 NVIDIA H100 GPU 只有 80 GB 显存。
  • 时间墙:大语言模型训练周期使用单计算设备需要花费几十年。

计算墙和显存墙源于单计算设备的计算和存储能力有限, 与模型对庞大计算和存储需求之间存在矛盾。这个问题可以通过采用分布式训练方法来解决, 但分布式训练又会面临通信墙的挑战。同时, 在大型集群 进行长时间训练时,设备故障可能会影响或中断训练过程,对分布式系统的问题性也提出了很高要求。

分布式训练(Distributed Training)是指将机器学习或深度学习模型训练任务分解成多个子任务,并在多个计算设备上并行地进行训练。

单计算设备计算和多计算设备示例:


NLP 大模型高频面题汇总

NLP基础篇
BERT 模型面
LLMs 微调面
;