1. 课程导入与AMD EPYC在AI训练中的定位

欢迎进入《AMD EPYC AI训练基础设施规划与部署》课程。在动手规划机柜、选型网卡或调优分布式训练之前,我们需要先建立一张"全局地图":AI训练基础设施到底由哪些部分组成,EPYC处理器在其中扮演什么角色,它与GPU加速器之间是怎样协同的。只有把这张地图建立起来,后续每一章的选型、布线、调优才有明确的落点。

一、学习目标

完成本章后,你应当能够:

  • 说清一套AI训练集群从计算、网络、存储到供电散热的基本组成,以及各层之间的依赖关系;
  • 理解EPYC处理器在训练节点中的四类核心职责:数据供给、PCIe通道承载、CPU侧计算与通信、系统管理;
  • 描述EPYC与GPU加速器之间的协同关系,特别是PCIe拓扑、NUMA亲和性与数据搬运路径;
  • 针对大模型训练、微调、推理前置处理等典型场景,初步判断CPU与GPU的资源配比方向。

二、AI训练基础设施的组成

一套用于AI训练的集群,可以按"从算力到支撑"的顺序拆成五层。最上层是计算层,由GPU加速器承担矩阵乘加等密集浮点运算,是训练吞吐的主要来源;与之紧邻的是主机层,即搭载EPYC处理器的服务器节点,负责数据预处理、内核调度、通信编排和显存搬运。再往下是网络层,包括节点内GPU互联(如Infinity Fabric、NVLink)和节点间高速网络(如RoCEv2、InfiniBand),决定梯度同步的效率。第四层是存储层,训练数据集、检查点(Checkpoint)和日志都落在这里,需要高吞吐的顺序读与高并发的小文件访问能力。最底层是供电与散热层,单机柜功率密度可达数十千瓦,风冷与液冷的边界直接约束了部署密度。

这五层不是并列关系,而是层层支撑:GPU算得再快,如果EPYC无法及时把数据喂进显存,GPU就会空转;网络带宽再高,如果PCIe通道不足,数据也出不了节点。理解这种依赖,是后续所有规划决策的基础。

AI训练节点:EPYC与GPU的协同数据通路 存储层 数据集 / Checkpoint NVMe · 并行文件系统 主机层 · AMD EPYC 节点 数据供给 解码/增强/打包 PCIe承载 128 lanes Gen5 CPU侧计算 预处理/通信编排 系统管理 调度/监控/容错 NUMA域 · 内存带宽 · 内核亲和性 计算层 · GPU GPU 0 · HBM GPU 1 · HBM GPU n · HBM 网络层 节点内:Infinity Fabric / NVLink | 节点间:RoCEv2 / InfiniBand 梯度同步 · AllReduce · 参数广播 供电与散热层 单柜功率密度 · 风冷/液冷 约束部署密度与稳定性 读取 PCIe DMA 通信 同步 供电 关键约束:GPU算力 ↑ 时,EPYC的数据供给与PCIe通道必须同步匹配,否则出现"算力等待数据" 规划顺序建议:先定GPU规模 → 再定EPYC型号与内存 → 再定PCIe拓扑 → 最后定网络与存储带宽

三、EPYC在训练集群中的角色

很多人会问:训练主要靠GPU,CPU是不是只要"够用"就行?在单卡小模型场景下确实如此,但在多卡、多节点的大模型训练中,EPYC承担着四类不可替代的职责。

第一,数据供给。训练数据往往以压缩包、视频帧或长文本形式存在,需要解码、分词、增强、批处理后再送入显存。这些工作在CPU上完成,EPYC的高核心数(如Genoa 9004系列最高96核)可以让数据加载线程与训练主循环并行,避免GPU因等待数据而空转。

第二,PCIe通道承载。GPU与CPU、GPU与网卡、GPU与NVMe之间的所有数据搬运都要经过PCIe。EPYC 9004单路提供128条PCIe Gen5通道,双路可达160条以上,这决定了单节点能挂多少张GPU、能否给每张GPU配足带宽。通道不足时,即使GPU很强,跨卡通信也会成为瓶颈。

第三,CPU侧计算与通信编排。分布式训练中的梯度规约、参数服务器更新、部分算子(如Embedding查表、稀疏操作)仍在CPU上执行。EPYC的大容量L3缓存(最高384MB)和12通道DDR5内存,能显著降低这些操作的延迟。

第四,系统管理。容器调度、健康检查、日志采集、故障恢复都由CPU侧完成。训练任务动辄运行数天,稳定的管理面是长周期任务不中断的前提。

四、与GPU加速器的协同关系

EPYC与GPU的协同,核心在于"路径最短、亲和最优"。以一台8卡GPU服务器为例:EPYC提供足够的PCIe Gen5通道,使每张GPU都能以x16带宽直连CPU或通过PCIe Switch连接;同时,NUMA域要与GPU的物理位置对齐——如果GPU 0挂在CPU 0的PCIe根复合体下,那么处理该GPU数据的进程和内存就应绑定在CPU 0的NUMA节点上,否则跨NUMA访问会带来额外延迟。

在实际部署中,可以通过以下命令观察这种拓扑关系:

# 查看GPU与NUMA节点的对应关系
nvidia-smi topo -m

# 查看PCIe链路速率与宽度
lspci -vv | grep -A 20 "VGA compatible"

# 查看NUMA节点内存分布
numactl --hardware

如果 nvidia-smi topo -m 显示某张GPU到CPU的路径为 SYS(跨Socket),说明该GPU与当前进程所在CPU不在同一NUMA域,此时应通过 numactl --cpunodebind 或容器CPU绑核来修正。这类细节在后续章节会展开,但方向在此确立:GPU负责算,EPYC负责喂得饱、送得快、管得稳。

五、典型应用场景概览

不同场景对CPU与GPU的配比要求差异明显。大语言模型预训练以GPU算力为绝对核心,CPU主要保障数据管道与通信,通常1颗高核EPYC搭配4~8张GPU;计算机视觉训练中数据解码压力大,CPU核数与内存带宽权重上升;推荐模型训练含大量Embedding与稀疏操作,CPU侧计算占比更高;而推理服务的前置处理(如请求批处理、Tokenization)则更依赖CPU的单核性能与响应延迟。

判断配比是否合理的实用方法:在训练任务运行稳定后,观察GPU利用率(nvidia-smi dmon)与CPU各核占用。若GPU利用率长期低于80%且CPU某几核跑满,说明数据供给或预处理是瓶颈,应优先增加CPU核数或优化数据管道,而不是盲目加卡。

本章建立了整体认知框架:五层基础设施、EPYC的四类职责、与GPU的协同原则、以及场景化的配比方向。接下来的章节将沿着"需求分析—节点选型—网络设计—存储规划—部署调优"的路径,把这张地图逐层落到可执行的方案上。