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


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

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

常见并行策略

需要考虑的问题
协调集群中的计算和通信
用矩阵乘法的例子来说明如何实现神经网络的分布式训练
image.png

数据并行

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

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

模型并行

将模型w切分到各个模型,每个模型中有完整的数据
图示
image.png
完整输出需要拼接各个设备的输出
特点
无需多个设备之间的梯度AllReduce
但所有数据(input、output)将在多个设备之间广播,产生通信代价
适用情况
神经网络巨大的情况
语⾔模型,如 BERT,常采⽤模型并⾏

流水并行

将网络切分为多个阶段分发到不同的计算设备上,各个设备“接力”完成训练
图示
image.png
说明:这里展示的是一个4层网络(T1到T4),GPU0完成T1、T2的计算,GPU1完成T3、T4的计算。GPU0完成计算后output给到GPU1
适合情况
仍然是解决神经网络巨大的问题

混合并行

以GPT-3的训练策略进行说明
训练被分为64个阶段进行流水并行,每个阶段在6台DGX-A100 主机上数据并行训练,每台主机有 8 张 GPU 显卡实现模型并行训练
image.png

参考资料

  1. AI算力瓶颈
  2. AllReduce策略介绍
  3. datawhale的so-large-lm学习资料
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值