当前位置:首页 > 科技资讯 > 正文

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解

在人工智能领域,计算任务尤其是模型训练和推理,普遍依赖于并行计算技术。

AI计算中涉及的诸多核心算法,例如矩阵相乘、卷积、循环层和梯度运算等,都需要借助成千上万的GPU,通过并行任务协作完成,从而大幅缩短计算时间。

构建高效的并行计算框架时,通常采用以下几种主流并行策略:

  • Data Parallelism,数据并行
  • Pipeline Parallelism,流水线并行
  • Tensor Parallelism,张量并行
  • Expert Parallelism,专家并行

接下来,我们将逐一深入剖析这些并行计算方式的核心原理。

DP(数据并行)

首先介绍DP,即数据并行(Data Parallelism)。

AI训练中使用的并行技术,总体上可划分为数据并行和模型并行两大类。之前提及的PP(流水线并行)、TP(张量并行)和EP(专家并行),均属于模型并行范畴,后续会详细展开。

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第1张

在此之前,我们需要简要回顾神经网络的训练流程。主要包括以下几个关键步骤:

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第2张

1、前向传播:输入一批训练数据,通过模型计算得到预测结果。

2、计算损失:利用损失函数对比预测结果与真实标签之间的差异。

3、反向传播:将计算出的损失值反向传播至网络各层,求解每个参数的梯度。

4、梯度更新:优化器基于梯度信息更新所有权重和偏置参数。

上述过程循环迭代,直至模型性能达到预期目标,训练即告完成。

回到数据并行主题。

数据并行是大规模模型训练中最常用的并行范式,同样适用于推理过程。

其核心思想是每个GPU均保存完整的模型副本,然后将训练数据划分为多个小批次(mini-batch),并分配至不同的GPU独立处理。

在数据并行框架下,大模型训练的具体流程如下:

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第3张

1、将训练数据均匀分割,分发至多个并行工作的GPU(称为Worker);

2、每个GPU持有相同的模型及参数,独立执行前向传播与反向传播,计算出本地梯度;

3、各GPU通过高速互联进行通信,采用All-Reduce操作将梯度发送至一个集中管理的GPU(称为Server);

4、Server GPU对所有接收到的梯度进行聚合(如求和或平均),得到全局梯度;

5、Server GPU将全局梯度广播回所有Worker GPU,各GPU据此更新本地模型参数。更新后,所有Worker GPU的模型参数保持一致。

此后,重复这一过程,直至训练结束。

以下示意图可辅助理解:

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第4张

(从下往上看)

这里提到的All-Reduce是分布式计算中的关键操作,意为“全规约”,即对所有节点的数据进行聚合运算(如求和、求最大值等),并将最终结果同步至所有节点。

数据并行的优势在于实现相对简单,能显著加速海量数据的训练进程,特别适合数据规模远大于模型参数的场景。

其劣势主要体现在显存限制上。由于每个GPU需存储完整模型副本,当模型参数量巨大时,显存需求可能超出单个GPU的容量。

此外,数据并行的通信开销较大。GPU间需频繁同步梯度或参数,模型规模越大、GPU数量越多,通信负担越重。例如,千亿参数模型在FP16精度下,单次梯度同步可能需传输约2TB数据。

ZeRO

此处需特别介绍ZeRO(Zero Redundancy Optimizer,零冗余优化器)技术。

传统数据并行中,每个GPU保存完整模型副本导致内存冗余。那么,是否能让每个GPU仅存储模型的一部分呢?

ZeRO正是基于这一思路,通过对模型副本中的优化器状态、梯度和模型参数进行智能切分,显著降低内存占用。

ZeRO分为三个渐进阶段:

ZeRO-1:仅对优化器状态进行划分。

ZeRO-2:对优化器状态和梯度进行划分。

ZeRO-3:对优化器状态、梯度和模型参数进行全面划分。(内存节省效果最显著)

通过以下图示和表格可以更直观地理解:

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第5张

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第6张

实测数据表明,ZeRO-3在1024块GPU上训练万亿参数模型时,可将每卡显存占用从7.5TB大幅降低至7.3GB。

值得一提的是,数据并行还有其分布式版本DDP(Distributed Data Parallel)。传统DP多用于单机多卡,而DDP可扩展至多机多卡场景。它依赖于Ring-AllReduce通信拓扑(由百度率先提出),能有效解决传统数据并行中Server节点的通信瓶颈问题。

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第7张

PP(流水线并行)

接下来探讨模型并行。

与数据并行分割数据不同,模型并行旨在将模型本身分割成多个部分,由不同的GPU分别执行。(注:业界对“模型并行”的定义存在一定交叉,有时张量并行也被归入此范畴。)

流水线并行是一种典型的模型并行策略,它将神经网络的不同层(或连续若干层)分配至不同的GPU上,数据像流水线一样依次经过各GPU处理。

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第8张

例如,对于一个7层的神经网络,可将第1-2层置于GPU1,第3-5层置于GPU2,第6-7层置于GPU3。训练时,数据按此顺序流动处理。

表面看,流水线并行类似串行过程,每个GPU必须等待前序GPU的输出,这可能造成大量的GPU空闲时间。

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第9张

上图中黄色区域即为“气泡”(Bubble)时间,代表GPU处于等待状态。气泡越多,资源浪费越严重。

为减少气泡,可将每个mini-batch进一步细分为更小的micro-batch。当GPU0处理完一个micro-batch后,立即开始处理下一个,从而填充空闲时段。如下图(b)所示:

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第10张

此外,还可采用提前调度策略:在一个micro-batch完成前向计算后,立即调度其反向计算,以释放显存并接纳新数据,从而提升整体吞吐。如上图(c)所示。

这些优化方法能有效压缩流水线并行的气泡时间。

流水线并行需要对任务调度和数据传输进行精细管理,否则容易导致流水线阻塞,产生额外延迟。

TP(张量并行)

模型并行的另一种重要形式是张量并行。

如果说流水线并行是对模型进行“垂直”分层切割,那么张量并行则是在单个层内部进行“横向”操作切割。

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第11张

具体而言,张量并行将模型中的大型张量(如权重矩阵)按特定维度(行或列)切分,分布到不同的GPU上并行计算。

张量切分主要有两种方式:按行切分(对应行并行,Row Parallelism)和按列切分(对应列并行,Column Parallelism)。

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第12张

每个GPU处理分配到的子张量,最后通过集合通信操作(如All-Gather或All-Reduce)汇总计算结果。

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第13张

张量并行的优点在于能有效处理单个超大张量,显著减轻单GPU的内存压力。

其缺点在于,当切分维度较多时,GPU间通信开销会急剧增加。同时,实现较为复杂,需精心设计切分方案与通信同步策略。

下图简要对比了数据并行、流水线并行和张量并行:

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第14张

专家并行

2025年初,随着DeepSeek的崛起,MoE(Mixture of Experts,混合专家模型)也备受关注。

MoE模型的核心结构是“多个专家层 + 路由网络(门控网络)”。

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第15张

每个专家子网络擅长处理特定类型或特征的输入token(如语法、语义等)。路由网络动态分析输入token,仅激活少数相关专家进行处理,其余专家保持静默。

MoE通过这种任务分工与算力按需分配机制,大幅提升了模型效率与容量。

专家并行(Expert Parallelism)是专为MoE模型设计的并行策略。它将不同的专家子模型分布到不同的GPU上,实现计算负载的分布式处理。

专家并行的独特之处在于,输入数据需通过一个动态路由机制进行重分配,将不同token发送至对应的专家GPU上。此过程涉及全局数据交换。

在所有专家处理完毕后,又需要将分散的结果重新收集并按序整合。

这种跨所有节点的数据重分布与收集模式,称为All-to-All通信。

专家并行可能面临负载不均衡的挑战。如果路由机制将过多token导向某个专家,可能超出其处理能力,形成性能瓶颈。

因此,设计智能且均衡的路由(门控)策略是成功部署专家并行的关键。

混合并行

在实际的工业级大模型训练中,尤其是针对万亿参数级别模型,几乎从不使用单一并行策略,而是采用多维度的混合并行,灵活组合多种方式。

例如:

数据并行 + 张量并行:数据并行处理大批量样本,张量并行分解单样本的大型矩阵运算。

流水线并行 + 专家并行:流水线并行切割模型层,专家并行处理层内的多个专家模块。

更先进的3D并行:综合运用“数据并行 + 张量并行 + 流水线并行”,实现数据、张量和模型层的三重拆分,已成为训练超大模型的主流方案。

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第16张

(3D并行示意图)

最后的话

以上便是对DP、PP、TP、EP等主流并行训练方式的系统性介绍。

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第17张

并行计算技术本身非常复杂,本文仅做了入门级梳理。在实际开发中,工程师通常无需从头实现,业界已有诸多成熟框架,如DeepSpeed(微软开源,支持3D并行与ZeRO优化)、Megatron-LM(NVIDIA开源,3D并行典范)、FSDP等,可大幅降低大模型训练门槛。

深入理解这些并行策略,其意义远超编码实现本身,它有助于我们更深刻地洞悉算力集群的架构设计与网络规划逻辑。

不同的并行方式会产生截然不同的通信流量模式。算力集群的整体架构与网络设计,必须精准适配这些流量特征,才能满足高效模型训练与推理的需求。

举例来说,数据并行需要高带宽网络以支撑频繁的梯度同步;流水线并行建议将连续的计算阶段部署在网络拓扑邻近的服务器上(例如叶脊网络中同一叶子交换机下),以减少通信延迟;张量并行由于通信密集,往往更适合在单台服务器的多卡间进行;专家并行则需要规划好All-to-All通信路径,以应对动态的数据交换。

AI并行计算方式全面解析:数据并行、流水线并行、张量并行与专家并行详解 数据并行 流水线并行 张量并行 专家并行 第18张

总之,在GPU单卡算力增长逐步面临瓶颈的当下,深入钻研并行计算设计,从系统架构与高速网络中挖掘性能潜力,已成为推动AI进步的关键路径。

随着AI技术浪潮持续奔涌,未来或许会有更创新的并行范式涌现,让我们共同期待!