【斯坦福cs324w】中译版 大模型学习笔记七 LLM分布式训练

文章目录

  • 常见并行策略
    • 数据并行
    • 模型并行
    • 流水并行
    • 混合并行
  • 参考资料

必要性
llm数据量和参数量都太大,对算力的要求很高
单一设备的算力和容量受内存墙的限制难以跟上模型训练的需求
解决办法
使用多节点集群进⾏分布式训练,以提升算⼒

内存墙
即内存容量、多个级别内存的传输带宽、AI硬件之间的通信瓶颈(设备间的内存墙问题)限制了神经网络的设计
潜在原因:AI硬件专注于提高硬件的峰值算力,这是以简化或者删除其他部分(例如内存的分层架构)为代价的

常见并行策略

需要考虑的问题
协调集群中的计算和通信
用矩阵乘法的例子来说明如何实现神经网络的分布式训练
【斯坦福cs324w】中译版 大模型学习笔记七 LLM分布式训练_第1张图片

数据并行

特点
将数据x进行切分,每个设备上的模型w相同
图示如下
【斯坦福cs324w】中译版 大模型学习笔记七 LLM分布式训练_第2张图片
将两个设备的输出拼接得到完整输出
关键点
由于数据分发,反向传播时两个设备上的 ∂ l o s s ∂ w \frac{\partial loss}{\partial w} wloss 不同,最终得到两个模型
解决办法
在反向传播中对各个设备上的梯度进行AllReduce处理来确保各个设备上模型的一致性
适用情况
由于反向过程中同步梯度会产生通信代价,于是数据并行策略适合数据集较大,模型较小的情况。
比如视觉分类模型ResNet50

AllReduce策略:跨设备地执行计算操作,从而保证各个设备上模型的一致性

模型并行

将模型w切分到各个模型,每个模型中有完整的数据
图示
【斯坦福cs324w】中译版 大模型学习笔记七 LLM分布式训练_第3张图片
完整输出需要拼接各个设备的输出
特点
无需多个设备之间的梯度AllReduce
但所有数据(input、output)将在多个设备之间广播,产生通信代价
适用情况
神经网络巨大的情况
语⾔模型,如 BERT,常采⽤模型并⾏

流水并行

将网络切分为多个阶段分发到不同的计算设备上,各个设备“接力”完成训练
图示
【斯坦福cs324w】中译版 大模型学习笔记七 LLM分布式训练_第4张图片
说明:这里展示的是一个4层网络(T1到T4),GPU0完成T1、T2的计算,GPU1完成T3、T4的计算。GPU0完成计算后output给到GPU1
适合情况
仍然是解决神经网络巨大的问题

混合并行

以GPT-3的训练策略进行说明
训练被分为64个阶段进行流水并行,每个阶段在6台DGX-A100 主机上数据并行训练,每台主机有 8 张 GPU 显卡实现模型并行训练
【斯坦福cs324w】中译版 大模型学习笔记七 LLM分布式训练_第5张图片

参考资料

  1. AI算力瓶颈
  2. AllReduce策略介绍
  3. datawhale的so-large-lm学习资料

你可能感兴趣的:(#,LLM,学习,笔记,分布式,人工智能,神经网络)