在大模型训练与推理的计算过程中,单个GPU或TPU的算力和显存已远不能满足千亿甚至万亿参数模型的需求。为应对这一挑战,分布式训练与推理技术应运而生,通过将计算任务和模型参数分解到多张乃至成千上万张计算卡上,实现了对庞大模型的有效处理。

一、基础并行策略:数据、张量与流水线并行

这三种策略构成了大模型分布式训练的基石,解决了最核心的模型存储和计算扩展问题。

1.1 数据并行 (Data Parallelism, DP)

核心原理:数据并行是最直观、最常用的并行方式。其核心思想是“模型复制,数据分片”。即将完整的模型副本放置在每一个计算设备(如GPU)上,然后将一个大的训练批次(mini-batch)分割成多个更小的微批次(micro-batch),每个设备独立处理一个微批次的数据。

工作流程:

  • 分发: 将一个全局批次的数据切分,分发给各个GPU。
  • 前向传播: 每个GPU使用其上的模型副本独立计算其微批次数据的前向传播,得到损失。
  • 反向传播: 每个GPU独立计算梯度。
  • 梯度同步: 这是DP的关键步骤。所有GPU上的梯度需要通过一个集合通信操作(通常是All-Reduce)进行聚合(如求和或求平均),以确保每个GPU最终都得到全局梯度 。
  • 权重更新: 每个GPU使用同步后的全局梯度独立更新其本地的模型副本,从而保证所有副本

在下一步开始前保持一致。
在这里插入图片描述

这里涉及到本文的第一个“分布式通信”原语,全归约(All-Reduce),它处理 GPU 实例和节点之间的同步和通信。其实很好理解:就是每一个GPU把数据发送给其余GPU,每一个GPU对于接收到的数据进行求和。

Reduce(归约):将多个GPU的数据发送到指定的GPU然后求和。
在这里插入图片描述

优缺点分析:

优点

  • 实现简单,易于集成到现有训练框架中
  • 适用于大多数标准模型架构
  • 扩展性较好,可轻松扩展到多GPU集群

缺点

  • 内存瓶颈显著,无法解决"模型太大,单卡放不下"的问题
  • 随着GPU数量增加,All-Reduce操作的通信开销成为主要瓶颈
  • 扩展效率受限于通信带宽和延迟

关键优化:ZeRO (Zero Redundancy Optimizer)

为了克服DP的内存冗余问题ZeRO 技术应运而生。它通过在不同设备间分割和管理模型状态(而不仅仅是数据)来极大地优化内存使用。

ZeRO-DP使得数据并行也能用于训练单卡无法容纳的大模型,是当前大规模训练框架(如DeepSpeed[2])的核心技术之一。

1.2 张量并行 (Tensor Parallelism, TP)

在使用 ZeRO模型的参数、梯度和优化器状态进行了分片,但当激活内存超过内存预算时,遇到了瓶颈。张量并行(TP),这是一种分片权重、梯度和优化器状态以及激活的方法——而且无需在计算之前将它们全部收集起来。

听起来简直不可思议!让我们先看看 TP 如何通过简单的矩阵乘法(matmul)操作来工作。

张量并行利用了矩阵乘法的数学特性,A×B

在这里插入图片描述

这意味着可以通过单独计算 B 的每一列或单独计算每一行并将结果组合起来来进行矩阵乘法。示例如下:

在这里插入图片描述

在张量并行中,张量会沿着特定维度被分割成 N 个片段,并分布到 N 个 GPU 上。矩阵可以在列或行上进行分割,从而实现行或列并行。

第一个选项是使用按列(也称为按列线性)分片:将完整输入矩阵复制到每个工作节点,需要一种称为广播(broadcast)的操作,并将权重矩阵按列拆分。然后输入与部分权重矩阵相乘,最后使用全聚合(all-gather)操作合并结果。
在这里插入图片描述

“分布式通信”原语:

广播(broadcast):将一个GPU上的数据同时发送到所有其他GPU。

全聚合(all-gather):每一个GPU把数据发送到其余所有GPU,每个GPU对于接受到的数据拼接为完整数据。

第二种选项称为按行(或行线性)分片。行线性意味着将权重矩阵按行分割成块。因此,需要使用散播(scatter)操作(第四种分布式通信原语!)而不是列线性分片中所使用的广播操作。每个工作节点上的结果已经处于正确的形状,但需要求和以得到最终结果,因此这种场景也需要一个全归约操作:

在这里插入图片描述

“分布式通信”原语:

散播(scatter):把一个GPU上的数据切分为多块,按照顺序向其他GPU发送数据块。**

核心原理: 张量并行,又称模型内部并行(Intra-layer Model Parallelism),旨在解决单层网络计算量过大或参数过多无法在单个设备上处理的问题。它将模型中的单个张量(如权重矩阵)沿特定维度切分到多个GPU上,并在这些GPU上协同完成运算。

工作流程(以Transformer中的MLP层为例):

一个标准的MLP层包含两次线性变换。 假设我们将模型并行到N个GPU上:

第一个线性层的权重矩阵A可以按列切分成 [A1, A2, …, AN]。输入X与每个Ai相乘得到Xi * Ai。这是一个并行的矩阵乘法,无需通信。
第二个线性层的权重矩阵B可以按行切分成 [B1; B2; …, BN]。在进行第二次矩阵乘法前,需要将第一步的输出结果 [Y1, Y2, …, YN] 通过All-Gather操作在所有GPU间聚合,得到完整的Y。然后每个GPU计算Y * Bi。
最后,将各个GPU上的结果通过Reduce-Scatter或简单的加和操作得到最终输出。

Megatron-LM框架是张量并行的杰出代表,它巧妙地设计了Transformer中注意力层和MLP层的并行计算方式,将通信操作与计算有效结合。

优缺点分析

优点 缺点
(1)直接减少了单个GPU上的内存占用(包括模型参数和激活值)(2)使得训练远超单卡内存限制的模型成为可能(3)计算粒度细,可以更好地利用GPU的并行计算能力 (1)通信开销巨大且频繁,通常仅限于在单个计算节点内部进行高效扩展(2)对设备间的通信带宽要求极高(3)实现复杂度较高,需要仔细设计通信模式

性能优化方向
在这里插入图片描述

1.3 流水线并行 (Pipeline Parallelism, PP)

核心原理: 流水线并行,又称层间模型并行(Inter-layer Model Parallelism),将模型的不同层(或层块)分配到不同的GPU上,形成一个 计算"流水线"。 数据在一个设备上完成部分层的计算后,其输出(即激活值)被传递到下一个设备,继续后续层的计算。

工作流程:

1、朴素流水线: 最简单的方式是将一个批次的数据依次通过所有GPU。但这会导致严重的“流水线气泡”(pipeline bubble),即在任何时刻,只有一个GPU在工作,其他GPU都在等待,利用率极低。

2、微批次流水线 (Micro-batching): 为了解决气泡问题,GPipe 等框架引入了微批次的概念 。它将一个大的批次(mini-batch)再切分成多个微批次(micro-batches),并将这些微批次依次送入流水线。这样,当第一个微批次在第二个GPU上计算时,第二个微批次就可以在第一个GPU上开始计算,实现了计算的重叠,从而显著减少了GPU的空闲时间。
在这里插入图片描述

优缺点分析

优点 缺点
(1)同样能有效降低单个GPU的内存占用(2)通信开销相对较低,因为通信只发生在流水线中相邻的两个阶段之间(3)通信内容主要是激活值,而非整个模型参数(4)实现相对简单,易于调试 (1)仍然存在无法完全消除的"气泡"问题,特别是在流水线的启动和排空阶段(2)要求对模型进行合理的切分,以实现各阶段的负载均衡(3)"木桶效应"会限制整体性能,最慢的阶段决定整体吞吐量(4)流水线深度增加会导致额外的启动和结束延迟

优化策略
在这里插入图片描述


如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐