3. 硬件选型与配置:GPU、CPU、内存、网络等硬件选型原则,以及集群拓扑设计对性能的影响

3.1 核心原理:推理集群的“木桶效应”与性能等式

大规模推理集群的性能并非由单一最强部件决定,而是由整个数据通路中最薄弱的环节决定。一个典型的端到端推理请求会依次经过 网络入口 → CPU/内存调度 → GPU 计算 → 结果聚合 → 网络出口。任何一个环节的瓶颈都会直接拉低整体吞吐(Tokens/s)和延迟(TTFT,Time To First Token)。

理解硬件选型,首先要建立两个关键等式:

  • 单卡算力利用率 = 实际计算时间 / (实际计算时间 + 等待数据时间 + 同步开销时间)。如果网络或 CPU 无法及时喂足数据,GPU 就会空转等待。
  • 集群有效吞吐 = 单卡吞吐 × 卡数 × 并行效率。并行效率受限于拓扑结构中的跨节点通信带宽与延迟。

因此,硬件选型必须围绕“消除数据饥饿”和“降低同步代价”两个核心目标展开。

核心结论:推理集群的性能天花板通常由 GPU 显存带宽(决定单卡算力发挥)与 节点间网络拓扑(决定多卡扩展效率)共同决定。CPU 与内存配置的目标是“喂饱”GPU,而非追求极致算力。

推理集群端到端数据流与瓶颈定位 客户端请求 并发连接池 接入/路由层 Nginx/LB 请求分发 CPU 主机层 预处理/Tokenization Batch 调度 显存管理 PCIe 5.0 GPU 计算节点 GPU 0 HBM 80GB GPU 1 HBM 80GB GPU 2 HBM 80GB NVLink 900GB/s 节点间网络:RDMA/IB 400Gbps 跨节点张量并行通信 常见瓶颈定位 ① 网络入口带宽不足 → 请求排队 ② CPU 预处理慢 → GPU 数据饥饿 ③ 跨节点通信慢 → 同步等待 端到端性能 = f(单卡算力, 显存带宽, 通信拓扑, 调度效率) 瓶颈定位优先级:网络入口 → CPU 预处理 → PCIe → GPU 算力 → 跨节点通信 优化目标:让 GPU 始终处于“计算忙”状态,而非“等待忙”状态 拓扑设计关键参数 节点内:NVLink 全互联 8卡/节点 最优 节点间:Fat-Tree / Dragonfly 拓扑 避免:跨机架通信 尽量本地化

3.2 硬件选型原则:从 GPU 到 CPU/内存的配套逻辑

3.2.1 GPU 选型:显存容量与带宽优先于峰值算力

推理任务(尤其是 LLM 推理)是典型的 显存带宽受限 任务。模型权重和 KV Cache 需要反复从显存读取,因此 HBM 带宽 比 FP16/BF16 峰值算力更能决定单卡吞吐。选型时需关注:

  • 显存容量:需容纳模型权重 + 激活值 + KV Cache。以 70B 模型为例,FP16 权重约 140GB,加上 KV Cache 和计算预留,单卡 80GB 的 H100/H200 通常需要 2 卡张量并行,而 141GB 的 H200 可支持单卡部署较小 batch。
  • 显存带宽:H100 SXM 的 HBM3 带宽约 3.35TB/s,H200 提升至 4.8TB/s。带宽越高,每 Token 生成速度越快。
  • NVLink 互联:多卡张量并行时,NVLink 带宽决定同步效率。8 卡 A100/H100 的 NVLink 全互联拓扑是最佳实践。

实操建议:对于 7B~13B 模型,单卡 A100/H100 80GB 即可满足;对于 70B 模型,优先选择 H200 141GB 或 2×H100 80GB 张量并行;对于 MoE 模型,需额外关注 expert 分发带来的通信开销,网络选型需升级。

3.2.2 CPU 与内存:避免成为“数据搬运工”瓶颈

CPU 负责请求预处理、Tokenization、采样、调度和 KV Cache 管理。选型原则:

  • 核心数:建议单节点 32~64 物理核心,满足高并发请求的预处理需求。核心数不足会导致 GPU 等待 CPU 完成 batch 组装。
  • 内存容量:需容纳模型副本(用于 CPU 回退)、KV Cache 的 CPU 侧缓冲、以及运行时中间数据。建议内存 : 显存 ≥ 1:1,例如 8×H100 节点配置 1TB 内存。
  • 内存带宽:多通道 DDR5 或 HBM(如 Grace Hopper)可提升 CPU 与 GPU 间的数据交换效率。常规 x86 平台建议 8 通道 DDR5-4800 以上。

3.2.3 网络选型:决定集群扩展效率的命脉

网络是推理集群中最容易低估的瓶颈。推理的并行策略决定了通信模式:

并行策略 通信频率 通信量 网络需求
数据并行(DP) 每步一次梯度同步(训练) 模型大小级别 25/50Gbps 可满足
张量并行(TP) 每层多次 AllReduce 激活值级别,高频 节点内 NVLink,跨节点需 400Gbps RDMA
流水线并行(PP) 每 micro-batch 一次 激活值,低频 100Gbps 可满足
专家并行(EP,MoE) 每 Token 多次 All-to-All Token 级别,极高频率 必须 400Gbps RDMA + 低延迟拓扑

重要警告:如果采用张量并行且跨节点,必须使用 RDMA(RoCEv2 或 InfiniBand) 而非传统 TCP。TCP 协议栈开销会导致通信延迟增加 5~10 倍,直接拖垮端到端吞吐。建议节点间采用 400Gbps HDR InfiniBand 或 RoCEv2 网络。

3.3 集群拓扑设计:从单节点到多节点的性能影响

3.3.1 节点内拓扑:NVLink 全互联是最优解

单节点内 8 卡 GPU 应通过 NVLink 形成 全互联(All-to-All) 拓扑,而非环形或混合立方体。全互联保证任意两卡间通信带宽一致,避免张量并行中的“木桶效应”。以 H100 为例,8 卡全互联的 NVLink 总带宽为 900GB/s,远高于 PCIe 5.0 的 128GB/s。

3.3.2 节点间拓扑:Fat-Tree 与局部性优化

多节点组网时,推荐 Fat-Tree(胖树) 拓扑,它提供等分带宽,避免热点。设计原则:

  1. 尽量将同一模型的张量并行组放在同一节点内,避免跨节点 TP 带来的高延迟通信。
  2. 数据并行副本可跨节点,因为 DP 通信频率低,对延迟不敏感。
  3. 机架内带宽 > 机架间带宽,调度器需感知拓扑,优先将通信频繁的 GPU 分配在同一机架。
# 典型 8 节点推理集群拓扑规划(以 70B 模型为例)
# 每个节点 8×H100 80GB,模型采用 TP=8 节点内 + PP=2 跨节点
# 节点间使用 8×400Gbps InfiniBand 连接

节点0-3: 模型前半部分(PP stage 0)
  每节点内: TP=8 (NVLink 全互联)
  节点间: PP 通信,每 micro-batch 传输激活值

节点4-7: 模型后半部分(PP stage 1)
  每节点内: TP=8 (NVLink 全互联)
  节点间: PP 通信

# 调度策略:同一 PP stage 的 4 个节点尽量位于同一机架
# 减少跨机架通信延迟

3.4 案例:70B 模型推理集群的硬件配置复盘

某团队部署 70B Chat 模型,目标并发 500 请求,TTFT < 1.5s,单 Token 生成速度 > 50 Tokens/s。初始配置为 4 节点 × 8×A100 80GB,节点间 100Gbps RoCE。实测发现:

  • 问题 1:跨节点 TP 通信时,100Gbps 网络成为瓶颈,AllReduce 耗时占单层计算 60%,TTFT 达到 3.2s。
  • 问题 2:CPU 仅 16 核心,预处理队列积压,GPU 利用率仅 45%。

优化后配置:

  • GPU:升级为 4 节点 × 8×H200 141GB,单卡可承载更大 batch,减少 TP 并行度需求。
  • 网络:节点间升级为 8×400Gbps InfiniBand,跨节点通信延迟降低 70%。
  • CPU/内存:每节点升级为 64 核 EPYC + 1TB DDR5,预处理吞吐提升 4 倍。

优化结果:TTFT 降至 0.9s,单 Token 速度 62 Tokens/s,GPU 利用率提升至 82%。

3.5 误区与复盘:硬件选型中的常见陷阱

误区 1:盲目追求 GPU 峰值算力,忽视显存带宽。 推理任务中,FP16 算力往往过剩,而 HBM 带宽才是瓶颈。选型时应优先比较 HBM 带宽与容量,而非 TFLOPS 数值。

误区 2:低估 CPU 预处理能力。 当 GPU 利用率低于 60% 时,首先排查 CPU 是否成为瓶颈。Tokenization、采样、动态 batch 调度都需要 CPU 时间。建议 CPU 核心数与 GPU 卡数比例 ≥ 4:1。

误区 3:网络只关注带宽,忽视延迟与拓扑。 推理的 All-to-All 通信(MoE 模型)对延迟极度敏感。即使带宽足够,过高的网络跳数也会增加延迟。应优先采用低延迟的 Fat-Tree 或 Dragonfly 拓扑,并让调度器感知网络拓扑。

复盘清单:硬件选型前,请先回答以下问题:① 模型权重 + KV Cache 需要多少显存?② 采用何种并行策略?通信频率与数据量是多少?③ 单节点能否容纳 TP 组?④ CPU 能否在 GPU 计算完一个 batch 前完成下一个 batch 的预处理?⑤ 网络延迟是否满足 TP/EP 的同步要求?只有回答完这些问题,才能做出合理的硬件选型决策。