1、AI算力集群概述

大家好,我是你们这门课的老朋友。今天咱们聊聊AI算力集群——说白了,就是一堆高性能计算机连在一起,专门给AI干活用的。我最早接触这玩意儿是在2018年,那时候一个8卡GPU服务器就觉得挺牛了。现在呢?万卡集群都成了大厂的标配。变化真快。

什么是AI算力集群

AI算力集群,你可以把它想象成一个「超级计算工厂」。它不是一台机器,而是几十台、几百台甚至上万台服务器组成的群体。这些服务器通过高速网络互联,协同完成一个共同目标——训练大模型或者跑推理任务。

我个人习惯把AI算力集群比作「乐高积木」。每块积木(服务器)本身能力有限,但拼在一起,就能搭出惊人的结构。举个例子,训练一个千亿参数的大模型,单台服务器得跑好几年。但用集群,几千块GPU并行计算,时间能缩短到几周甚至几天。

核心要点: AI算力集群的本质是「并行计算 + 高速互联 + 统一调度」。缺一个,都不叫真正的集群。

核心组件拆解

一个典型的AI算力集群,由五个核心组件构成。我一个个说。

GPU——算力的心脏

GPU是集群里最贵的部件,也是真正的「主角」。目前主流的是NVIDIA的A100、H100,还有国产的昇腾910B。我遇到过不少团队,预算全砸在GPU上,结果网络和存储成了瓶颈——嗯,这个坑后面会细讲。

CPU——管家的角色

CPU不直接参与大规模并行计算,但它负责数据预处理、调度、控制。说白了,GPU是干活的,CPU是管事的。我个人建议,CPU选AMD的EPYC或者Intel的Xeon,核心数多、内存带宽大就行。

内存——临时工作台

每块GPU有自己的显存(HBM),服务器还有系统内存。显存大小直接决定了你能跑多大的模型。比如H100有80GB显存,但训练GPT级别的模型,还得靠模型并行和流水线并行来分摊。

网络——集群的血管

这个最容易被人忽略。我见过一个项目,GPU买了最好的,结果网络用千兆以太网,训练效率直接腰斩。AI集群的网络要求极高,尤其是集合通信(AllReduce)操作,带宽和延迟都敏感。目前主流是InfiniBand(IB)或者RoCEv2,400Gbps起步。

存储——数据的大仓库

训练数据、模型检查点、日志,都得存。存储系统要满足高吞吐、低延迟、高并发。我习惯用并行文件系统,比如Lustre或GPFS。注意,存储别用单点,否则集群一跑起来,存储先挂了,那可就尴尬了。

组件 关键指标 常见选型
GPU TFLOPS、显存大小、显存带宽 NVIDIA H100/B200、昇腾910B
CPU 核心数、内存通道数 AMD EPYC、Intel Xeon
内存 容量、带宽 DDR5、HBM3
网络 带宽、延迟、拓扑 InfiniBand NDR400、RoCEv2
存储 IOPS、吞吐量、容量 Lustre、GPFS、MinIO

集群架构演进

AI算力集群的架构,不是一天建成的。我把它分成三个阶段。

单机时代

最早的时候,一台服务器插4块或8块GPU,就能跑一些小模型。那时候网络不是问题,因为根本不需要联网。我记得2016年做图像识别,一台8卡K80服务器就搞定了。但模型参数一上来,单机就扛不住了。

小规模集群(几十卡到几百卡)

这时候需要把多台服务器连起来。网络拓扑通常是「胖树」结构,GPU之间通过PCIe或NVLink通信,服务器之间用IB或以太网。我踩过一个坑:当时没注意GPU间的拓扑对齐,结果跨节点通信延迟高得离谱。后来用了NVIDIA的DGX系列,才省心不少。

万卡集群时代

到了千卡、万卡级别,问题就复杂了。网络拓扑得用「3D Torus」或「Dragonfly+」,存储得分布式并行文件系统,调度器得支持弹性伸缩和容错。我曾经参与过一个万卡集群的搭建,光网络布线就花了两周。最头疼的是「故障率」——万卡集群每天都有硬件故障,你得设计好容错机制。

避坑指南: 我曾经以为万卡集群就是千卡集群的简单放大。结果发现,网络拥塞、存储瓶颈、调度效率,全都会指数级恶化。所以,架构设计一定要考虑「可扩展性」,别等规模上去了再改。
AI算力集群架构演进 单机时代 1台服务器 4~8块GPU PCIe/NVLink互联 无需网络 小规模集群 几十~几百卡 胖树拓扑 IB/以太网互联 简单调度器 万卡集群 千卡~万卡 3D Torus/Dragonfly+ 400Gbps+互联 弹性调度+容错 规模越大,网络、存储、调度的复杂度指数级上升

典型应用场景

AI算力集群不是摆设,它有三个主要战场。

大模型训练

这是最「吃」算力的场景。训练一个千亿参数的大模型,需要数千块GPU连续跑几周。我参与过的一个项目,训练一次光电费就几十万。训练集群对网络要求极高,因为每步迭代都要做AllReduce同步。我个人习惯用NVIDIA的NeMo框架,它对多节点训练支持得比较好。

大模型推理

训练完了,模型得用起来。推理集群的特点是「延迟敏感」——用户问一句,你得秒回。推理集群通常用更小的批量,更低的精度(FP16甚至INT8),而且需要负载均衡。我遇到过一个问题:推理集群的GPU利用率往往很低,因为要预留余量应对突发流量。后来用了动态批处理和模型量化,才把利用率提上去。

科学计算

AI集群也能干传统HPC的活。比如气象模拟、药物分子动力学、流体力学。这些场景对双精度浮点(FP64)要求高,而AI训练主要用FP16/BF16。所以,如果你要兼顾科学计算,选GPU时得注意FP64性能。我记得有一次帮一个气象局搭集群,他们坚持要FP64高的卡,结果预算翻了一倍。

注意: 不要试图用一个集群同时跑训练和推理。两者的负载特征完全不同,混跑会导致资源争抢,两边都跑不好。我建议训练和推理集群物理隔离,或者用Kubernetes的节点亲和性做软隔离。

好了,这一章的内容就到这里。AI算力集群是个大话题,后面我们会一步步深入每个组件和调度策略。记住,集群不是堆硬件,而是系统工程。硬件、网络、存储、调度,哪个环节出问题,整个集群的效率都会打折扣。


专注资料整理