
很多人问我的第一句话是AI算力集群到底是怎么拼起来的。虽然市面上有各种AI算力白皮书但真正到了需要组建、运维或者评估一个训练集群的时候光有参数表远远不够。你需要一套AI算力研究框架把芯片、服务器、网络、存储、软件栈和运行调度放在同一个视角里观察否则任何一个环节出问题整个集群的训练效率都会立刻打折。这套框架并不神秘核心就四件事看懂硬件组成理解并行架构掌握运行指标避开常见的坑。我主要基于自己在大模型分布式训练和GPU集群运维中的实践经验来展开适合打算搭建私有大模型训练环境的工程师也适合做算力采购和集群规划的决策者参考。1. 先建立坐标系从四个层面看懂AI算力很多人以为AI算力就是显卡数量比如“我们买了1000张卡”。但实际跑起大模型来1000张卡可能只有600卡的效果甚至更低。原因就在于算力是一个系统性问题需要从多个层面同时观察。1.1 硬件层算力的物理底座硬件层是所有计算发生的地方包含AI芯片GPU/NPU/ASIC、芯片配套的显存、服务器里的CPU与内存、本地高速存储以及连接所有节点的网卡和交换机。这个层面的核心参数不光是“多少TFLOPS”这种芯片计算能力还有三个容易被忽略但极其关键的点。第一是显存容量和显存带宽。大模型的权重、梯度、中间激活都要放在显存里。显存不够再强的算力也白搭只能靠并行策略去切分切分又会带来额外的通信开销。显存带宽则决定了每个芯片读取数据的快慢实测中很多算力浪费不是因为芯片算不动而是数据喂不上。第二是芯片之间、服务器之间的互联方式。芯片内部的互联、机内多卡的互联、跨机的网络互联决定了分布式训练时信息交换的速度。互联差就等于一个团队各干各的但每隔几分钟就要开一次全员大会而且每次开会都有人迟到。第三是整机的功耗和散热设计。一个机柜能放多少算力取决于电和热的管理能力。很多机房在算力规划时没算好这一步结果买回来的高端加速卡因为散热不足强制降频性能直接打七折。1.2 软件层中间件如何决定效率硬件层之上是软件层。AI芯片是硬件但真正让开发者跑大模型训练的是一整套软件栈包括加速芯片的底层驱动和算子库、通信库、深度学习框架、分布式训练框架以及资源调度系统。以最常见的GPU环境为例底层是CUDA和cuDNN这样的库它们负责把PyTorch里的算子翻译成能在芯片上高效执行的指令。通信库NCCL负责让多张卡之间互相同步和传输数据。很多集群跑分布式训练时速度慢查到最后不是芯片不行而是NCCL报错、超时、网络连接不稳定。再往上是PyTorch、Megatron-LM、DeepSpeed这类训练框架。它们不一定决定“算力上限”但决定了你能不能用好算力。同一个模型有人用DeepSpeed的ZeRO策略把显存压得很低有人用最简单的数据并行直接把显存放爆。软件栈的熟练程度很多时候比硬件选型更能拉开差距。1.3 集群层从单卡到万卡的组织方式单台服务器撑不起千亿参数模型的训练所以要把几百上千台服务器组织成一个集群。集群层解决的是“如何让很多台机器像一个整体一样工作”。一个规范的AI算力集群至少要部署三张独立的物理网络。第一张是计算网络跑训练时的梯度同步和参数交换要求带宽最高、延迟最低第二张是存储网络跑数据集的加载和模型检查点的写入对吞吐要求高第三张是管理网络跑SSH登录、监控采集、作业调度不需要太大带宽但必须稳定。有人为了省钱把存储网络和计算网络合在一起结果训练时一保存检查点整个集群的训练速度瞬间掉下去因为存储流量把训练通信的带宽抢走了。这个坑我在很多小集群里都见过。集群层还包含资源调度。主流方案是两类一类是面向HPC和超算中心的Slurm另一类是面向云原生环境的Kubernetes加各种AI调度插件。选哪个不完全是技术问题还要看你已有的运维体系、团队熟悉的工具链、能否实现GPU虚拟化和动态资源分配。1.4 运营层算力发挥了多少、花了多少钱最后一层是很多人忽略的运营层。算力集群不是一次性交付的工程而是需要长期运营的基础设施。运营层关注三件事实际利用率、单位训练成本、可用性。实际利用率要看MFU模型浮点利用率单位成本要看每卡时或每百万Token的训练开销可用性要看集群的平均无故障时间。这三个指标串起来直接决定了算力投入能不能在合理周期内收回成本。我见过不止一个团队花了重金搭建集群却因为没有建立监控体系直到训练频繁中断才发现某个交换机端口光模块坏了几个月全程都没人发现。研究框架如果不包含运营层完整度会大打折扣。2. 实战拆解AI算力集群由哪些部件组成有了四层框架之后再回到一个最原始的问题一套真实的AI算力集群里面究竟有哪些东西我按从内到外的顺序拆给你看。2.1 计算节点解剖一台8卡GPU服务器里发生了什么现阶段绝大多数大模型训练的物理单元是8卡GPU服务器。一台标准8卡服务器内部有CPU、内存、8张加速卡、本地SSD、网卡还有连接这些组件的PCIe总线和NVLink交换机。8张卡之间通常用NVLink或类似的高速互联接口连成一个全互联网络目的是让机内通信带宽远高于跨机通信带宽。以NVIDIA的HGX整机为例8卡之间的通信带宽能达到数百GB/s而跨机通过网卡通信通常只有200Gb/s到400Gb/s约25GB/s到50GB/s。这个数量级差距决定了分布式训练的切分策略必须尽量让频繁通信发生在机内。CPU和内存的作用也很关键。虽然计算主要在加速卡上但CPU负责数据加载、预处理、控制逻辑内存是CPU和卡的中转区。很多集群的CPU和内存配置不足导致数据加载变成瓶颈GPU每训练完一个batch都要白白等上一段时间。我的习惯是至少保证单台8卡服务器有充足的CPU核数和内存容量不要为了省钱配“小马拉大车”。本地SSD负责缓存数据集和临时文件。它不像共享存储那样能跨机器访问但读写速度快适合放高频访问的数据。配合热数据预加载策略能显著降低GPU等待数据的时间。2.2 集群网络计算、存储、管理三张网缺一不可集群网络是AI算力集群里最容易出问题、也最值得投入的部分。网络上按前面的划分至少需要三张物理隔离的网络。计算网络是最重要的。它通常以RoCERDMA over Converged Ethernet或InfiniBand为主搭配高速交换机组成无阻塞或低阻塞网络。现代GPU集群普遍采用leaf-spine两层架构每个leaf交换机连接若干台服务器所有leaf再上行到spine交换机保证任意两台服务器之间都有多条等价路径避免单点瓶颈。存储网络也需要高带宽。训练数据集通常有几十TB到几PB所有GPU节点同时读数据峰值吞吐非常恐怖。如果用普通千兆或万兆网络数据加载会成为全局瓶颈。实践中建议存储网络至少使用100GbE或更高速率且与计算网络物理隔离不要让存储流量干扰训练流量。管理网络是排障的生命线。它的要求是稳定、可远程访问。没有管理网络一旦计算网络出问题你连服务器IP都登不上只能去机房现场处理。管理网络一般用1G/10G交换机即可但要做好接入认证和日志记录。2.3 存储设计权重、数据集、检查点都放在哪AI算力集群的存储不能笼统地说“一个盘阵”。按数据访问特点至少分三层。第一层是高速并行文件系统例如Lustre、BeeGFS、VAST等。它面向海量小文件和频繁读写负责保存训练数据集、代码、权重副本。并行文件系统的关键指标是聚合带宽。我测过一些方案数据放到本地盘和放到远程并行文件系统同样的训练脚本端到端性能可能差20%以上。第二层是对象存储例如MinIO或云厂商的对象存储服务。它适合保存原始数据、归档的检查点、日志。对象存储的优点是容量大、弹性扩展、成本低缺点是读写延迟高不能直接当热数据盘用。第三层是高性能内存缓存层。有些集群在计算节点本地NVMe盘上再做一层缓存甚至用内存做缓存目的是把高频访问的数据尽量留在本地。这个设计在千亿模型训练时尤其重要因为每次重启训练都要重新加载权重和数据集加载时间能省则省。存储设计的原则很简单热数据靠近计算冷数据降低成本关键数据多副本。检查点的保存策略也要提前规划是全量保存还是周期性保存这会直接影响训练恢复的时长。2.4 调度和运维让集群“动起来”的软件力量硬件的架子搭好之后还需要一套软件把资源“分配”出去。常见的资源调度器有Slurm、Kubernetes搭配Kueue/Volcano也有商业化的AI平台软件。调度器解决两大类问题。第一类是“谁来用”多团队共享集群时怎么分配GPU配额、怎么限制最长运行时间、怎么保证大作业不被小作业饿死。第二类是“怎么用”作业提交后是独占整机还是共享单卡是固定资源还是弹性扩缩容。我见过很多团队忽略调度策略结果出现“一个任务占着8张卡却只用30%算力旁边等着的任务排队排了几个小时”的现象。调度策略的核心不是工具本身而是你定义的排队优先级、资源回收策略、抢占机制。运维层面至少要采集几类监控数据GPU利用率、显存占用、卡间通信带宽、网络丢包率、存储IOPS和吞吐、集群温度功耗。缺少可视化监控就无法定位训练抖动和资源浪费的根源。3. 从4卡踩坑到万卡挑战并行的几种姿势AI算力集群的核心价值是支撑大模型训练而大模型训练的核心是并行。一台8卡服务器内必须解决多卡并行多个机柜之间必须解决跨节点并行。这部分是最考验架构理解能力的地方。3.1 数据并行和FSDP集群扩展的默认选项数据并行是最基础的并行方式把一个大batch的数据切成多份每张卡持有一份完整的模型副本各自计算梯度然后通过AllReduce通信把所有卡的梯度求和再同步更新每张卡的参数。数据并行的问题在于显存。千亿参数的模型每张卡都放一份完整参数显存根本装不下。于是出现了ZeRO也就是将参数、梯度、优化器状态分片到各个GPU上。业界把这一套思路叫FSDP或者DeepSpeed ZeRO Stage 3。它让集群能训练更大的模型但代价是通信量显著上升。所有GPU都要在训练过程中互相交换分片数据对网络带宽的要求比普通数据并行高出一个量级。我个人的经验是百亿参数以下的模型ZeRO Stage 2就够用千亿参数级别的模型必须要上ZeRO Stage 3或混合策略同时搭配高带宽网络。网络带宽不够的情况下强行开ZeRO Stage 3训练速度可能比不开还慢因为通信开销盖过了显存节省带来的收益。3.2 张量并行与流水线并行单卡放不下的时候怎么办当单个Transformer层大到一张卡放不下时就要做层内切分或者层间切分。张量并行是把一个层内的矩阵乘法切成多块分散到多张卡上例如把注意力头的计算拆给不同GPU。它的通信非常频繁每一步前向和反向都要做AllReduce所以张量并行通常只做在单机内部或NVLink域内避免跑到跨机网络上。流水线并行则是按层切分第1到10层放GPU A第11到20层放GPU B数据像流水线一样顺序通过各卡。它的通信量比张量并行小但存在流水线气泡问题也就是某些阶段有些GPU在空等。解决手段是设置微批次让多个小批次交错流过流水线减少空档期。实际训练千亿模型时很少只使用一种并行策略。比较典型的做法是机内做张量并行机间做数据并行或流水线并行再搭配ZeRO优化器状态。策略之间如何组合需要根据模型的参数量、层数、卡数综合计算。3.3 专家并行与上下文并行MoE和长序列的进阶玩法近两年MoE大模型混合专家模型越来越常见。MoE的每个Token只会激活部分专家所以拥有巨量参数但计算量可控。这时候需要引入专家并行把不同的专家模块放到不同的GPU上每次推理和训练时Token按路由结果去对应的专家所在节点计算因此涉及大量Token的调度通信。另一个趋势是超长上下文。序列长度到了128K甚至1M中间激活量会急剧膨胀。这时候需要上下文并行把同一个序列切成多段放到不同GPU上并行处理并在每段之间同步注意力计算结果。它的通信模式是All-to-All对网络的交换能力要求很高。这两个模式都不好优化单看某一个并行策略都“合理”但组合起来就可能出现通信热点集中、某几台机器拥塞的问题。这类问题的排查通常要靠实际的通信profiling工具也就是测出每一类通信算子的耗时占比而不是靠感觉。3.4 通信拓扑和并行策略的匹配原则并行的方方面面都绕不开通信。有一个简单的匹配原则值得记住通信越频繁的并行策略越要放在通信代价低的地方。NVLink域内也就是一台8卡服务器或一个超节点内适合张量并行和专家并行这类高频通信模式跨节点的网络适合数据并行、流水线并行这类低频大包通信模式。如果你的集群网络是普通的以太网加TCP通信那做张量并行跨节点基本不可行。如果网络升级到了RoCE或InfiniBand并且做到了无拥塞的leaf-spine拓扑那跨节点做部分张量并行也有机会。通信拓扑决定了你能采用哪些并行策略这一判断要在选型阶段就做好否则后面改造网络非常痛苦。4. 用指标说话如何评估一个AI算力集群建好集群之后最需要回答的问题是这套集群到底发挥了多大算力不能只看“GPU利用率90%”就以为万事大吉因为“利用率”这个词在AI场景里有很强的误导性。4.1 峰值算力和有效算力的差距芯片厂商给的算力数字是峰值算力比如FP16下XXX TFLOPS。这个数字的前提是计算单元满载、数据连续流动、没有任何等待。但实际训练中每一步都要经历数据加载、算子调度、通信同步、梯度更新芯片不可能始终跑在峰值。所以研究框架里要把“有效算力”单独拿出来看。有效算力才是真正用来衡量训练速度的指标。它通常通过实际训练吞吐反推每秒钟处理了多少个Token乘以每个Token所需的计算量除以集群总峰值算力得到的就是有效利用率。4.2 MFU和HFU训练效率的标尺业界衡量大模型训练效率最常用的指标是MFUModel FLOPs Utilization。它表示模型实际完成的计算量占芯片理论峰值计算量的比例。我刚做分布式训练时集群MFU只有30%左右也就是买了100张卡只发挥30张卡的效果。后来优化数据加载、网络通信、并行策略组合才慢慢把MFU提升到45%以上。MFU低的常见原因有这么几类数据加载太慢GPU经常空等并行策略切分不合理通信时间占比过高模型结构里算子执行效率低有小算子频繁启动网络拥塞或丢包通信链路不稳定显存不足导致频繁内存换入换出HFU则是硬件浮点利用率有些团队也会关注。MFU和HFU的主要区别是计算口径不同MFU只算模型有意义的计算量HFU会把所有在芯片上执行的浮点操作都算进去。AI集群的优化目标本质上就是让MFU逐渐逼近HFU尽量减少“无效计算”和“等待时间”。4.3 存储吞吐与数据准备时间算力评估不能只盯GPU。存储系统如果跟不上GPU再快也没有用。我看集群性能时会单独看三个存储指标。第一个是数据加载吞吐也就是从存储系统每秒能读多少GB数据进入GPU显存。第二个是检查点写入时间比如千亿模型一个检查点几百GB写完需要多久。第三个是训练重启恢复时间从作业提交到真正开始训练中间要加载权重、编译图、初始化通信。这三个指标直接影响一个团队每天能完成多少实验。如果每次重启都要等20分钟加载数据一天几十次实验浪费的时间累积起来非常可观。把这个时间优化掉往往比纠结某个算子快5%更划算。4.4 算力成本怎么算从每卡时到每Token算力成本不光是硬件采购价要算到每单位训练产出上才准确。常用的口径是每卡时成本也就是集群总成本除以可用的卡时总数更贴近业务的口径是每百万Token训练成本用一次训练的总体算力消耗除以训练数据量。计算每Token成本时要把集群折旧、电力、散热、机房租金、运维人力都算进去。这样算下来你才会发现某些场景用大规模集群训练小模型单位成本高得离谱某些推理负载用专有集群反而比混部集群更便宜。算清楚单位成本才能做出真正理性的算力规划。5. 当前AI算力集群的几个趋势以及对你选型的影响研究框架需要跟着产业一起更新。AI算力集群正在发生几个明显变化产品和架构设计思路都在跟着变。5.1 推理集群正在从训练集群里独立出来很长一段时间大家用训练集群顺带跑推理。但大模型推理负载的特殊性越来越突出促使独立推理集群成为主流。推理和训练的差异主要在三方面。第一推理对延迟敏感用户请求发出后必须在几百毫秒到几秒内返回训练则更关注吞吐量。第二推理需要大量显存存放KV Cache模型本身加KV Cache对显存容量的需求甚至超过训练。第三推理请求的并发分布随时间变化剧烈集群必须有弹性伸缩能力而训练作业通常是长期稳定的。针对这些差异很多团队开始把集群分成训练区和推理区各自独立扩展。这也直接影响了算力采购决策如果你主要跑推理业务那高显存、低延迟、弹性调度比峰值算力更重要。5.2 液冷、高压直流与绿色算力单机柜功率密度一路走高传统风冷已经接近极限。我见过一个机柜放8张高性能加速卡后空调再怎么调温度也压不住只能通过降频才能稳定运行。行业正在大力推广液冷方案通过冷板或浸没式液冷可以把单机柜功率密度提升到风冷的3到5倍。同时供电模式也在变化。传统数据中心用UPS加220V交流供电大型AI算力集群越来越多采用240V/336V高压直流和市电直供架构提高转换效率、减少损耗。绿色算力的意义不只是“节省电费”它直接影响集群的选址和扩容计划。很多城市对新建机房的PUE有明确要求PUE就是数据中心总能耗与IT设备能耗的比值PUE越接近1越节能。AI算力集群如果不能把PUE控制好连建设审批都过不了。5.3 多芯片混合集群与统一调度算力芯片的生态越来越多样一个集群里很可能会混装不同厂商、不同架构的加速卡。有的是为了应对供应链变化有的则是考虑到不同负载对芯片特性的偏好。多芯片混合集群的挑战在于软件栈不同、通信库不同、底层的算子实现不同原生分布式框架不能完全通用。这种情况下统一调度层变得更重要。调度器要能识别不同机器的异构资源标签按作业的需求分配对应芯片。同时训练框架层面也出现了更多跨厂商的适配层让用户尽可能用一套代码跑通不同硬件。这个方向还在快速演进中短期内异构集群的管理成本会明显高于同构集群采购时需要慎重衡量。5.4 长上下文需求推动显存和互联升级大模型的上下文窗口从几K扩展到几十K、上百K对集群硬件的影响是显存容量和带宽需求激增。KV Cache占用的显存与序列长度成正比超长序列训练时同样的模型和batch size需要的显存是短序列的几倍。这反过来要求更大显存的加速卡、更细粒度的显存管理以及更强的高速互联来传输中间激活。如果你的业务高度依赖长文档、长视频理解、复杂多轮对话那在算力规划时就要把显存需求额外放大。甚至需要特别关注支持超远距离互联的机柜级超节点架构因为长序列训练对多卡之间的协同要求极高。6. 最后一课排障实录与我的避坑清单最后聊点接地气的。无论框架理论上多完整实际跑起来一定会遇到各种问题。这些问题反而不是大而深的技术难题更多是细节上的坑。6.1 我遇到最多的三类集群故障第一类是网络丢包导致的“隐身慢节点”。训练任务不会直接失败但整个集群因为一个节点的通信慢所有GPU都被拖着走。排查时用通信测试工具跑一遍全链路带宽就能很快定位是哪条链路出了问题。这个问题在RoCE网络里特别容易发生尤其是缓冲区配置不合理时轻微拥塞就会造成大量重传。第二类是存储压力导致的IO等待。训练过程中GPU利用率突然从90%跌到30%查看监控发现是存储服务的IO延迟飙升原因往往是另一个训练作业同时在大规模写入检查点。解决办法是把检查点写入路径和正常训练数据读取路径做隔离或者在调度层限制同时启动的检查点数量。第三类是并行配置参数设置失误。比如手动设置张量并行过大导致通信数据量翻倍训练反而变慢。这种情况优先查看各卡的通信占比再回头调整并行策略而不是盲目加大集群规模。6.2 推荐一套从简到繁的排障流程我养成了一个固定的排障习惯先单卡再单机再过集群。拿到一个疑似算力利用率低的问题第一步在单卡上跑一个标准算子或模型训练脚本确认单卡算力没有因为驱动、BIOS或散热降频而打折。第二步做单机多卡测试确认机内通信正常。第三步再扩展到跨节点跑通信基准测试和全链路训练。这个过程能大幅缩小排查范围避免一上来就在整个集群里大海捞针。工具上常用到几类nvidia-smi和dcgmi看GPU状态nccl-tests跑通信基准测试top和iostat看CPU存储状态网络侧用ethtool和交换机丢包计数来定位链路问题。人工看日志的同时最好也搭一套Prometheus监控保留历史曲线很多问题都要和昨天、上周的数据对比才能发现规律。6.3 小集群也是踩坑重灾区不要以为只有万卡集群才有复杂问题。4卡、8卡的小集群同样有很多细节要处理。比如两张卡如果分别插在不同CPU的PCIe通道上跨CPU访问会引入额外的延迟和带宽限制再比如机箱散热风道设计不合理会导致某张卡温度特别高、自动降频。我建议小集群用户也严格按研究框架的四个层面做一遍体检芯片利用率、通信带宽、存储能力、调度策略。这四样体检过关再往上扩展成几百卡乃至几千卡的集群时基础才足够扎实。在我参与过的几个集群项目里最大的感受是AI算力相关的问题往往不是单点技术能够解释的需要同时站在硬件、软件、网络、调度、成本几个维度去看。最后再分享一个小技巧给每一台设备都建立独立的标签和配置基线无论是换固件、调驱动还是改网络参数每次变更都记录清楚。很多看似诡异的问题最后都是因为某次没有记录的变更引起的。养成这个习惯能让你在算力集群翻车时比大多数人更快地找到原因。