【中国观察北京时间2026年08月15日】
很多人第一次接触 AI 服务器时,会形成一个很直观的认识:如果一张 GPU 有很强的计算能力,那么服务器安装 4 张、8 张甚至更多 GPU,理论上就应该获得几倍的性能。
这个理解只对了一部分。
多 GPU 服务器确实能够显著提高计算能力,但 GPU 数量增加之后,系统并不会自动按照 GPU 数量等比例加速。原因在于,一台 AI 服务器并不是由 GPU 单独组成的计算设备。CPU、系统内存、PCIe 总线、GPU 显存、GPU 之间的互联、存储系统、网络以及软件调度机制,都参与了计算任务的执行。
因此,多 GPU 系统真正要解决的问题不是“如何安装更多 GPU”,而是如何让这些 GPU 在工作过程中保持足够高的利用率,并且让数据能够及时到达需要它们的地方。
从一张 GPU 到多张 GPU,问题发生了什么变化
一张 GPU 工作时,系统结构相对简单。
应用程序首先由 CPU 负责启动和管理,数据从存储系统读取到系统内存,然后根据需要传输到 GPU 显存。GPU 获得数据后执行大量并行计算,并把结果交给后续程序处理。
如果只有一张 GPU,系统中的主要问题通常是 GPU 本身的计算能力、显存容量、数据加载速度以及 CPU 与 GPU 之间的数据传输。
但当服务器增加到 4 张、8 张甚至更多 GPU 后,问题开始发生变化。
此时不仅需要让每张 GPU 获得自己的计算任务,还需要解决 GPU 之间的数据交换问题。
例如在深度学习训练中,每张 GPU 可以处理一部分训练数据。但一次计算完成以后,各 GPU 往往需要交换梯度或者其他中间结果。GPU 越多,需要协调的数据也可能越多。
于是,一个新的问题出现了:
GPU增加了,但通信也增加了。
如果通信速度跟不上计算速度,GPU就可能出现等待。
这就是多 GPU 系统无法简单理解成“显卡数量相加”的第一个原因。
GPU本身很快,但数据不一定能及时到达
GPU的计算能力非常强,但计算单元并不是一直自动保持满负荷运行。
GPU需要数据。
如果数据准备速度跟不上,GPU就只能等待。
例如,一个训练任务需要不断从数据集读取图片、文本或者其他训练样本。数据首先可能位于对象存储、分布式文件系统或者本地 SSD 中,然后经过 CPU 和系统内存,再进入 GPU 显存。
如果存储读取速度不足,或者数据预处理速度太慢,那么即使服务器安装了 8 张 GPU,也可能出现这样的情况:
第一张 GPU正在计算,其他 GPU等待数据;或者所有 GPU都间歇性等待。
这种情况下,继续增加 GPU 数量未必能够解决问题。
反而可能让问题更加明显,因为更多 GPU 同时请求数据,存储和数据处理环节承受的压力也会增加。
所以在 AI 服务器中,经常需要关注一个重要指标:
GPU利用率。
如果 GPU 长时间保持较高利用率,说明计算资源得到了比较充分的使用。
如果 GPU 利用率长期很低,就应该进一步查找原因,而不是简单增加 GPU 数量。
CPU也可能成为瓶颈
很多人谈到 AI 服务器时,只关注 GPU,却忽略了 CPU。
实际上,CPU负责大量控制和准备工作。
例如:
启动训练任务
管理数据加载进程
执行数据预处理
管理操作系统任务
准备 GPU 所需要的数据
处理网络和存储请求
协调不同的软件组件
如果训练过程需要复杂的数据预处理,而 CPU 性能不足,那么 GPU 可能已经准备好下一轮计算,却还没有拿到新的数据。
这时候增加 GPU 并不能解决问题。
例如一台服务器从 2 张 GPU 增加到 8 张 GPU,如果 CPU、内存和数据处理程序仍然保持原来的能力,那么新增的 GPU 未必能够获得足够的数据。
因此,多 GPU 服务器的设计需要考虑计算资源之间的比例,而不是只看 GPU 数量。
系统内存和 GPU 显存不是一回事
AI 服务器中还有一个非常容易被混淆的概念,就是系统内存和 GPU 显存。
系统内存由 CPU 使用,GPU则主要使用自己的显存保存模型、输入数据和中间计算结果。
两者在容量、带宽和使用方式上都有区别。
在模型训练过程中,数据可能从存储系统进入系统内存,然后通过高速互联传输到 GPU 显存。
如果 CPU 内存不足,可能影响数据缓存和预处理。
如果 GPU 显存不足,则可能直接限制模型能够采用的 batch size、模型规模或者计算方式。
因此,不能简单地说:
“服务器有几百 GB 内存,所以就可以运行很大的模型。”
真正需要考虑的是模型参数、中间激活值、优化器状态以及其他运行时数据到底需要多少 GPU 显存,以及这些数据如何在多个 GPU 之间分配。
PCIe为什么重要
GPU通常需要通过高速互联与 CPU 和其他设备通信。
PCIe就是服务器中非常重要的一种高速互联技术。
它承担的任务包括 GPU 与 CPU 之间的数据传输,以及 GPU 与部分其他设备之间的数据交换。
但 PCIe 的带宽是有限的,而且服务器中的 PCIe 拓扑也不是简单的“所有设备直接连接”。
不同服务器可能采用不同的 CPU、PCIe Root Complex、交换芯片以及 GPU 插槽设计。
因此,多 GPU 服务器不能只看:
“这台服务器有8个PCIe插槽。”
还需要知道这些 GPU 是怎样连接到 CPU 和其他设备的。
如果多个设备共享某个带宽有限的链路,那么高负载情况下就可能出现通信竞争。
这也是为什么同样安装 8 张 GPU,不同服务器的实际性能可能存在明显差异。
GPU之间为什么需要高速互联
当多张 GPU 共同完成一个任务时,GPU之间可能需要交换大量数据。
这时 GPU-GPU 通信速度就变得非常重要。
一些 NVIDIA GPU 系统使用 NVLink 等高速互联技术,在特定硬件架构中可以提供比传统 PCIe 更高的 GPU 间通信能力。
更大规模的 AI 计算系统还可能采用 NVSwitch 等专门的互联架构,让多个 GPU之间建立更加适合大规模计算的通信路径。
但这里不能简单理解为:
有 NVLink 就一定快。
实际性能还取决于 GPU 型号、互联拓扑、通信模式、软件栈以及具体训练任务。
例如,如果一个任务很少需要 GPU 之间交换数据,那么 GPU-GPU 通信的重要性可能没有那么高。
如果一个大模型训练任务需要大量梯度同步,那么 GPU之间的通信就可能成为决定整体性能的重要因素。
多 GPU 训练为什么需要通信
以最常见的数据并行为例。
假设服务器有 8 张 GPU。
系统可以把一个训练批次拆成多个部分,让不同 GPU 同时处理不同的数据。
表面上看,这是非常理想的:
一张 GPU 处理一部分,8 张 GPU 就同时处理 8 部分。
但每张 GPU 计算完成以后,模型参数更新通常不能完全各自独立进行。
不同 GPU 需要交换和聚合梯度等信息,使各个副本保持一致。
这意味着:
计算越快,并不意味着整个训练任务一定越快。
如果 GPU计算只需要很短时间,而 GPU之间的数据同步却需要很长时间,那么新增 GPU 带来的收益就会逐渐下降。
这就是所谓的扩展效率问题。
GPU数量增加以后,通信开销可能越来越重要
假设一项任务使用一张 GPU。
整个系统基本只需要处理:
CPU ↔ GPU
当增加到多张 GPU以后,系统还需要处理:
GPU ↔ GPU
如果进一步扩展到多个服务器,则变成:
GPU ↔ GPU ↔ 网络 ↔ GPU ↔ GPU
这时候通信路径变得更加复杂。
跨服务器的 GPU 通信通常需要依赖高速网络以及相应的通信技术,例如 RDMA、InfiniBand 或基于以太网的高速互联方案。
对于大规模训练而言,网络不再只是“让服务器连接互联网”的设备,而是 AI 计算系统内部的重要组成部分。
存储系统同样可能拖慢 GPU
模型训练通常需要处理大量数据。
这些数据可能存放在:
本地 NVMe SSD
网络存储
分布式文件系统
对象存储
不同存储方案的访问特性不同。
如果数据读取速度跟不上训练速度,就需要采用缓存、预取、多进程数据加载等方式,让数据提前准备好。
否则就可能出现:
GPU已经完成当前计算,却等待下一批数据。
这种情况下,增加 GPU 并不能直接解决问题。
因为瓶颈已经从计算转移到了数据供应。
软件也决定多 GPU 能不能真正发挥作用
硬件只是基础。
多 GPU 系统还需要软件栈进行协调。
在深度学习环境中,训练框架需要知道有哪些 GPU 可以使用,并负责将任务分配给不同 GPU。
同时还需要通信库负责 GPU 之间的数据交换。
以 NVIDIA 生态为例,NCCL 就是多 GPU 和多节点深度学习通信中常见的重要组件之一。
在更大的集群中,还需要考虑任务调度、容器、Kubernetes、GPU资源管理、监控以及故障处理。
因此:
8 张 GPU 不等于软件天然知道怎样把8张 GPU用好。
如果训练程序没有针对多 GPU 进行正确配置,那么剩余 GPU 甚至可能没有得到充分利用。
为什么有时候增加 GPU 反而没有想象中那么快
可以把整个 AI 计算过程想象成一条流水线。
GPU负责计算只是其中一个环节。
前面还有数据读取和预处理,后面还有结果处理,中间还存在 GPU之间的数据通信。
只要其中一个环节成为瓶颈,整个系统的效率就会受到影响。
例如:
一张 GPU 的训练速度是 1。
理想情况下:
2 张 GPU ≈ 2
4 张 GPU ≈ 4
8 张 GPU ≈ 8
但实际系统可能变成:
2 张 GPU ≈ 1.8
4 张 GPU ≈ 3.4
8 张 GPU ≈ 5.8
这并不意味着增加 GPU 没有意义,而是说明系统存在通信、同步、数据加载以及其他额外开销。
实际扩展效率取决于具体模型、并行策略、硬件拓扑和软件实现,不能用某个固定 GPU 数量作为所有系统的性能分界线。
多 GPU 系统真正需要优化的是什么
因此,设计多 GPU 服务器时,不能只问:
“最多可以装多少张 GPU?”
更重要的问题应该是:
GPU之间怎么连接?
CPU和GPU之间的带宽够不够?
GPU显存是否足够?
数据能不能及时送到GPU?
GPU之间需要交换多少数据?
服务器之间使用什么网络?
训练框架采用什么并行方式?
通信库是否能够充分利用硬件?
存储系统能不能供应足够的数据?
任务调度是否合理?
这些问题共同决定了一台多 GPU 服务器到底能发挥多少性能。
从单机多卡走向 GPU 集群
当 GPU 数量继续增加,仅靠一台服务器已经无法满足所有计算需求,就会进入多节点 GPU 集群。
这时候系统复杂度进一步提高。
单台服务器内部需要解决 GPU-GPU 通信。
服务器之间则需要解决节点间通信。
同时还需要考虑:
集群网络
GPU资源调度
分布式训练
节点故障
数据分发
作业排队
模型存储
监控与日志
这也是现代 AI 基础设施与普通服务器最大的区别之一。
它已经不再是单纯购买一批高性能 GPU,而是在构建一个计算、通信、存储和软件共同工作的系统。
多 GPU 的核心不是“数量”,而是系统效率
回到最开始的问题。
为什么多 GPU 服务器不能简单理解成多张显卡相加?
因为 GPU 并不是独立工作的孤岛。
它们需要从系统中获得数据,需要与 CPU 和内存交换信息,需要在某些任务中彼此通信,还需要依靠软件框架完成任务划分和同步。
当 GPU 数量增加以后,计算能力增加了,但数据移动、通信、同步和调度的复杂度也随之增加。
因此,一台真正高效的多 GPU 服务器,评价标准并不是简单看安装了多少张 GPU,而是看这些 GPU 能否持续获得足够的数据、能否高效完成彼此之间的通信,以及整个系统能否让计算资源保持较高的有效利用率。
GPU数量只是 AI 计算系统的起点。
从单机多卡进一步走向大规模 AI 集群以后,真正决定性能的,往往已经不只是 GPU 本身,而是 GPU、CPU、内存、互联、网络、存储以及软件系统之间的整体设计。
多 GPU 服务器为什么不能简单理解成多张显卡相加,系统瓶颈究竟在哪里
喜欢这篇报道?
使用下面的功能,方便以后继续阅读和分享 MNewsTV
关于文章收藏
收藏不需要注册帐号,收藏信息仅保存在当前浏览器中。
删除收藏请进入「我的收藏」进行管理。
分享 Facebook | X | WhatsApp | LinkedIn
捐助(Paypal): https://www.paypal.me/observeccp 订阅中国观察电报 Telegram : https://t.me/s/ObserveCCP