分担数据,与分担保存责任,是两个动作
本页问题
复制式数据并行让四卡处理不同数据,却每卡保留完整状态。全状态分片可把指定持久小计从每卡 128 GB 降至 32 GB;当前层计算仍需临时取齐参数,反向梯度仍需共同归约,由所属片完成更新。节省长期冗余伴随通信与临时视图。
RC-T2/b0 · 不同数据,完整副本
先采用最直接的数据并行:四张卡读取不同样本,但每张都执行完整模型,因此各自保留同一套完整训练状态。在刚才那份账本下,每卡长期小计仍是一百二十八 GB。数据分开处理,不等于模型状态自动分开保存。
教师备课:指图与模拟问答
指图与推进 · 不朗读指四份不同数据、每卡完整层序与128GB状态。
本态来源与条件
8B / 四卡混合精度 Adam 教学构造;ZeRO 机制,非硬件实测
RC-T2/b1 · 只改变长期保管责任
现在只改变长期保存责任。四张卡各保管四分之一参数、梯度与优化器状态,长期小计降到每卡三十二 GB。但每张卡的样本仍需经过所有层;分片保存不是把一条样本永远交给某一张卡独自处理。
进一步解释
本页比较复制式数据并行与参数、梯度、优化器状态均分片的设定。原 ZeRO 1/2/3 的 56/44/32 GB 逐级账本保留于深入材料;主讲只比较两端。
教师备课:指图与模拟问答
指图与推进 · 不朗读对照固定数据路径与四种所属片颜色。
本态来源与条件
8B / 四卡混合精度 Adam 教学构造;ZeRO 机制,非硬件实测
RC-T2/b2 · 当前层临时取齐
轮到当前层时,每张卡临时取齐该层需要的参数,完成计算后可以释放临时完整视图。图里长期小片与当前层完整视图必须分开算:三十二 GB 是长期小计,不是这时刻的峰值。交换缺少的参数还需要通信。
进一步解释
当前层取齐是临时工作视图,通信缓冲、激活与其他临时对象仍需额外空间。张量并行、流水线并行和状态分片不是同一概念。
教师备课:指图与模拟问答
指图与推进 · 不朗读指四卡之间的取齐连接、虚线整层视图与实线所属片。
本态来源与条件
8B / 四卡混合精度 Adam 教学构造;ZeRO 机制,非硬件实测
RC-T2/b3 · 共同梯度,更新同一模型
不同数据产生的梯度必须合成共同的更新依据,再由各状态片的持有者更新。下一轮取齐的是属于同一新版本的参数,不能让四张卡各自走成四台不一致的模型。分片减少重复保存,同时增加通信与临时视图。接着回到单卡:能否减少那张 attention 大表的保存和搬运?
教师备课:指图与模拟问答
指图与推进 · 不朗读沿共同梯度→所属片更新→同一新版本闭环;不混加不同参数。
本态来源与条件
8B / 四卡混合精度 Adam 教学构造;ZeRO 机制,非硬件实测
接下来
回到单卡内部,能否少搬完整注意力大表?
补充推导、边界与来源
进一步阅读
条件与来源
以下从计算对象、条件与原始证据继续展开。
原 N46:四张卡分担数据,为什么仍各存一份?
数据并行中,每张卡处理不同数据,但每批数据都经过整个模型。各卡参数梯度经汇总后执行一致更新,所以模型副本维持一致。本课 DDP 设定下,各卡都长期保存完整工作权重、梯度和优化器状态:每卡128GB,不因四卡总容量而自动除以四。
层用 L₁…Lₙ 表示,参数分片用 θ₀…θ₃ 表示,不能混为各卡分管不同层。TP 切分同一层的张量计算,PP 分配不同层并安排微批流水线,这些与数据并行的身份不同。
原 N47:长期分片保存,轮到一层再临时取齐
在本课四卡混合精度账本下,ZeRO-1 仅分片优化器相关状态,每卡 $16+16+96/4=56$ GB;ZeRO-2 再分片梯度,$16+16/4+96/4=44$ GB;ZeRO-3 再分片工作权重,$128/4=32$ GB。上述均是持久状态小计。
实线框保存本卡长期负责的片;当前层计算之前,通过 all-gather 暂时取得该层完整参数视图,虚线框只代表这一层而非整个模型。本卡数据仍走全部层。当前层计算后可释放临时完整视图,再为下一层安排参数。真实 ZeRO/FSDP 实现会选择预取、驻留和通信重叠策略;临时视图、激活与缓冲使运行峰值高于32GB。
原 N48:分开保管,也能共同更新同一个模型
同一参数在不同数据批次上产生不同梯度贡献。reduce-scatter 将同一个参数的贡献归约,并把结果交给负责该分片的卡;不把不同参数的梯度混加。若训练目标用批次平均损失,归约时还需要与目标口径一致的缩放。
本卡拿到所属参数的共同梯度后,使用自己保存的主权重和 m/v 更新所属片。下一轮 all-gather 取得这些共同更新后的参数,因此所有数据仍在训练同一个模型。完整闭环是:各卡数据前向→需要时取齐层参数→反向产生梯度→按同参数归约分散→所属卡更新→释放临时量→下一轮取得新参数。
本页证据与条件
8B / 四卡混合精度 Adam 教学构造;ZeRO 机制,非硬件实测