分布式训练

官官方信息技术老师·8 页·深入(追求细节与边界)·0 次浏览·33 天前
信息技术大学

分布式训练

AI 与大模型·算法岗面试 · 第 4 章 训练与对齐

按 空格/→ 演示下一步

问一句
1 / 8 页

全部页面点击任意一页,跳回舞台从这页播放

信息技术大学

分布式训练

AI 与大模型·算法岗面试 · 第 4 章 训练与对齐

1第 1 页 · 分布式训练

数据并行

每张卡一份完整模型,各吃各的数据,梯度 all-reduce 对齐:最简单的主流并行。

原理
模型复制多份,前向各算各批,梯度求和
通信
all-reduce 同步梯度,与计算重叠隐藏
瓶颈
模型单卡放不下时失效,那是切分的事
2第 2 页 · 数据并行

张量并行与流水线并行

模型太大单卡装不下:TP 把矩阵切开算,PP 把层分段接力。

张量并行
权重矩阵分块到卡,层内通信频繁
流水线并行
按层分段接力,通信少但有气泡
3D 并行
DP×TP×PP 组合,按机器拓扑分摊
3第 3 页 · 张量并行与流水线并行

ZeRO 三阶段

数据并行的显存账:优化器状态、梯度、参数分片三连切,显存降一个量级。

ZeRO-1
切优化器状态,先省最大头
ZeRO-2
再切梯度,进一步压缩
ZeRO-3
连参数也切,前向时按需聚合
4第 4 页 · ZeRO 三阶段

通信原语(all-reduce 等

分布式训练的普通话:all-reduce 求和同步,all-gather、broadcast 各司其职。

all-reduce
全卡求和并分发,梯度同步主通道
all-gather
各持碎片拼全量,ZeRO-3 前向用
ring 实现
环形分块传递,带宽打满与卡数无关
5第 5 页 · 通信原语(all-reduce 等

显存估算

显存四件套:参数、梯度、优化器状态、激活。估算清楚才知道怎么省。

大头
混合精度下参数 2 字节、梯度 2、优化器状态 12+
激活
随 batch 与序列长度线性涨,可重算换显存
意义
估算决定并行策略与卡数,不靠玄学
6第 6 页 · 显存估算

本节要点

  • ✓DP 最简,模型放不下再切
  • ✓TP 层内切,PP 层间接力
  • ✓ZeRO 三阶段层层切显存
  • ✓显存四件套:参、梯、状态、激活
延伸主题:手算 7B 模型显存读一读 ZeRO 论文
7第 7 页 · 本节要点

课后思考

先自己回答,再展开参考答案——能讲出来才算真懂。

1为什么 7B 模型多卡训练常用 ZeRO 而不是纯 DP?

参考答案混合精度下参数、梯度、优化器状态合计约 16 字节每参数,7B 要 112GB 以上,单卡放不下;ZeRO 把这些状态切到多卡,保住 DP 易用性,显存降一个量级。

2TP 与 PP 的通信差异如何影响部署拓扑?

参考答案TP 每层都要通信、延迟敏感,必须放在 NVLink 互联的同机卡间;PP 只在层边界传激活,通信量小可跨机。先 TP 后 PP 的组合是按通信代价排的。

3激活重算为什么划算?

参考答案以一次额外前向的时间换激活显存:只存少量检查点,反向时按需重算中间激活。显存降一个量级,时间只多约三分之一,是显存紧张时的标准交换。

8第 8 页 · 课后思考