FAQAI 服务器

八张 GPU 为什么不是八倍算力?多卡扩展效率、通信与拓扑怎么理解

GPU 数量增加并不意味着训练或推理性能按卡数线性增长。本文从并行方式、通信开销、NVLink/PCIe 拓扑、NCCL、CPU 与 I/O、Batch 和模型规模出发,解释多 GPU 扩展效率为什么会下降,以及怎样判断 2 卡、4 卡、8 卡是否真正有价值。

多GPU8卡服务器GPU扩展效率NCCLTensor ParallelData ParallelNVLinkPCIe多卡训练多卡推理
Slug
why-eight-gpus-not-eight-times-performance
更新
2026-09-02
来源
4
关系
4

“一张卡跑 100,八张卡是不是就能跑 800?”这是多 GPU 服务器选型中非常常见的误区。GPU 数量增加后,系统多出来的不只是计算资源,也同时增加了数据切分、同步、通信、调度和内存管理成本。

先给结论:多 GPU 的价值不是“把单卡性能直接乘以卡数”,而是让一个更大的模型或更多任务能够并行运行。实际加速比取决于工作负载能否并行、GPU 间通信量、拓扑、并行策略、Batch、CPU/存储供给以及框架实现。某些任务可以接近线性扩展,另一些任务即使增加 GPU,收益也可能很有限。

先区分两个概念:容量扩展和性能扩展

增加 GPU 通常带来两种不同收益:

  • 容量扩展:更多显存可以承载更大模型、更长 Context 或更多并发。
  • 性能扩展:多个 GPU 同时计算,使单位时间处理更多 Token、样本或任务。

容量通常比较容易理解,而性能不一定线性增长。比如一个模型从单卡无法加载变成 4 卡可以加载,这是明确的容量收益;但从 4 卡增加到 8 卡,吞吐是否翻倍,需要看通信和并行效率。

什么叫多卡扩展效率?

可以用一个简单思路理解:

扩展效率 ≈ 多卡实际吞吐 ÷(单卡吞吐 × GPU 数量)

如果单卡吞吐为 X,8 卡实际吞吐接近 8X,说明扩展效率很高;如果只有 4X,则说明增加的计算资源有相当一部分被通信、等待或其他瓶颈消耗。

这个指标必须在相同模型、相同精度、相同输入输出长度和可比的并发/Batch下计算,否则没有直接可比性。

为什么多卡一定会引入额外开销?

大模型训练和推理常见的数据并行、张量并行、流水线并行和专家并行,都需要在 GPU 之间交换信息。

并行方式基本思路典型额外成本
Data Parallel每张 GPU 处理不同数据梯度同步、参数同步
Tensor Parallel一个算子/模型层拆到多张 GPU高频 All-Reduce / All-Gather 等通信
Pipeline Parallel不同层放在不同 GPU 或节点流水线气泡、阶段间传输
Expert ParallelMoE 专家分布在不同设备Token 路由与 All-to-All 通信

NCCL 提供 All-Reduce、All-Gather、Reduce-Scatter、Broadcast 和点对点通信等多 GPU 通信原语,并会根据 PCIe、NVLink、NVSwitch、InfiniBand、RoCE 等可用拓扑选择通信路径。也正因为通信真实存在,多卡计算不可能只看 GPU 数量。

NVLink、PCIe 为什么会影响多卡效率?

当模型通过 Tensor Parallel 等方式频繁交换中间结果时,GPU 间通信带宽和延迟会直接影响计算单元能否持续工作。

常见路径包括:

  • GPU 通过 PCIe 直接或经过 PCIe Switch 通信;
  • 支持 NVLink 的 GPU 通过 NVLink 形成更高带宽的点对点路径;
  • 部分平台通过 NVSwitch 构建更完整的多 GPU NVLink 互联。

因此,两台同样“8×GPU”的服务器,如果一个具有更好的 GPU 互联和拓扑,另一个存在大量跨 CPU Socket 或受限 PCIe 路径,实际多卡表现可能不同。

为什么一定要看拓扑,而不是只看接口规格?

拓扑决定“GPU A 到 GPU B 的数据究竟走哪条路”。有些 GPU 之间可能是直接 NVLink,有些需要经过 PCIe Switch,有些还可能跨 CPU Root Complex。

可以使用 nvidia-smi topo -m 查看 GPU、NIC 和 CPU 之间的拓扑关系。NVIDIA DCGM 也可以查询 NVLink 状态和拓扑信息。

需要注意:拓扑图只能说明连接关系,并不能代替带宽测试和真实应用测试。

模型越大,多卡效率一定越差吗?

不一定。真正关键的是计算量和通信量的比例。

如果每次通信前 GPU 能执行大量计算,通信成本可以被摊薄;如果模型或请求很小,但为了使用更多 GPU 被强行拆分,就可能出现 GPU 大量时间用于等待同步。

因此:

  • 大模型可能必须依靠多卡才能运行;
  • 小模型不一定适合做很高的 Tensor Parallel;
  • 高并发推理有时更适合多副本,而不是把单个请求拆到所有 GPU。

Batch 和并发为什么也会改变 8 卡表现?

GPU 需要足够的并行工作量才能提高利用率。如果请求很少、Batch 很小或输出很短,增加 GPU 后可能没有足够任务填满每张卡。

推理系统还需要在 TTFT、单请求延迟和总吞吐之间取舍。为了追求高吞吐增加 Batch 或并发,可能会改变单请求延迟,因此不能只用一个数字评价多卡性能。

GPU 之外,CPU、内存、存储也可能拖住 8 张卡

即使 GPU 互联很好,如果主机侧无法持续供给数据,多卡同样可能跑不满。

  • CPU 核心不足:预处理、Tokenizer 或调度成为瓶颈;
  • 系统内存带宽不足:主机侧数据搬运受限;
  • NVMe / 网络存储不足:训练数据或模型加载无法及时供应;
  • NIC 拓扑不合理:多节点通信需要跨 NUMA 或受 PCIe 限制;
  • 电源/散热受限:GPU 无法维持目标频率。

从单机 8 卡到多机多卡,为什么更难扩展?

单机内 GPU 通信通常依赖 PCIe、NVLink 或 NVSwitch;跨节点以后,通信还要经过 InfiniBand 或 Ethernet/RoCE 等网络。此时网络带宽、交换机设计、RDMA、GID、拥塞控制和 NIC/GPU 亲和关系都会影响性能。

因此,8 卡单节点能跑好,并不能直接推出 16 卡、32 卡甚至更多节点能够按比例扩展。

判断 8 张卡是否“值”,建议这样测试

  1. 先建立单卡或最小可运行基线。
  2. 固定模型、精度、输入/输出和数据集。
  3. 依次测试 1/2/4/8 卡,而不是只测最终 8 卡。
  4. 记录吞吐、延迟、GPU 利用率、显存、功耗和通信指标。
  5. 用 NCCL Tests 或平台诊断工具验证通信链路。
  6. 比较扩展效率,并判断瓶颈来自计算、通信还是 I/O。

常见误区

误区 1:总 TFLOPS 直接相加就是应用性能

理论算力是硬件上限指标之一,真实训练和推理还受到算子效率、内存带宽、通信和软件实现影响。

误区 2:8 张卡总显存就是一块统一大显存

多卡显存彼此独立。模型需要依赖并行框架进行切分,跨卡访问和同步会产生额外通信。

误区 3:只要 NVLink 正常,多卡就一定线性

NVLink 可以改善特定 GPU 间通信,但模型并行方式、Batch、Kernel、CPU、网络和 I/O 仍然可能限制整体扩展效率。

常见问题 FAQ

Q1:8 卡服务器应该期待几倍性能?

没有通用倍数。不同模型、并行策略和负载的扩展效率差异很大,应通过 1/2/4/8 卡的同条件基线实测判断。

Q2:推理一定要让一个模型占满 8 张卡吗?

不一定。如果模型单卡或少量 GPU 已能放下,高并发服务可能更适合部署多个模型副本;如果模型权重或 KV Cache 超过少量 GPU 容量,则需要更高的模型并行。

Q3:训练为什么通常更看重 GPU 间互联?

训练过程中梯度和参数同步频繁,部分并行方式需要大量集合通信。通信效率低时,GPU 会等待同步,降低整体利用率。

Q4:怎么确认问题是不是 NCCL 或拓扑?

可以结合 nvidia-smi topo、DCGM、NCCL Tests 和实际应用 Profile 逐层排查。单纯看到 GPU 利用率低,不能直接判断根因。

赋创可提供的支持

赋创可结合客户现有模型、并行方式和代表性业务负载,协助梳理多 GPU 平台的显存、拓扑、CPU、网络和存储需求,并通过标准通信测试与真实业务基线建立多卡扩展和验收参考。

方案咨询

验证多 GPU 平台是否真正有效扩展

赋创可结合客户模型、并行方式、输入输出特征和目标吞吐,协助梳理 GPU 拓扑、通信、主机与网络需求,并通过相同负载建立单卡到多卡的性能基线。

咨询算力方案浏览指南