3. 硬件选型与配置:GPU、CPU、内存、网络等硬件选型原则,以及集群拓扑设计对性能的影响
3.1 核心原理:推理集群的“木桶效应”与性能等式
大规模推理集群的性能并非由单一最强部件决定,而是由整个数据通路中最薄弱的环节决定。一个典型的端到端推理请求会依次经过 网络入口 → CPU/内存调度 → GPU 计算 → 结果聚合 → 网络出口。任何一个环节的瓶颈都会直接拉低整体吞吐(Tokens/s)和延迟(TTFT,Time To First Token)。
理解硬件选型,首先要建立两个关键等式:
- 单卡算力利用率 = 实际计算时间 / (实际计算时间 + 等待数据时间 + 同步开销时间)。如果网络或 CPU 无法及时喂足数据,GPU 就会空转等待。
- 集群有效吞吐 = 单卡吞吐 × 卡数 × 并行效率。并行效率受限于拓扑结构中的跨节点通信带宽与延迟。
因此,硬件选型必须围绕“消除数据饥饿”和“降低同步代价”两个核心目标展开。
核心结论:推理集群的性能天花板通常由 GPU 显存带宽(决定单卡算力发挥)与 节点间网络拓扑(决定多卡扩展效率)共同决定。CPU 与内存配置的目标是“喂饱”GPU,而非追求极致算力。
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(胖树) 拓扑,它提供等分带宽,避免热点。设计原则:
- 尽量将同一模型的张量并行组放在同一节点内,避免跨节点 TP 带来的高延迟通信。
- 数据并行副本可跨节点,因为 DP 通信频率低,对延迟不敏感。
- 机架内带宽 > 机架间带宽,调度器需感知拓扑,优先将通信频繁的 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 的同步要求?只有回答完这些问题,才能做出合理的硬件选型决策。