一、GPU集群概述:从单卡到万卡集群的演进之路
大家好,我是这次课程的主讲。今天咱们聊聊GPU集群的来龙去脉。
说实话,我入行那会儿,GPU还是个“游戏卡”。谁能想到,十几年后,它成了AI时代的算力基石。我自己经历过从单机单卡到千卡集群的搭建过程,踩过的坑真不少。今天就把这些经验掰开揉碎了讲给你听。
1.1 GPU计算的发展历程:从图形渲染到通用计算
GPU最初的设计目标很简单——画图快。但后来大家发现,这玩意儿做并行计算特别猛。
- 2007年之前:GPU只能通过图形API(如OpenGL、DirectX)做通用计算。那时候写个矩阵乘法,得伪装成纹理渲染,别提多别扭了。
- 2007年:NVIDIA推出CUDA。这是个里程碑。我记得第一次用CUDA写向量加法,看到几百倍加速比时,整个人都懵了——原来计算可以这么玩。
- 2012年:AlexNet在ImageNet上大杀四方,用的就是两块GTX 580。从那时起,AI社区彻底拥抱了GPU。
- 2016年至今:Volta、Ampere、Hopper架构相继问世。Tensor Core、NVLink、NVSwitch这些技术,让GPU从“计算单元”变成了“计算节点”。
核心观点:GPU的发展史,本质上是“专用化”与“通用化”的螺旋上升。CUDA让GPU通用化,Tensor Core又让它专用化——但这次是为AI专用。
1.2 GPU集群的典型架构:从单机到超大规模
你想想看,单卡再强,也跑不动千亿参数的大模型。所以我们需要集群。集群架构怎么搭?我把它分成三个层次。
1.2.1 单节点架构
一台服务器里插4块或8块GPU。关键看两点:
- GPU间互联:NVLink直连还是走PCIe?我建议能上NVLink就上NVLink。之前有个项目,用PCIe跑分布式训练,通信开销占了40%时间。换成NVLink后,直接降到10%。
- CPU与内存:别小看CPU。GPU要数据,得靠CPU喂。内存带宽不够,GPU就得空转。
1.2.2 机架级架构
一个机架放4-8台服务器。这里的关键是网络:
- 计算网络:推荐InfiniBand或RoCE v2。带宽至少200Gbps。我曾经见过用千兆以太网跑分布式训练,一个AllReduce操作等了几十秒——那画面太美不敢看。
- 存储网络:NFS或Lustre。注意,存储IOPS要够。不然数据加载就是瓶颈。
1.2.3 集群级架构
上百甚至上千个机架。这时候要考虑:
- 网络拓扑:Fat-Tree、Dragonfly、Torus。各有优劣。我个人偏爱Fat-Tree,因为它带宽收敛比好控制。
- 资源管理:Slurm、Kubernetes、YARN。选哪个?看场景。Kubernetes生态好,但Slurm在HPC领域更成熟。
下面这张图,是我自己画的集群架构概览。你看一眼就能明白整体结构。
我的经验:搭建集群时,别只盯着GPU。网络和存储往往是瓶颈。我见过太多人花大价钱买H100,结果用千兆网卡——那真是“好马配破鞍”。
1.3 GPU在AI训练与推理中的核心作用
说白了,AI计算就是矩阵乘法。GPU天生就是干这个的。
1.3.1 训练阶段:算力为王
训练大模型,核心是三个字:快、稳、省。
- 快:GPU的并行计算能力,让训练时间从几个月缩短到几天。以GPT-3为例,如果用CPU训练,估计得几年。用GPU集群,几周搞定。
- 稳:分布式训练最怕什么?节点故障。我遇到过训练到一半,一块GPU挂了,整个任务回滚。后来我们加了检查点(checkpoint)机制,每半小时存一次状态。嗯,这招很土但很管用。
- 省:GPU的能效比远高于CPU。同样是做浮点运算,GPU每瓦特能干的活是CPU的5-10倍。
关键数据:一块A100 GPU的FP16算力是312 TFLOPS。而一颗顶级CPU的FP16算力,大概只有2-3 TFLOPS。差了100倍。
1.3.2 推理阶段:延迟为王
训练可以等,推理不行。用户点一下“生成”,你总不能让他等一分钟吧?
推理对GPU的要求不太一样:
- 低延迟:用TensorRT、ONNX Runtime做模型优化。我习惯把FP16模型转成INT8,精度损失不到1%,但速度能快2倍。
- 高吞吐:用批处理(batching)合并请求。但注意,批大小不是越大越好。我试过把批大小从32提到64,结果显存爆了——嗯,这坑我替你踩过了。
- 弹性伸缩:推理流量有波峰波谷。用Kubernetes做自动扩缩容,白天多开几个Pod,晚上缩回去。省钱又省心。
1.3.3 训练与推理的对比
| 维度 | 训练 | 推理 |
|---|---|---|
| 核心指标 | 吞吐量(样本/秒) | 延迟(毫秒) |
| 精度要求 | FP32/FP16/BF16 | FP16/INT8/INT4 |
| 显存需求 | 大(40GB~80GB+) | 中等(8GB~40GB) |
| 并行方式 | 数据并行+模型并行 | 请求级并行 |
| 典型框架 | PyTorch DDP/FSDP | TensorRT/vLLM |
| 容错要求 | 高(检查点恢复) | 低(快速重启) |
注意:别把训练和推理的硬件混为一谈。训练需要大显存、高带宽。推理需要低延迟、高能效。我见过有人用A100做推理,结果成本高得离谱。其实用T4或者L4就够了。
小结
这一章我们聊了GPU集群的来龙去脉。从单卡到万卡集群,从训练到推理,GPU已经成了AI的“心脏”。
我个人觉得,理解GPU集群的关键在于:别只盯着GPU本身。网络、存储、调度、容错,每一个环节都可能成为瓶颈。你想想看,一块H100要3万美金,但如果你网络配不好,它只能发挥30%的性能——那这钱花得冤不冤?
下一章,我们会深入聊聊资源调度的具体技术。到时候我会分享一些我在实际项目中用过的调度策略和优化技巧。嗯,先卖个关子。