谁都能听懂的:成千上万块GPU是怎么连接起来训练大语言模型的?
训练大型语言模型(LLM)不仅依赖于强大的计算能力,还离不开成千上万 GPU 之间高速、低延迟的协同通信。

本文将从基础讲起,带你了解训练过程中的通信挑战、横向扩展与纵向扩展、网络架构以及交换机设计等关键知识点。
为什么需要大规模 GPU 集群?
单张 GPU 每秒约 2 PetaFLOPS,全天计算也仅约 1.7 × 10^20 次浮点运算。要达到 10^24 FLOPs 的训练规模,单卡需要大约 16 年。
16 年!显然没人愿意等待这么久。
因此,我们必须同时使用成千上万张 GPU,通过高速网络连接它们,共享训练数据和梯度更新,才能在数月甚至数周内完成训练。
GPU 之间的网络通信
这里说的“网络”,不是你熟悉的社交网络。

而是物理连接 GPU 的高速网络。

想象 xAI 需要在 20 万张 GPU 之间高效协调通信,挑战之巨大可想而知。
网络交换机的关键角色
试想,如何把 20 万张 GPU 连接起来?
直观想法是,每张 GPU 都直接互联——构建“全互联(full mesh)”网络,无需中转,速度最快。
但现实残酷:
-
• 每张 GPU 需要近 20 万个端口
-
• 总共需要约 200 亿根网线!
这在物理和成本上都不可能实现。
为此,必须引入 网络交换机——专门用于路由数据的硬件。
GPU 不直接互连,而是连接到交换机,交换机负责管理通信。

单个交换机连接所有 20 万 GPU,线缆数降至 20 万根(每 GPU 一根),但交换机端口需要 20 万个,依然不可行。

一个交换机放大 8000 倍!显然不现实。
因此,需要分层交换(hierarchical switching)。
Leaf-Spine 分层交换网络
解决方案是分层交换(hierarchical switching)——用多层交换机构建网络。

每个交换机连接部分 GPU,规模和成本大幅降低。
但跨层通信需经过多个交换机,增加网络跳数和延迟。
举例:

这种架构称为 Leaf-Spine 架构 或 两层 Clos 网络。
Leaf 交换机连接计算节点,Spine 交换机连接 Leaf 交换机。
横向扩展
要支持数千乃至数万张 GPU,最简单做法是横向扩展——不断添加 GPU 和交换机,分散训练负载,加快训练速度。
横向扩展中,GPU 与交换机之间通信主要依赖 以太网(Ethernet) 和 InfiniBand。
InfiniBand 是 Nvidia 通过收购 Mellanox 获得的高速低延迟专有技术,传统 AI 集群广泛采用。

现代集群开始更多采用高速以太网,xAI 的 Colossus 就使用了 Nvidia Spectrum X 以太网。
纵向扩展
横向扩展最终会遇到物理和成本瓶颈:网络跳数多,延迟和功耗增加,成本攀升。
另一条路是纵向扩展——提升单个服务器节点的计算能力,而非单纯增加节点数量。
例如,leaf 交换机不直接连接单 GPU,而是连接包含 8 张 GPU 的服务器,减少交换机端口和线缆数量:

类似早期互联网先提升单机性能,后横向增加服务器数量并使用负载均衡。
节点内通信 vs 节点间通信
问:同一节点内多 GPU 之间的通信和不同服务器间通信有什么区别?
节点内通信(Intra-node):服务器内部 GPU 通过高速互连技术直接通信,带宽高、延迟低。

节点间通信(Inter-node):不同服务器间 GPU 通过网络交换机通信,延迟相对更高。

节点内通信采用专用高速互连技术,如 AMD 的 Infinity Fabric:

短距离金属连接减少延迟和信号衰减,效率更高。
而节点间通信需通过中继、重定时和纠错,增加额外延迟和功耗。
形象比喻
-
• 节点内通信像高速公路(Autobahn):畅通无阻,速度极快。
-
• 节点间通信则像双车道公路,拥堵时需减速绕行:

训练过程中的通信挑战
理解神经网络训练流程,有助于理解通信需求:
-
• 前向传播:输入数据经过网络,产生预测结果
-
• 计算损失:评估预测误差
-
• 反向传播:计算误差对每个权重的梯度
-
• 梯度下降:根据梯度调整权重,优化模型

每张 GPU 基于部分数据计算梯度,但需与其他 GPU 共享,确保模型更新一致。
这依赖all-reduce集体通信操作,将各节点梯度聚合平均。
通信延迟越低,训练效率越高。
Nvidia 的 NCCL 库支持多种集体通信(AllReduce、Broadcast、Reduce、AllGather、ReduceScatter),帮助提升通信性能。
软件层面也可通过通信与计算重叠技术,减少等待时间。
总结
真正的大规模 GPU 集群远非简单全互联,而是:
-
• 采用多层分层交换机网络(Leaf-Spine)
-
• 横向扩展和纵向扩展结合
-
• 节点内高速互连和节点间低延迟通信
-
• 高效集体通信协议和软件优化

以 Nvidia SuperPOD 为例:

-
• Spine 和 Leaf 交换机支持横向扩展
-
• B200 服务器支持纵向扩展
-
• 每个可扩展单元含 32 个节点,每节点 8 张 GPU,横纵结合灵活高效
了解了这些,就不必纠结底层细节,抓住架构核心,便能理解现代 LLM 训练背后的系统工程难题。
更多推荐
所有评论(0)