炸裂!GPU互联大升级,算力暴涨,跨境电商要变天?

2025-08-13人工智能

Image

大模型训练离不开集合通信,高效训练离不开多种并行策略的混合使用。常见策略包括数据并行、流水并行、张量并行、序列并行和专家并行。这些并行策略在超大规模并行训练中扮演着关键角色,尤其是在计算密集型和通信密集型场景下。

数据并行模式下,每个GPU运行相同的模型代码,数据集被拆分分配给不同的GPU进行训练。每轮迭代完成后,需通过all-reduce操作进行同步。为优化这一过程,一种方法是将all-reduce操作拆分为reduce-scatter和all-gather两部分,降低通信开销,提升训练效率。

模型并行中,每个GPU负责模型的一部分参数和计算。流水并行通过按层切分实现,张量并行则通过分解模型的张量实现。例如,多头自注意力(MHA)适合张量并行,Q、K、V矩阵按列切分,每个头的计算独立分配到不同的GPU上。流水并行将输入的batch size切分为多个mini-batch,通过划分为多个阶段并行计算,以此来掩盖计算过程中的“气泡”时间。

序列并行是张量并行的补充,针对那些需要全局统计信息且不能按Tensor维度拆分的部分,序列并行按照序列进行切分,进一步分摊计算,减少每个GPU的显存占用。

专家并行通过选择性地激活一部分参数来处理不同的数据,从而解决模型规模增大带来的训练成本问题。专家并行的思路是将不同的专家分配到不同的GPU上,减少内存消耗,提高训练效率。计算前,Token需通过All-to-All通信发送给不同的Experts所在的GPU进行运算。

新媒网跨境了解到,不同的并行模式都离不开集合通信技术,大模型的分布式训练也因此与集合通信密不可分。
图片

为了更好地扩大规模,实际训练中常采用多种模式混合并行,集合通信贯穿模型训练的每一个环节。

谈及集合通信,消息传递平台MPI是绕不开的话题。MPI是一种标准和规范,真正的实现存在于开源实现库中,例如openMPI。

MPI简介

程序一旦运行,便会成为独立的进程。进程拥有独立的执行环境,是操作系统中独立存在的可执行的基本程序单位。进程间相互独立,但可以相互交换信息。消息传递便是指这些信息在进程间的相互交换,是实现进程间通信的唯一方式。
图片

最基本的消息传递操作包括发送消息send、接受消息receive、进程同步barrier、归约reduction等。
图片

MPI程序通常包含变量定义、MPI环境初始化、执行进程间通信和退出MPI环境等步骤。MPI系统的通信方式都建立在点对点通信之上,包括阻塞式和非阻塞式点对点通信。OpenMPI中,实现了多种集合通信算法,如Allreduce, AlltoAll, AllGather等,且每种算法都有不同的实现方式。

例如,MPI实现了多种AllReduce算法,包括传统的reduce+broadcast方式、butterfly方式、Ring AllReduce以及Segmented Ring方式。
图片

Allreduce算法的多样实现方便在不同情况下采用不同的实现方式,加快集合通信的计算速度。

常见集合通信算子

MPI_Scatter与MPI_Bcast的区别在于,后者将相同的信息发送给所有进程,而前者将一段array的不同部分发送给所有进程。
图片

当数据分布在所有进程中时,MPI_Allgather是将所有的数据聚合到每个进程中。而MPI_Allreduce是将所有的数据执行规约(sum、min 等)后分发到每个进程中。

RingAllreduce是一种基于环拓扑结构的Allreduce操作,每个参与的进程只与其两个邻居通信。数据在环中的每个节点之间传递,通过一系列的归约和数据交换操作来聚合数据。
图片

AlltoAll操作允许每个进程与所有其他进程交换数据,但与Allgather不同的是,AlltoAll通常涉及每个进程向每个其他进程发送和接收不同的数据,允许更灵活的数据重新分配。
图片

Allgather操作后,每个进程拥有完整的数据集;AlltoAll操作后,每个进程可能拥有不同的数据集,取决于发送和接收的数据。

NCCL的出现

MPI在2009年算法已经成熟,但英伟达在2015年发布了Nccl。一方面是因为MPI基本没有考虑过GPU系统架构,MPI设计中各个工作节点基本视为等同,并没有考虑节点间latency和带宽的不同。另一方面,GPU异构性明显,不同设备性能差异大,需要重新设计策略来考虑异构场景下的硬件性能。Nccl因此应运而生,更贴合GPU硬件。最初,NCCL1.x只能在单机内部进行通信,多机间的通信仍依赖MPI,但从NCCL2.0开始,它已支持多机间通信。

NCCL的特点

NCCL是专为NVIDIA GPU设计的通信库,充分利用了NVIDIA硬件的特性:

  • NVLink互连:优化了通过NVLink进行的GPU间通信。
  • GPU直接通信:允许GPU之间直接交换数据,减少通信延迟。
  • CUDA集成:与CUDA紧密集成,便于开发者在CUDA程序中使用NCCL进行高效的数据传输和同步。
  • 自适应拓扑:能够自动检测并适应不同的硬件拓扑。

在异构计算环境中,CPU、GPU、网络和其他加速器需要高效协同工作。NCCL在这种环境中展现出显著的性能优势:

  • 跨平台支持:不仅支持NVIDIA GPU,还能够与CPU和其他硬件平台协同工作,提供跨平台的通信解决方案。
  • 可扩展性:设计用于大规模并行计算,支持数千个GPU的集群,对于处理大规模数据集和模型至关重要。
  • 低延迟和高吞吐量:优化了数据传输路径,减少通信延迟,同时提供高吞吐量的数据处理能力。
  • 容错性:在异构环境中,硬件故障是常见问题。NCCL提供容错机制,确保计算任务在出现硬件故障时仍能继续执行。

NCCL是专为NVIDIA GPU设计的集合通信库,与MPI类似,它支持多种高效的集体通信操作,如广播、归约、全收集等。GPU之间的通信可以通过GPU共享内存、GPU Direct P2P和NVLink等方式实现。

  1. GPU共享内存:数据传输需经过CPU的主机内存,可能导致较高的通信延迟和性能开销。
  2. GPU Direct P2P:允许同一节点上的GPU直接相互通信,无需通过CPU的主机内存,减少数据传输延迟。
  3. NVLink:提供比传统PCIe更高的带宽和更低的延迟,GPU之间的数据传输不再通过PCIe总线,而是直接通过NVLink连接。

NCCL基本架构

NCCL的架构与MPI基本一致,每个进程称为一个“rank”,每个rank都有唯一的标识符,即rank ID。这些rank的集合构成一个“communicator”,定义了一组可以相互通信的进程。每个设备上都需要创建一个NCCL Communicator对象。

新媒网跨境获悉,NCCL通过ncclCommInitRank()和ncclCommInitAll()等函数来初始化communicator。在创建communicator之前,root rank需要使用ncclGetUniqueId()生成一个唯一的ID,并广播给所有参与通信的进程。

initTransportsRank函数是NCCL初始化过程中的关键步骤,负责检测设备和拓扑结构、计算通信结构和建立设备连接等任务,最终可以建立包含GPU的XML树结构。用户可通过设置环境变量NCCL_TOPO_DUMP_FILE来输出XML文件,查看机器的拓扑结构。

当然,也可以通过 Nvidia-smi topo -m 来查看单机内的拓扑结构。

以下是V100的拓扑网络示例:
图片

GPU通信并非仅构造硬件或软件,而是软硬件一体优化的结果。

GPU拓扑结构

在机内互联方面,下图为单机8卡A100的拓扑构图,揭示了节点上的CPU NUMA Socket、PCIe Root Complex以及通过NvSwitch实现全互联的8个A100 GPU卡。
图片

虽然GPU发展迅速,但GPU外设仍以Pcle连接到以CPU为中心的互联体系中。PCIe的带宽已落后于NVLink。

在机间互联方面,在DGX A100系列中,每个节点上的8张GPU通过NVLink和NVSwitch互联,机间直接用200G IB HDR网络互联。随着NVIDIA DGX H100的推出,NVIDIA将机内的NVSwitch技术扩展到了交换机上,创造了名为NVLink Switch22的创新产品,支持多达256个GPU。

新媒网跨境认为IB网络最高也就200GB/s的带宽,而Nvlink可以达到900GB/s的带宽,实现Nvlink完全替代IB可以说一直在路上。

最新发布的NVIDIA GB200 NVL72中,引入了第五代NVLink,可在单个NVLink域中连接多达576个GPU,总带宽超过1 PB/s。

拓扑优化

图片

NCCL 2.12中引入的PXN拓扑优化,可以加速一倍的机间数据传输效率。PXN利用节点内GPU之间的NVIDIA NVSwitch连接,首先将数据包移动到与目的地相同轨道的本机的GPU上,然后在不跨越轨道的情况下通过L3交换机将其发送到目的地机的GPU上,实现消息聚合和网络流量优化。

NCCL通信算法

NCCL通过智能地利用网络拓扑结构,为多GPU环境选择最佳的通信策略。库不仅支持传统的RING、TREE、COLLNET等通信算法,还引入了更多先进的算法,这些算法的细节可以在源码中的ncclTopoTuneModel方法中找到。

Ring算法通过构建环形网络,使得每个GPU仅与其直接相邻的两个邻居进行数据交换。Tree算法利用二叉树特性,提供比ring算法更低的延迟。CollNet算法建立在SHArP基础上,专为与InfiniBand网络配合使用而设计,将计算任务卸载到网络交换机,减少GPU之间的直接通信需求。

NCCL实现了自动化的选择机制,预估算法不同拓扑下的通信时间,并通过下载nccl-test来进行不同算法的性能测试。

在数据中心和超级计算领域,网络互联技术的每一次飞跃都至关重要。从以太网到InfiniBand,再到NVIDIA的NVLink和NVLink Network,每一次技术演进都标志着对更快、更高效通信方式的追求。

二十五年前,InfiniBand联盟IBTA试图取代PCI、以太网等成为统一的互联方案,但互联网泡沫使其野心并未实现。十年前,Intel主导的PCIe标准限制了GPU等PCIe设备间的直接数据传输,NVIDIA推出了NVLink技术,允许GPU之间直接互联。

如今,随着生成式AI的兴起,Meta的LLama3模型采用RoCEv2和IB网络技术,国内华为和阿里也在探索Ethernet的潜力。NVIDIA也在探索构建下一代以NVLink为核心的互联技术。

新媒网跨境预测,网络互联技术将持续演进,为数据中心和超级计算带来更高效的通信方式。

最后欢迎点击以下链接购买和 Zomi 联合出版的 AI系统:原理与架构

领券抢购:https://u.jd.com/tg7sxk5

新媒网(公号: 新媒网跨境发布),是一个专业的跨境电商、游戏、支付、贸易和广告社区平台,为百万跨境人传递最新的海外淘金精准资讯情报。

本文来源:新媒网 https://nmedialink.com/posts/14005.html

评论(0)

暂无评论,快来抢沙发~
大模型训练依赖集合通信,混合并行策略是关键。文章介绍了数据并行、模型并行等策略,以及消息传递接口MPI和英伟达的NCCL。NCCL针对GPU优化,提供高效通信,支持NVLink等技术。网络互联技术持续演进,为数据中心带来更高效的通信方式。
发布于 2025-08-13
查看人数 1001
汇率走势CNY
关注我们
新媒网跨境发布
本站原创内容版权归作者及NMedia共同所有,未经许可,禁止以任何形式转载。