2. AI算力集群的组成:计算节点、网络、存储、管理软件等核心组件

2.1 核心组成总览:从“一堆服务器”到“一台超级计算机”

AI算力集群的本质,是将大量通用服务器通过高速网络和分布式存储连接起来,并借助管理软件统一调度,使其对外表现为一台逻辑上的“超级计算机”。理解集群的组成,不能只盯着GPU数量,而要从计算、网络、存储、管理四个维度建立整体视图。任何一个维度成为短板,都会拖累整个集群的算力发挥。

下图展示了AI算力集群的典型分层架构,清晰呈现了各核心组件之间的协作关系:

AI算力集群核心组件架构 管理软件层 调度平台(Slurm/K8s) · 监控系统 · 作业管理 · 容器引擎 计算节点层(GPU服务器) 计算节点 1 8× GPU (H800/A800) CPU · 内存 · NVMe 计算节点 2 8× GPU (H800/A800) CPU · 内存 · NVMe 计算节点 N 8× GPU (H800/A800) CPU · 内存 · NVMe 节点内:NVLink / NVSwitch 高速互联(GPU间通信) 高速网络层 计算网络:InfiniBand NDR 400Gbps / RoCEv2 200Gbps 存储网络:NVMe-oF / FC · 管理网络:千兆/万兆以太网 分布式存储层 并行文件系统:Lustre / GPFS / BeeGFS · 对象存储:Ceph / MinIO 训练数据集 · Checkpoint · 日志 · 模型仓库

从图中可以看到,AI算力集群并非各组件的简单堆叠,而是通过分层解耦、高速互联的方式协同工作。下面逐一剖析每个核心组件的职责与选型要点。

2.2 计算节点:集群的“算力心脏”

计算节点是实际执行深度学习训练和推理任务的服务器,通常采用CPU + GPU异构架构。一个典型的AI训练节点配置如下:

  • CPU:2颗Intel Xeon或AMD EPYC处理器,负责数据预处理、任务调度和指令下发。
  • GPU:8张NVIDIA H800/A800或国产加速卡(如昇腾910B),通过NVLink全互联。
  • 内存:512GB~2TB DDR5 ECC内存,满足大模型参数驻留需求。
  • 本地存储:2~4块NVMe SSD(每块3.2TB~7.68TB),用于缓存训练数据和临时checkpoint。
  • 网卡:8张400Gbps InfiniBand或8张200Gbps RoCE网卡,每张对应1个GPU,保证梯度同步带宽。

节点内GPU间通信通常采用NVLink + NVSwitch拓扑,以H800为例,8卡全互联的聚合带宽可达900GB/s,远高于PCIe 5.0的128GB/s。这种设计使得节点内通信延迟极低,适合张量并行(Tensor Parallelism)等需要高频同步的并行策略。

2.3 高速网络:决定集群规模的“神经系统”

当模型规模超过单节点显存容量时,就需要将训练任务分布到多个节点上。此时,网络性能直接决定了集群的扩展效率。AI集群网络通常分为三个平面:

网络平面 技术选型 带宽/速率 主要用途
计算网络 InfiniBand NDR / RoCEv2 400Gbps / 200Gbps GPU梯度同步、集合通信(AllReduce)
存储网络 NVMe-oF / 25GbE 100Gbps / 25Gbps 训练数据读取、checkpoint写入
管理网络 千兆/万兆以太网 1Gbps / 10Gbps 节点管理、监控、作业提交

在千卡级集群中,计算网络通常采用Fat-Tree(胖树)或Torus(环状)拓扑。胖树结构通过核心层交换机提供无阻塞转发,但需要大量交换机;Torus拓扑则牺牲部分带宽换取更低的建造成本。实际部署中,还需配置自适应路由和拥塞控制(如InfiniBand的ECMP),避免多任务并发时出现热点。

2.4 分布式存储:大模型训练的“数据粮仓”

AI训练对存储提出了“大容量、高带宽、低延迟”的三重挑战。一个千亿参数模型,其训练数据集可能达到数十TB,而checkpoint文件动辄数百GB。分布式存储系统需要同时满足:

  • 高吞吐顺序读:数据加载阶段需要以10GB/s以上的速度将样本送入GPU。
  • 低延迟随机读:数据增强和预处理阶段需要频繁读取小文件。
  • 高并发写入:训练过程中周期性保存checkpoint,多个节点同时写入。

业界主流方案是Lustre或GPFS并行文件系统,配合NVMe SSD作为缓存层、HDD作为大容量层。例如,一个中等规模的集群可配置如下存储架构:

存储集群配置示例(约5PB容量):
- 元数据节点(MDS):2台高性能服务器,管理文件目录和权限
- 对象存储节点(OSS):24台存储服务器,每台配置:
  - 2× 25GbE 网卡(存储网络)
  - 4× 7.68TB NVMe SSD(缓存层)
  - 12× 16TB HDD(容量层)
- 客户端挂载方式:Lustre客户端,挂载点 /mnt/training_data

此外,NVMe-oF(NVMe over Fabric)正逐渐成为新一代AI存储的热门选择。它允许GPU节点直接通过RDMA访问远端NVMe设备,将存储延迟从数百微秒降低到几十微秒,特别适合需要频繁读取小batch数据的场景。

2.5 管理软件:集群的“智慧大脑”

管理软件层负责将硬件资源抽象化、调度化和可观测化,是集群真正“跑起来”的关键。核心组件包括:

  1. 资源调度器:Slurm、Kubernetes(配合Volcano)、Univa Grid Engine等。以Slurm为例,用户通过srun或sbatch提交作业,调度器根据GPU数量、显存大小、网络拓扑等条件分配节点。
  2. 容器引擎:Docker + NVIDIA Container Toolkit,或Singularity/Apptainer。容器封装了CUDA、cuDNN等依赖,保证训练环境一致性。
  3. 监控系统:Prometheus + Grafana + DCGM(NVIDIA数据中心GPU管理器),实时采集GPU利用率、温度、显存占用、网络吞吐等指标。
  4. 作业管理平台:如OpenPAI、Kubeflow,提供Web界面、日志查看和实验追踪功能。

一个典型的作业提交流程如下:

# 用户提交训练作业(Slurm)
srun -N 4 --gres=gpu:8 \
     --ntasks-per-node=8 \
     --cpus-per-task=16 \
     --container-image=nvcr.io/nvidia/pytorch:24.01-py3 \
     python train.py --model llama2-70b

调度器会检查集群中是否有4个空闲节点且每个节点有8张可用GPU,然后分配资源并启动容器。整个过程对用户透明,实现了多用户共享集群资源。

2.6 案例:一个典型千卡集群的配置清单

以某企业部署的1024卡H800训练集群为例,其核心组件配置如下:

组件 配置 数量
计算节点 8× H800 80GB / 2× CPU / 2TB 内存 128台
计算网络 InfiniBand NDR 400Gbps,胖树拓扑 核心交换机 32台
存储系统 Lustre并行文件系统,NVMe缓存+HDD容量 可用容量 10PB
管理节点 Slurm控制节点 + 登录节点 + 监控节点 3台

该集群实测在训练GPT-3 175B模型时,MFU(模型浮点利用率)可达48%~52%,网络瓶颈导致的空闲等待低于5%。

2.7 常见误区与复盘

误区一:盲目追求GPU数量,忽视网络和存储。 不少团队在采购时只关注GPU型号和数量,却使用25GbE以太网作为计算网络。结果在训练大模型时,AllReduce通信耗时占比超过60%,GPU利用率不足30%。复盘结论:计算网络带宽应与GPU算力匹配,通常每张GPU至少需要200Gbps带宽。
误区二:将所有数据都放在本地磁盘。 有团队为了省事,把训练数据直接拷贝到每台节点的本地NVMe盘上。当数据集超过单盘容量或需要多节点共享同一数据集时,就会陷入数据不一致和存储浪费的困境。正确做法:使用分布式存储统一管理数据集,本地盘仅作为缓存。
误区三:管理软件“裸奔”,不做监控和告警。 集群运行中GPU故障、网卡降速、温度过高等问题时有发生。如果没有完善的监控体系,往往要等到训练中断才能发现。建议:部署DCGM + Prometheus,设置GPU ECC错误率、NVLink带宽、IB端口丢包率等关键告警阈值。

总结而言,AI算力集群的四大组件——计算、网络、存储、管理——缺一不可。计算节点提供算力,网络打通数据通路,存储保障数据供给,管理软件实现资源编排。在规划集群时,应遵循“木桶原理”,确保各组件能力匹配,才能让昂贵的GPU真正发挥出应有的训练效率。