资讯动态

超节点与AI算力集群:从通信域到工程落地的完整解析

发布时间:2026/9/14 22:43:33 来源:尧图企业网站定制
在AI算力集群相关的话题里超节点可能是被误解最多的一个词。我录视频那几天评论区问得最多的一句就是超节点和一个AI算力集群到底什么关系是不是把一堆GPU塞进同一个机柜就叫超节点这期视频脚本因为时长限制剪掉了很多内容这篇就把逻辑线补完整。文章适合正在做大模型训练基座、算力平台选型或者被老板问“我们到底要不要上超节点”的朋友我会尽量把概念、参数和工程经验放在一起讲免得大家看完一堆名词还是不知道怎么落地。先说结论超节点不是一个简单的硬件“大盒子”而是把通信、故障和调度三个维度同时收窄到一个范围内的资源域。理解这一点比记住任何参数都重要。1. 超节点和AI算力集群先把这组关系拆干净1.1 从“一台GPU装不下”说起大模型训练之所以需要多卡本质是单卡显存放不下权重和中间激活。比如一个130B稠密模型BF16权重就超过260GB单张80GB显存的卡连权重都塞不下更别提反向传播还要存中间激活。于是大家开始把模型“切”开放到多张卡上并行计算。可模型一切开新的问题立刻出现每张卡算完自己的那部分必须把结果同步给其他人否则下一层没法继续算。这就是通信问题。早期多卡靠PCIe互联带宽几十GB/s跨服务器靠万兆网卡延迟和带宽都远不够用。后来英伟达在机内做了NVLink跨机用InfiniBand才算把分布式训练真正跑起来。但随着模型规模从百亿涨到万亿一种新矛盾出现了即使有NVLink和IB跨服务器通信仍然太慢。于是大家开始想能不能把几十块甚至上百块GPU用极高带宽连接成一个“超级GPU”让整个训练框架把它当成一台巨型设备来用。这个“超级GPU”就是超节点的雏形。需要特别说明的是超节点不是软件里随便定义一个概念而是一个真实的硬件与系统组织形态。它的核心特征是内部通信带宽远高于对外带宽内部故障会产生大范围连带影响调度器通常把整个域当作一个整体资源来申请和释放。后面我会逐个展开。1.2 超节点的三种定义法我给“超节点”下过三个不同角度的定义分别对应网络、故障和调度在实际工程中三者缺一不可。从通信域看超节点是Scale-up域也就是节点内/机柜内的高速互联域。在这个域里每张GPU之间都有很高带宽的通道典型如NVLink域。对外则通过少量Scale-out端口连接其它超节点。一个直观例子是英伟达GB200 NVL72机柜72颗GPU通过NVLink背板全互联双向聚合带宽约130TB/s单卡对外NVLink带宽约1.8TB/s而跨超节点走的是400G甚至800G交换网络单项带宽只有几十GB/s量级。两者差一个数量级以上这就是“内部”和“外部”的本质区别。从故障域看超节点意味着这些硬件通常共享同一套供电、散热和机柜管理域。说直白点机柜里某一排供电模块或者某一块背板挂了整个超节点内的GPU都会同时掉线。这个性质决定了上层软件必须按超节点粒度做故障隔离和任务恢复。从调度域看调度系统不会把一个超节点拆成若干个零散GPU随便分给不同任务而是倾向于把一整个超节点或其中连续的大块资源分配给一个大作业。资源粒度变大调度就变粗多租户混部也变得更难。这三个定义合在一起才构成“超节点”的完整画像。1.3 AI算力集群超节点的“放大版”AI算力集群不是简单地把很多服务器堆在一起而是由多个超节点通过高速Scale-out网络连接起来的整体系统。每个超节点内部负责高通信密度的计算多个超节点之间负责数据并行、流水线并行或专家并行等通信密度较低的协同。一个常用的类比是物流园区。超节点像园区里一条高度自动化的分拣线线上各个工位之间传送带速度极快零件在工位之间流转几乎没有等待。AI算力集群则是整个园区分拣线之间用货车和主干路连接跨线的物流速度肯定比线内慢但胜在可以无限扩建。很多人会问为什么不能把整个集群做成一个超节点答案是成本和物理约束。要做到任意两张GPU之间高带宽全互联线缆和交换机的数量会随GPU数量平方级增长。几千卡规模下全网状拓扑的线缆成本和功耗高到无法接受所以现实世界只能用“局部高带宽全局低带宽”的分层结构。超节点和集群不是对立关系而是两个不同层级的资源组织形态。2. 拆开AI算力集群三类网络和一个故障域2.1 不要把所有“网络”混为一谈做AI基础设施经常遇到新人把“网络”当成一个笼统概念。实际上一个AI算力集群里至少有三类网络职责完全不同。网络类型典型技术典型带宽延迟量级覆盖范围Scale-up域NVLink、背板铜缆单GPU 1.8TB/s左右亚微秒级超节点内部Scale-out域InfiniBand、RoCE单端口400G/800G1-2微秒级超节点之间存储网络并行文件系统、NVMe over Fabric聚合数百GB/s到数TB/s毫秒级全集群Scale-up域解决的是“模型切分后的高频同步”Scale-out域解决的是“多超节点协同”存储网络解决的是“数据喂给GPU”。这三者的带宽、延迟和成本差异非常巨大。很多集群跑不快不是因为GPU不够而是三类网络的性能配比不对尤其是Scale-out收敛比设计不合理导致跨节点通信被打满。2.2 为什么集群拓扑常用胖树而不是全网状如果学习过传统数据中心网络会对“胖树”或者Clos拓扑非常熟悉。AI算力集群的Scale-out域绝大多数也采用这类拓扑而不是把所有交换机做成一整张全网状。根本原因还是连接数爆炸。N个节点要全互联需要N(N-1)/2条链路1000个节点就是接近50万条逻辑连接。即便用大容量交换机构建两层Clos线缆数量也是惊人的。胖树的思路是任何两台服务器之间不一定有直达链路但都可以通过交换网络经过有限跳数完成通信。同时通过ECMP等价多路径或自适应路由把流量分担到多条上行链路让聚合带宽尽量接近无收敛。超节点内部之所以能用“小全网状”是因为规模被限制在几十到几百颗GPU且使用背板、铜缆等极短距离互联。一旦跨越到上千卡拓扑就必须回到树形或网状混合结构。理解这个边界就能理解为什么超节点的“内部带宽”和集群的“外部带宽”永远不可能做到同一水平。2.3 故障域决定运维和软件设计的基本参数故障域是我在视频里讲得最“用力”的一个点可还是有人忽略。超节点内共享供电、散热、管理面这意味着它既是高带宽域也是高影响域。举个例子一个由32个NVL72机柜组成的集群如果其中一个机柜因为液冷管路故障整体下线直接影响的是72颗GPU。如果这72颗GPU正好都在同一个大型MoE训练任务里调度器必须立刻启动弹性恢复或者断点续训重新分配任务。一次故障可能让上亿参数规模的训练进度回退几十分钟这在训练周期以月计的工况下是不能接受的。所以现在的超节点设计都在努力缩小故障粒度。有的把机柜拆成多个独立供电域有的把背板互连做成冗余双平面还有的在软件层做机制。故障域决定了上层作业的容错策略也决定了集群的可用性上限。选型时只看“多少卡”不看故障域后期运维一定会吃苦头。3. 算清通信账超节点为什么是并行策略的最优解3.1 三种并行策略的通信画像大模型分布式训练常用的并行策略按通信特点可以分成几类。数据并行DP是每张卡保存完整模型副本只同步梯度通信量相对小但同步频率高。流水线并行PP是把模型按层切开不同卡负责不同层通信发生在层与层之间频次较低但每次都要等对方算完。张量并行TP是把某一层的权重切到多张卡上每次前向和反向都要对中间结果做聚合通信频率极高、数据量也大。专家并行EP在MoE模型中非常常见token要动态路由到不同专家所在的GPU本质是All-to-All通信模式更随机。从通信压力看TP和EP是高强度通信场景PP和DP相对温和。超节点存在的核心意义就是把通信强度最高的那部分并行维度牢牢限制在高带宽域内。3.2 一个7B模型的量级感受光说“通信量大”不够直观我们算一笔账。假设一个7B模型hidden size是4096上下文长度是4096精度用BF16。在一次前向传播中某个Transformer层的张量并行all-reduce操作需要同步的张量大小大约是seq_len×hidden_size也就是4096×4096个元素每个元素2字节约32MB。一次all-reduce看起来不大但一层的多个算子都要做80层Transformer累积起来每个micro batch的通信量很容易涨到几十GB量级。这里还有个容易忽略的点all-reduce在不同拓扑下的实际传输开销不同。如果这组TP并行的8张卡都在同一个超节点内走NVLink的带宽可以达到几百GB/s以上如果这8张卡被分散到不同超节点走400G网络和交换机即使无收敛实际端到端带宽也就几十GB/s通信时间可能相差一个数量级。这就是为什么TP维度绝对不能跨超节点跑的深层原因。模型算法会为了TP的通信强度而把这个维度缩得越来越小但缩到8卡或16卡时超节点刚刚好能包住。3.3 从模型倒推超节点规模超节点该做多大不是厂商拍脑袋定的而是由目标模型的并行策略倒推出来的。实操中的判断顺序是先确定主流模型用的TP、PP、EP大小再反推超节点内至少应该容纳多少张GPU。举个例子如果主要训练7B到13B稠密模型业界常用TP8那么超节点至少要有8张GPU在同一个高带宽域内。为了给PP和DP留空间很多集群会选择16卡或32卡作为超节点单元。如果要训练万亿参数MoE专家并行EP可能达到64或128那么一个超节点最好能覆盖一个完整的EP组否则token在跨节点路由时会产生大量All-to-All流量训练效率大幅下降。选型时还有一个容易被忽略的点并行策略不是静态的同一个集群可能要跑不同大小的模型。超节点规模一旦固定就只能通过软件调度去迁就。所以现实中“超节点越大越好”的想法并不成立关键看它能不能覆盖你最重要的通信维度。4. 主流超节点长什么样从NVLink域到机柜级系统4.1 从八卡DGX到七十二卡机柜超节点这个概念在GPU集群里其实早就存在。早期DGX A100或者DGX H100一台8卡的服务器通过NVLink全互联在那个年代就是一个“微型超节点”。8卡NVLink域给TP8的任务提供了非常理想的通信环境。后来模型变大8卡不够装一层巨型权重大家开始把TP扩展到16、32甚至更多。这就要求高带宽域覆盖更多GPU。英伟达在GB200 NVL72上给出的方案是72颗GPU做成一个大的NVLink域内部用背板铜缆全互联整体对外表现为一台逻辑GPU。单卡1.8TB/s的NVLink带宽任意两卡之间也有约900GB/s的直接通道这个数字远高于任何Scale-out网络能提供的带宽。我整理了常见形态的对比方便理解形态GPU规模内部互联方式典型带宽特征主要问题单机8卡DGX8卡NVLinkNVSwitch单卡600GB/sH100规模太小大型模型放不下机柜级NVL7272卡NVLink背板全互联单卡1.8TB/s全域约130TB/s故障域大供电散热复杂云厂商自研超节点64到384卡不等私有协议/PCIe/CXL/光交换单卡数百GB/s到数TB/s生态依赖软件适配成本高4.2 NVL72为什么把规模定在72很多人好奇为什么NVL72偏偏是72颗GPU而不是64或者128从公开信息看这个数字是供电、散热、背板信号完整性和计算需求综合权衡的结果。72颗GPU对应一个机柜或两个机柜单元的供电能力。满负荷下这些GPU的功耗非常高必须用液冷才能把热量导出去。背板铜缆在机柜内短距离传输信号72卡全互联的走线和信号完整性已经非常复杂再往上加卡背板层数、线缆密度和散热设计难度都会急剧上升。另外从大模型推理部署角度看72卡把数千亿参数的稠密模型在FP8精度下几乎可以完整放入显存推理时单次请求就能覆盖全部参数不需要跨机拆分权重这对推理延迟是质的改善。所以NVL72的“72”不是一个理论最优值而是一个工程最优解。4.3 其他路线和自研超节点不是只有英伟达在做超节点。国内头部云厂商和芯片厂商也陆续发布了自己定义的超节点产品思路基本一致用高密度的自研互联协议把几十到几百颗加速卡组合成一个高带宽域。有的强调存算分离有的强调CXL内存池化有的则把多个训练框体通过私有协议组成逻辑超节点。选择不同路线的核心考量是生态匹配度。英伟达的优势在于NCCL、CUDA等软件栈成熟上层框架改动小自研方案的挑战在于通信库、集合通信算法和调度器都要重新适配短期收益不见得能覆盖迁移成本。但从长期看只要大模型训练对通信的依赖不变围绕超节点形态做软硬件协同设计方向一定是成立的。5. 从规划到验收搭建AI算力集群的工程账本5.1 需求估算不要拍脑袋很多团队规划集群时老板给一句“我们要训练130B模型”然后就开始数卡。这里其实有一个可以快速估算卡时需求的公式总计算量约等于6×模型参数量×训练token数。这个6来自一次前向一次反向过程中的前向计算、反向激活计算和梯度更新比例。拿130B模型、1.4万亿token举例粗略计算是6×130e9×1.4e12约等于1.09e24 FLOPs。假设用H100 SXMBF16稠密算力约989TFLOPS训练MFU按40%算有效算力约395TFLOPS。如果准备1000张卡跑一个月总计算量约1000×395e12×30×86400大概1.02e24 FLOPs。四舍五入1000卡跑一个月可以完成一轮1.4T token的130B模型训练。这个估算会随着MFU、并行策略、通信开销、故障恢复时间变化。但它能帮你快速判断“需要多少卡、租多久、大概多少预算”。MFU是模型FLOPs利用率代表的是“理论算力里实际用于模型计算的比例”正常大集群训练MFU能做到35%到50%已经算不错。规划时留出20%-30%的冗余否则一旦出现故障和重试交付时间很容易失控。5.2 网络和存储的常见坑第一个坑是只算端口速率不看实际通信模式。400G端口只是链路速率实际集合通信中all-reduce要经过多轮消息聚合报文大小、拥塞控制、路由算法都会影响最终吞吐。建议在规划阶段就用真实模型做一次小规模压测而不是拿峰值带宽来推算。第二个坑是存储带宽跑不满。很多人以为训练数据读到GPU很快实际上大规模跨节点训练时每个Step都要把几千个样本从存储系统拉出来增强预处理。如果存储聚合带宽不够GPU就会等数据MFU直线下降。更隐蔽的是checkpoint带来的写放大训练过程中定期保存权重一次checkpoint就能产生几百GB甚至数TB的写入。多个任务同时保存时存储很容易打满。常用的做法是分布式内存检查点或者异步保存把写入压力从聚合存储上卸掉。第三个坑是软件栈版本匹配。网络驱动、通信库和框架版本不一致会让通信性能出现非常奇怪的问题。验收前先固定一套经过验证的软件栈再做基准测试能省掉大量排错时间。5.3 上线前必须做的验证分享几个我们上线前一定会做的验证项。通信测试。用NCCL的all_reduce_perf这类工具跑不同消息大小的集合通信对比多卡跨机实际带宽是否接近理论值。如果带宽长期低于70%的理论峰值优先怀疑网络收敛比、路由哈希冲突或者驱动配置。稳定性和功耗测试。跑一个持续几小时的小规模训练任务观察GPU功耗、温度是否稳定、有没有降频。很多液冷机柜早期会出现温度不均导致部分GPU降频整体性能被拖垮。故障恢复演练。把某几张GPU用软件方式模拟故障观察作业能否及时迁移或恢复断点续训的时间是否在可接受范围。故障演练不是可选动作是必须动作。没有验证过的故障恢复机制在真实训练跑了一个月之后第一次触发时大概率会出事故。6. 超节点会不会吃掉整个集群边界与趋势6.1 全网超节点不现实每次讲超节点都有人说既然超节点内部通信这么快那干脆把所有GPU都做一个超节点算了。这个想法目前看还是太天真。全互联的线缆成本、交换机端口密度、背板信号完整性和功耗都不可能在没有物理上限的情况下无限扩张。哪怕光交换技术慢慢成熟也只能把部分动态拓扑做进去把整个集群动态变成一个超节点还非常遥远。更现实的方向是分层架构上做“部分动态化”。比如用光交换机在分钟级重新配置Scale-out域的连接关系让跨超节点通信量较大的任务临时获得更优的拓扑路径。这个方向已经在一些头部云厂商的实验集群里出现但距离大规模商业化还有距离。6.2 超节点给调度带来的麻烦超节点资源粒度变大对调度系统是个不小的挑战。一个小作业如果申请不满一个超节点剩下的碎片资源可能很难再分给另一个作业毕竟跨超节点通信性能差很多。多租户场景下A团队的一个任务占了大半个超节点B团队的任务往往只能在剩余小半块里做性能打折的运行。解决思路之一是超节点内分时复用让多个任务的通信流量错峰思路之二是在软件层引入更细粒度的“逻辑超节点”把物理超节点划分成多个互不干扰的逻辑域。但这样做的代价是需要更复杂的调度和网络隔离能力。未来谁能把超节点调度做顺谁就更有可能把集群利用率提上去。6.3 未来形态会继续分化我个人的判断是超节点这个形态会继续分化出多个分支。训练超节点会继续追求更大、更全互联的高带宽域以覆盖TP和EP的大规模扩展推理超节点则会更加关注长上下文和批处理性能比如一个超节点内尽量放下一整个大模型减少跨节点传输还会有内存超节点把CXL和内存池化推到更极致让计算卡和内存池的关系更灵活。不管哪种形态背后围绕的都是同一件事让通信热点尽量落在高带宽域内让慢速网络只承担低频、可容忍的流量。谁能更高效地做到这一点谁就能在AI算力集群里拿到更好的性价比。最后分享一个我自己常用的判断方法。遇到任何“要不要上超节点”“超节点做多大”的问题先别急着看厂商白皮书先把你计划跑的模型并行策略画成一张通信拓扑图标出哪些通信是高频、大流量的哪些是低频、小流量的。然后看这张图需要什么样的Scale-up域才能覆盖高频通信。这个分析做完答案通常已经浮出水面了。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价