第二章 硬件选型与成本分析:GPU、内存、网络、存储的配置策略

聊到大模型私有化部署,硬件选型永远是第一道坎。我见过太多团队,模型选好了,框架调通了,结果卡在硬件采购上——要么预算超支,要么性能瓶颈。说白了,选硬件就像配电脑,但比配电脑复杂十倍。

2.1 GPU选型:A100 vs H100 vs 国产卡

GPU是核心中的核心。我个人习惯把大模型训练和推理分开看,因为两者的需求完全不同。

2.1.1 NVIDIA A100:当前最稳妥的选择

A100 80GB版本,目前是私有化部署的「标配」。为什么?显存够大,生态成熟。

  • 显存:80GB HBM2e,可以塞下70B参数的模型(4-bit量化后约35GB,留有余量)
  • 算力:312 TFLOPS(FP16),训练和推理都能打
  • 互联:NVLink 600GB/s,多卡通信不拖后腿

我的经验:如果你预算在100-150万/台服务器,A100 80GB x8是最佳组合。我在某金融客户那里部署过,单机就能跑通LLaMA-70B推理,延迟控制在200ms以内。

2.1.2 NVIDIA H100:性能怪兽,但贵

H100是A100的全面升级。我个人觉得,除非你追求极致性能,否则H100的性价比其实不如A100。

指标 A100 80GB H100 80GB
FP16算力 312 TFLOPS 989 TFLOPS
显存带宽 2 TB/s 3.35 TB/s
NVLink带宽 600 GB/s 900 GB/s
价格(参考) 约12-15万/张 约25-30万/张

为什么会这样?H100的Transformer Engine对FP8做了硬件优化,训练速度能快2-3倍。但推理场景下,优势就没那么明显了。

避坑指南:我曾经帮一家创业公司选型,他们非要上H100,结果预算超了40%,最后只能买4张卡。其实8张A100的效果远好于4张H100。记住:卡的数量有时候比单卡性能更重要。

2.1.3 国产卡:华为昇腾、寒武纪、海光

国产卡这两年进步很大,但说实话,和NVIDIA还有差距。我测试过华为昇腾910B,在推理场景下能达到A100的70-80%性能。

  • 华为昇腾910B:生态最完善,CANN框架对标CUDA,但算子覆盖度还有差距
  • 寒武纪思元590:理论算力不错,但实际部署时坑比较多
  • 海光DCU:兼容ROCm,可以跑PyTorch,但性能稳定性有待验证

我的建议:如果客户有国产化要求,优先选昇腾。但要做好心理准备——同样的模型,在A100上跑通需要1天,在昇腾上可能需要3天。算子适配、性能调优都是额外的工作量。

2.2 内存配置:不仅仅是容量问题

很多人以为内存越大越好,其实不然。大模型部署对内存的要求很特殊。

2.2.1 CPU内存

推理时,模型权重通常存在GPU显存里,但CPU内存用来做什么?

  • KV Cache:推理时生成的中间结果,占用很大。比如70B模型,batch size=32,序列长度2048,KV Cache可能吃掉200GB+ CPU内存
  • 数据预处理:分词、embedding查找,这些都在CPU上完成
  • 模型加载:从磁盘加载到GPU前,先要经过CPU内存

我个人习惯:CPU内存配到GPU显存的2-3倍。比如8张A100(共640GB显存),CPU内存至少配1TB。

2.2.2 显存带宽

这个指标容易被忽略。H100的3.35TB/s带宽,意味着它可以在1秒内读取3.35TB数据。而A100只有2TB/s。带宽越高,推理时首token延迟越低。

小技巧:如果你做推理服务,显存带宽比算力更重要。因为推理是memory-bound的,不是compute-bound的。我测试过,H100的首token延迟比A100低30%,主要就是带宽的功劳。

2.3 网络配置:多卡通信的命脉

单卡跑大模型?不现实。多卡并行时,网络就是命脉。

2.3.1 机内互联

NVLink是NVIDIA的杀手锏。A100的NVLink 600GB/s,H100的900GB/s,这速度比PCIe 4.0 x16(32GB/s)快了一个数量级。

为什么这么重要?以张量并行为例,每个transformer层需要在多卡间同步。如果网络慢,计算单元就在等数据,GPU利用率直线下降。

我曾经踩过的坑:有次客户为了省钱,用了PCIe交换机而不是NVSwitch。结果8卡训练时,通信开销占了40%的时间。后来换成NVSwitch,训练速度直接翻倍。省什么都不能省网络。

2.3.2 机间网络

多机训练时,需要InfiniBand或RoCE。我个人推荐InfiniBand,虽然贵,但稳定。

  • InfiniBand HDR:200Gbps,延迟1-2μs
  • RoCE v2:100Gbps,延迟3-5μs,成本低一些

数据并行时,梯度同步需要AllReduce操作。网络带宽直接决定了训练效率。我算过一笔账:4机32卡训练,InfiniBand比RoCE快15-20%。

2.4 存储配置:别让IO成为瓶颈

存储往往是最容易被忽视的环节。你想想看,模型加载、checkpoint保存、数据读取,哪个不需要存储?

2.4.1 模型存储

一个70B模型,FP16权重约140GB。如果从机械硬盘加载,得等几分钟。我建议用NVMe SSD,至少4TB起步。

  • 读速度:NVMe可达7GB/s,加载140GB模型只需20秒
  • 写速度:训练时每N步保存checkpoint,写速度决定了中断时间

2.4.2 数据存储

训练数据通常很大,几百GB到几TB不等。我建议用分布式文件系统,比如Lustre或GPFS。

为什么?单机存储的IO带宽有限。多机同时读取时,很容易打满。分布式存储可以聚合带宽,比如4台机器,每台10GbE网络,总带宽40Gbps。

我的配置习惯

  • 训练节点:本地NVMe SSD(存模型和临时数据)+ 分布式存储(存训练数据)
  • 推理节点:本地NVMe SSD(存模型)+ NFS(存日志和配置)

2.5 成本分析:算一笔总账

最后,我们来算算成本。以一套8卡A100服务器为例:

组件 配置 预估价格(万元)
GPU 8x A100 80GB 100-120
CPU 双路AMD EPYC 7763 8-10
内存 1TB DDR4 3-5
网络 8x NVSwitch + 4x HDR100 15-20
存储 4TB NVMe + 分布式存储 5-8
其他 机箱、电源、散热 5-8
总计 136-171

看到这个数字,很多人会倒吸一口凉气。但你要知道,这只是一台服务器的价格。训练一个70B模型,通常需要4-8台这样的服务器。

省钱策略

  1. 租不如买:如果只是短期项目(3-6个月),云GPU更划算
  2. 混合部署:训练用H100,推理用A100,性价比最高
  3. 量化模型:4-bit量化后,显存需求降低4倍,可以用更少的卡

嗯,硬件选型就聊到这里。说白了,没有完美的方案,只有最适合你的方案。下一章我们聊聊模型量化,那才是真正省钱的地方。