2. 硬件选型与采购指南:GPU、CPU、内存、网络、存储
硬件选型这事儿,我做了快十年了。每次新项目启动,总有人问我:“到底该买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 知识体系结构图
下面这张图,是我自己总结的硬件选型决策流程。你可以照着它一步步来。
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万。
硬件选型就聊到这儿。记住,没有完美的配置,只有最适合你场景的方案。