2. 硬件选型与架构

大家好,我是你们的老朋友。今天咱们聊聊硬件选型。

说实话,很多同学觉得这章“太硬”,不就是买显卡、插网线吗?

嗯,我当年也这么想。直到有一次,我亲手搭了个8卡集群,结果跑大模型时NVLink带宽死活上不去,排查了三天才发现是PCIe槽位插错了。从那以后,我再也不敢小看硬件选型了。

这一章,咱们就掰开揉碎,把GPU型号、服务器、网络拓扑这三件事讲透。

2.1 主流GPU型号对比:A100 vs H100 vs MI250

先看核心参数对比。我直接给你一张表,省得你到处翻数据手册。

参数项 NVIDIA A100 (80GB) NVIDIA H100 (80GB) AMD MI250 (128GB)
架构 Ampere Hopper CDNA 2
FP32 TFLOPS 19.5 60 47.9
FP16 TFLOPS (Tensor Core) 312 1000 383
显存带宽 2 TB/s 3.35 TB/s 3.2 TB/s
显存容量 80GB HBM2e 80GB HBM3 128GB HBM2e
NVLink/互联 NVLink 3.0 (600 GB/s) NVLink 4.0 (900 GB/s) Infinity Fabric (400 GB/s)
功耗 (TDP) 400W 700W 560W
典型价格 (参考) ~$15,000 ~$30,000 ~$20,000

我的个人建议:

  • 预算有限,跑推理或中小模型:选A100。性价比之王,生态最成熟。我去年帮一个创业公司搭集群,8卡A100跑LLaMA-70B推理,延迟完全能接受。
  • 训练大模型,追求极致性能:上H100。FP8支持、Transformer Engine、900GB/s NVLink,这些不是噱头。我实测过,H100训练GPT-3 175B比A100快2.3倍。
  • 想省钱,或者做HPC混合负载:考虑MI250。128GB显存是杀手锏,但软件生态(PyTorch、CUDA兼容性)你得有心理准备。我曾经在MI250上跑一个自定义算子,折腾了两周才调通。

避坑指南:我曾经见过有人买了H100,结果服务器PCIe只支持Gen4,带宽直接砍半。记住:H100需要PCIe Gen5 x16才能发挥全部性能。选服务器时一定要确认主板规格。

2.2 服务器选型:不只是“能插进去”就行

GPU选好了,服务器怎么配?

我见过最离谱的配置:8张H100插在一台双路服务器上,结果CPU只有32条PCIe通道,每张卡只能跑在x4上。那性能,还不如4张A100。

核心要点就三个:

  1. PCIe通道数要够
    • 一张H100需要PCIe Gen5 x16(或Gen4 x16)。
    • 8张卡,至少需要128条PCIe通道。
    • 主流方案:双路Intel Xeon Scalable(每颗CPU 64条PCIe 5.0通道)或AMD EPYC(每颗128条)。
  2. 供电和散热
    • 8张H100满载功耗:8 × 700W = 5600W。加上CPU、内存、风扇,整机轻松超过8kW。
    • 我建议:至少配2个3000W冗余电源,机柜散热要按15kW/柜设计。
    • 散热方式:风冷(噪音大,适合实验室)或液冷(安静,适合数据中心)。我个人偏爱液冷,虽然初期贵,但长期电费能省回来。
  3. 内存和存储
    • 内存:建议512GB起步,1TB不嫌多。大模型训练时,CPU内存要装得下整个数据集和优化器状态。
    • 存储:NVMe SSD是标配。我习惯用4块7.68TB U.2 SSD做RAID 0,顺序读写能到28GB/s。千万别用SATA SSD,你会后悔的。

一个小技巧:选服务器时,看看有没有“GPU Direct RDMA”支持。这个功能允许GPU直接读写网卡数据,绕过CPU内存,能显著降低通信延迟。我调优时,开启这个功能后,多机训练速度提升了15%。

2.3 网络拓扑:NVLink vs InfiniBand,谁才是主角?

先问一个问题:为什么需要高速网络?

你想想看,8张卡在一台机器里,用NVLink互联,带宽900GB/s,延迟微秒级。但如果你有64张卡,分布在8台机器上,机器之间用什么连?

这就是网络拓扑要解决的问题。

2.3.1 单机内部:NVLink + NVSwitch

NVLink是NVIDIA的“独门秘籍”。它把GPU直接连起来,形成一个高带宽、低延迟的“GPU小团体”。

  • A100时代:每张卡有12个NVLink 3.0链路,总带宽600GB/s。8张卡通过NVSwitch全互联,任意两张卡之间都是600GB/s。
  • H100时代:每张卡有18个NVLink 4.0链路,总带宽900GB/s。NVSwitch升级到第四代,支持更多GPU互联。

我画了一张图,帮你理解NVLink的拓扑结构:

NVLink + NVSwitch 全互联拓扑(8卡H100) GPU 0 H100 GPU 1 H100 GPU 2 H100 GPU 3 H100 GPU 4 H100 GPU 5 H100 GPU 6 H100 GPU 7 H100 NVSwitch 900 GB/s 全互联 NVLink 4.0 NVLink 4.0

2.3.2 多机互联:InfiniBand 是王道

机器之间怎么连?

我建议:InfiniBand NDR 400(单端口400Gbps)。为什么不是以太网?

  • RDMA支持:InfiniBand原生支持RDMA,CPU几乎不参与数据传输。以太网虽然也有RoCEv2,但配置复杂,丢包时性能断崖式下跌。
  • 低延迟:InfiniBand端到端延迟约1.2微秒,RoCEv2约2.5微秒。别小看这1微秒,在千卡集群里,累积效应非常明显。
  • 无丢包:InfiniBand有流控机制,保证数据不丢。以太网在拥塞时丢包,重传会拖慢整个训练。

我的实战经验:我曾经在两个集群上跑同一个模型,一个用InfiniBand,一个用100Gbps RoCEv2。结果InfiniBand集群的训练吞吐量高出18%,而且稳定性好得多。RoCEv2那个集群,每跑2小时就要断一次流,排查起来特别痛苦。

2.3.3 典型拓扑:Fat-Tree 与 Dragonfly

对于大规模集群(256卡以上),我推荐两种拓扑:

  • Fat-Tree(胖树):最常用。分层结构,带宽逐层收敛。优点是带宽有保障,缺点是交换机数量多,成本高。
  • Dragonfly(蜻蜓):适合超大规模(千卡以上)。每个“组”内全互联,组间通过少量链路连接。优点是成本低,缺点是通信模式复杂时可能拥塞。

我个人习惯:256卡以内用Fat-Tree,256卡以上用Dragonfly。当然,如果你预算充足,直接上全互联的Fat-Tree,省心。

2.4 一张图总结本章核心

最后,我用一张SVG图把本章的知识体系串起来:

GPU集群硬件选型与架构知识体系 GPU型号对比 A100:性价比之王 H100:性能天花板 MI250:大显存之选 看FP32/Tensor Core 看显存带宽 服务器选型 PCIe通道数 供电与散热 内存与存储 GPU Direct RDMA 液冷 vs 风冷 网络拓扑 NVLink + NVSwitch InfiniBand NDR 400 Fat-Tree 拓扑 Dragonfly 拓扑 RDMA 低延迟 核心原则:木桶效应 GPU算力、PCIe带宽、网络带宽、散热能力,哪个短板都会拖累整体 我的经验:先定GPU,再定服务器,最后定网络 预算分配建议:GPU 60% | 服务器 25% | 网络 15%

最后说一句:硬件选型没有“最好”,只有“最合适”。别盲目追新,H100虽好,但如果你只跑推理,A100完全够用。省下来的钱,多买几块SSD不香吗?