数字化转型网(Professionalism Achieves Leadership 专业造就领导者)人工智能专题
与全球关注人工智能的顶尖精英一起学习!数字化转型网建立了一个专门讨论人工智能技术、产业、学术的研究学习社区,与各位研习社同学一起成长!欢迎扫码加入!

一、高效的并行策略设计:大量使用 EP、不再使用 TP
1、并行策略总结
DeepSeek-V3 的训练由 HAI-LLM 框架(DeepSeek 自研训练框架)支持,采用了16路流水线并行(PP),跨越8个节点的64路专家并行(EP),以及 ZeRO-1 数据并行(DP),实现了充分利用计算资源,提高训练效率,减少训练时间和成本。其中 PP 和 DP 将在本节后边两个要点进行分析,此处重点分析其为何没有使用 TP。
2、使用 EP 而不是 TP
在 DeepSeek-V3 训练中,优先使用 EP 而没有使用 TP 的原因核心有以下几个方面:
a)模型结构适配性:MoE 模型由多个专家网络和一个门控网络组成,EP 正好与这种结构相匹配,它可以将不同的专家分配到不同的计算单元上并行计算,让模型同时处理多个不同的任务或数据特征,提高模型的处理能力和训练效率;TP 通常用于处理大型张量的计算,不能很好地对应 MoE 模型的结构特点。
b)通信成本考虑:在 EP 中不同专家之间的通信相对较少,主要的通信开销在于门控网络与专家网络之间的信息交互,以及在进行模型参数更新等操作时的一些全局通信;TP 需要在多个设备之间频繁地进行张量的切分、合并等操作,通信量会随着模型规模和数据量的增加而显著增加,降低训练效率。
c)计算资源利用率:MoE 模型中的不同专家可能具有不同的计算复杂度和数据需求,EP 可以根据各个专家的特点灵活地分配计算资源,使不同性能的计算单元都能得到充分利用;TP 的资源分配方式相对单一,对于不同专家的多样性计算需求支持不佳。
二、Dualpipe 流水线并行策略:双流并行计算优化与双向流水线调度优化
1、双流并行计算优化
a)基本概念:如 DeepSeek 在论文中所述,在训练过程中包含前向传递、反向传递两个阶段,具体包括计算流和通信流两个流。
前向传递:通常按顺序执行ATTN(计算流)、DISPATCH(通信流)、MLP(计算流)、COMBINE(通信流)操作。
- COMBINE(通信流):定义与前向传递相同,此处特指反向传递时的数据汇总,以便进行全局参数更新。
- MLP_B(计算流):此处的B指的是Bias,指的是反向传播中对于偏执项的计算,以便更新大模型的偏执参数。
- MLP_W(计算流):此处的W指的是Weight,指的是反向传播中对于权重参数的计算,用于更新权重参数。
- DISPATCH(通信流):在反向计算中,DISPATCH 的作用仍然是负责数据或任务的分发。
- ATTN_B(计算流):偏置项也会影响注意力权重的计算和最终的输出,通过计算调整注意力机制中的偏置参数。
- ATTN_W(计算流):计算损失函数对注意力权重的梯度,通过更新注意力权重捕捉数据中的依赖关系和重要信息。
b)优化方法:此处的双流并行,指的是计算流和通信流,双流并行即在大模型训练的反向传递阶段,将原本存在先后顺序的更新当前层权重(即MLP_B)和将梯度继续传递到前一层(即MLP_W)这两个操作,拆分成两个独立且并行的流,同时通过细致的设计,让训练的 barrier 刚好停在两个流任务完成的时候,而不需要通信流或者是计算流进行等待,提高计算效率。
2.、双向流水线调度优化
a)基本概念:PP并行方法中,训练过程经常容易出现气泡(即GPU闲置),核心原因是在PP并行中不同的计算阶段可能具有不同的计算复杂度和执行时间,导致计算快的阶段需要等待计算慢的阶段完成后才能继续进行下一轮计算,同时不同阶段之间需要进行数据通信来传递中间结果,可能会受到网络带宽等影响导致数据传输延迟,如下图所示,其中有以下一些关键信息。
i.颜色:蓝色代表前向传播,绿色代表反向传播,灰色代表空闲状态(即气泡)。
ii.数字:表示不同的微批次(Micro – batch),图中不同GPU上的数字序列,反映了各个微批次在不同GPU上的计算顺序和时间分布。
b)优化方法:传统的单向流水线通常是按照固定顺序,从流水线起始端依次进行微批次(micro – batch)处理;而DeepSeek-V3在训练过程中采用了双向流水线调度设计,即同时从两端进行微批次(micro – batch)处理,减少流水线气泡,另外DeepSeek将每个 micro – batch 进一步划分为更小的块(chunk),并对计算和通信进行精细调度,实现两者的高度重叠,提高 GPU 利用率。
iii.起始端:在PP并行中,通常将设备编号较小的一端视为起始端,即图中的 Device 0。
iv.末端:设备编号较大的一端为末端,也就是图中的 Device 7,在双向流水线中,Device 7 等设备也会在合适的时机启动计算任务,且与起始端的计算任务相互配合,并非只是被动等待起始端计算完成后才开始工作。
三、ZeRO-1(DP) 数据并行策略:降低内存占用,加速模型训练
1、基本概念
ZeRO(Zero Redundancy Optimizer)即零冗余优化器,是由微软提出的一种旨在减少分布式训练中内存使用的技术框架;ZeRO-1(DP)结合了零冗余优化器的思想和数据并行策略。
2、工作原理
在传统的数据并行中,每个设备都保存完整的优化器状态(如梯度、参数等),这会导致内存冗余;而 ZeRO-1 会将优化器状态划分到不同的设备上,每个设备只保存一部分优化器状态,在反向传播计算完成后,各个设备会交换自己所负责的参数的梯度信息,然后根据这些梯度更新各自保存的部分优化器状态和模型参数;通过这种方式,虽然每个设备只保存了部分信息,但最终所有设备上的模型参数会保持一致。
3、核心价值
a)降低内存占用:ZeRO-1(DP) 数据并行策略显著降低了单个 GPU 的内存占用,让模型能够在有限的显存中进行训练。
b)加速模型训练:首先由于内存占用降低,模型可以处理更大的批量数据,提高了计算资源的利用率,从而加快训练速度;另外ZeRO-1 通过在不同GPU之间共享一部分状态变量,减少了 GPU 之间的通信开销,进一步提升了整体训练效率。
声明:本文来自Zero417,版权归作者所有。文章内容仅代表作者独立观点,不代表数字化转型网立场,转载目的在于传递更多信息。如有侵权,请联系我们。数字化转型网www.szhzxw.cn

本文由数字化转型网(www.szhzxw.cn)转载而成,来源于Zero417;编辑/翻译:数字化转型网(Professionalism Achieves Leadership 专业造就领导者)默然。
