2. 硬件选型与采购指南

硬件选型这事儿,我做了快十年了。每次新项目启动,总有人问我:“到底该买A100还是H100?4090行不行?” 说实话,没有标准答案。但有几个核心原则,我踩过的坑可以帮你绕开。

核心原则: 集群训练不是堆硬件,是找平衡。GPU再强,网络跟不上就是白搭。存储再快,CPU调度不过来也是浪费。

2.1 GPU 选型:A100 vs H100 vs 4090

GPU是集群的心脏。我个人习惯把需求分成三类:大模型预训练、微调推理、以及小团队实验。

型号 显存 互联带宽 适用场景 单卡价格(参考)
NVIDIA H100 80GB HBM3 900 GB/s (NVLink) 千亿级大模型预训练 约 25-30 万
NVIDIA A100 80GB HBM2e 600 GB/s (NVLink) 百亿级模型训练、混合精度 约 10-15 万
RTX 4090 24GB GDDR6X 无 NVLink 小模型微调、单卡实验 约 1.5-2 万

A100 是当前最稳妥的选择。我去年帮一家公司搭集群,预算有限,选了8卡A100。跑175B的模型,用DeepSpeed ZeRO-3,吞吐量完全够用。说白了,A100是“万金油”。

H100 强在哪?FP8支持。如果你要训万亿级模型,H100的Transformer Engine能省30%的训练时间。但价格翻倍,你得算算ROI。

4090 呢?嗯,这里要注意。4090没有NVLink,多卡通信全靠PCIe。我试过4张4090跑LLaMA-13B,通信开销占了40%的时间。所以,4090只适合单卡实验或小批量微调。千万别拿它搭大规模集群,你会后悔的。

避坑指南: 我曾经帮一个客户用8张4090搭集群,结果训练速度还不如2张A100。原因就是4090的PCIe带宽只有64 GB/s,而A100的NVLink是600 GB/s。多卡通信时,4090的瓶颈在互联,不在算力。

2.2 CPU 与内存:别让CPU成为瓶颈

很多人只盯着GPU,忽略了CPU。我见过太多集群,GPU利用率只有30%,CPU却跑满了。为什么?数据预处理和调度都在CPU上跑。

CPU选型建议:

  • 核心数: 每张GPU至少配8个物理核心。8卡A100,建议用双路AMD EPYC 7763(128核)。
  • 频率: 2.5GHz以上。数据加载需要单核性能,别买低频的“省电版”。
  • 内存: 每张GPU配128GB系统内存。比如8卡集群,至少1TB内存。我习惯用DDR5-4800,延迟低,带宽高。

个人经验: 我习惯在CPU上跑一个轻量级的分布式缓存(比如Redis),用来缓存预处理后的数据。这样GPU不会因为等数据而空转。效果很明显,吞吐量能提升15%。

2.3 网络:IB vs RoCE,选哪个?

网络是集群的血管。分布式训练中,梯度同步的通信量巨大。你想想看,8卡A100做AllReduce,每轮要同步80GB的梯度。网络慢了,GPU就得干等。

InfiniBand(IB): 我推荐HDR(200Gbps)或NDR(400Gbps)。IB的优势是RDMA原生支持,延迟低至1微秒。适合大规模集群(32卡以上)。

RoCE(RDMA over Converged Ethernet): 成本低,但需要调优。我曾在RoCEv2上踩过坑——丢包率超过0.1%,训练直接崩溃。后来加了PFC和ECN,才算稳定。

特性 InfiniBand RoCEv2
带宽 200-400 Gbps 100-200 Gbps
延迟 1-2 μs 5-10 μs
成本 高(约3倍) 低
稳定性 即插即用 需调优

我的建议: 如果预算充足,直接上IB。如果预算有限,RoCE也能用,但一定要做网络调优。我曾经用RoCE搭过64卡集群,调了整整两周的PFC参数才稳定下来。

2.4 存储:NVMe 与 分布式文件系统

存储决定了数据加载速度。你想想看,训练一个千亿模型,数据集可能几十TB。如果存储慢,GPU每轮都要等数据,效率极低。

本地存储: 每台机器配4块NVMe SSD(如三星PM9A3),做RAID 0。单盘顺序读写7GB/s,4盘RAID 0能到28GB/s。我习惯用本地NVMe存训练数据,因为延迟最低。

分布式文件系统: 推荐Lustre或GPFS。Lustre适合大规模集群(100+节点),GPFS适合中小规模。注意,分布式文件系统的元数据性能是关键。我曾经用Lustre存100万个小文件,结果ls命令卡了10秒。后来改用大文件合并存储,问题解决。

存储架构建议: 本地NVMe存热数据(当前训练集),分布式文件系统存冷数据(历史数据集和checkpoint)。这样既保证速度,又保证容量。

2.5 知识体系结构图

下面这张图,是我自己总结的硬件选型决策流程。你可以照着它一步步来。

硬件选型决策流程 需求判断:模型规模 & 预算 GPU 选型 千亿级 → H100 | 百亿级 → A100 | 小实验 → 4090 CPU & 内存 每GPU配8核CPU + 128GB内存 | 推荐AMD EPYC + DDR5 网络 预算充足 → InfiniBand | 预算有限 → RoCE(需调优) 存储 热数据 → 本地NVMe RAID 0 | 冷数据 → 分布式文件系统

2.6 采购清单示例

最后,给你一个8卡A100集群的采购清单参考。这是我去年实际采购的配置,总成本约150万。

组件 型号 数量 单价(万)
GPU服务器 NVIDIA DGX A100 1台 120
网络交换机 Mellanox QM9700 (IB HDR) 1台 15
存储节点 4x NVMe SSD + Lustre 1套 10
线缆 & 配件 IB线缆、电源、机柜 1套 5

最后提醒: 采购前一定要做POC(概念验证)。我习惯先租几台云服务器跑一下测试,确认性能达标再下单。别问我为什么——我曾经一次性买了8台机器,结果发现NVLink带宽不达标,退货运费花了2万。

硬件选型就聊到这儿。记住,没有完美的配置,只有最适合你场景的方案。