ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

昇腾超节点:破解十万亿大模型训推的算力、存储、通信三堵墙

昇腾超节点:破解十万亿大模型训推的算力、存储、通信三堵墙 十万亿参数的大模型放在一年前还像纸面概念现在昇腾超节点把它变成了一个可以落地的工程目标。我最近一直在跟训推一体化集群打交道也陆续看了昇腾超节点的测试数据和相关方案说实话它对大模型训推场景里“算力、存储、通信”这三堵墙的处理方向踩得相当准。这篇文章就围绕这三堵墙展开聊聊超节点为什么能给出十万亿大模型训推的最优解以及我们在实际落地中能参考哪些经验和教训。不管你是做大模型训练的工程师、搞推理服务的架构师还是准备上AI集群的运维同学这篇都值得花几分钟看看。先说一个很多人容易忽略的事实大模型做到十万亿参数量已经不是把几千张卡堆在一起就能跑的问题了真正卡脖子的往往不是单卡算力而是系统层面的协同效率。昇腾超节点的思路本质上是在硬件架构上把“算力、存储、通信”重新捏合在一起。这种方案和传统集群相比有什么优势、实际部署时要注意什么下面我详细拆开讲。1. 十万亿大模型训推的“三堵墙”到底堵在哪1.1 算力墙单卡再强集群效率上不去也白搭算力看着是最直观的墙。单张AI加速卡的FLOPS每年都在涨但到了十万亿模型这个级别再大的单卡算力都不够用。总得把模型切成很多份塞进几千张卡里并行计算。问题在于切得越碎通信开销越大算力惠特克利用率反而越低。很多人把“总算力”当作唯一指标实际算下来往往连30%的利用率都跑不到。这里的核心矛盾是大模型训练需要的是“有效算力”而不仅仅是“名义算力”。有效算力取决于能否把计算、通信、数据加载这三个环节的重叠优化做到位。我见过不少团队卡买了一大堆结果跑大模型时计算单元大量时间在空转等待数据或者等别的卡把梯度传过来。这时候再多的算力也发挥不出来就像一条流水线工位再多上料和质检跟不上整条线还是得停。昇腾超节点的做法是在物理上把多颗芯片耦合得足够紧让它们协同工作时不用走传统的网络路径直接通过高带宽低时延的片上互联通道交换数据。这相当于把原来一个车间里需要跨工区传送的工件改成了一条传送带上的紧邻工位。带宽上去了时延下来了算力利用率自然就上去了。1.2 存储墙数据喂不饱算力显存容量更是硬约束存储墙有两条线一条是显存容量一条是数据加载吞吐。显存方面十万亿模型光参数就得存好几十TB这还没算梯度和优化器状态。训练时常用的Adam优化器每个参数至少要维护两份额外的状态变量显存需求直接翻好几倍。以前的办法是拼命上卡数用卡多来分摊显存压力但卡一多通信就又成了瓶颈。存储墙和通信墙在这里是缠在一起的不是单独一个问题。数据加载方面同样容易被忽视。训练数据要经过读取、清洗、切分、预处理再喂到GPU/加速卡里。如果数据管道的吞吐跟不上计算速度再强的算力也得停下来等数据。我之前遇到过一个典型的案例数据预处理用了简单的单进程脚本导致GPU利用率一直上不去最后把预处理改成多进程预加载整体吞吐直接翻倍。这说明存储墙不光是容量问题更是带宽和流水线设计问题。昇腾超节点在存储层面的思路是通过统一寻址和池化让多颗芯片可以共享一个“显存池”。哪颗卡缺显存就从池子里动态拿而不是像传统集群那样各自守着自家显存。数据预加载这块也做了专门优化把数据管道和计算流水线重叠得更深让“算”和“读”并行推进而不是串行等待。1.3 通信墙集群越大通信越拖后腿通信墙可以说是大模型集群最隐蔽的杀手。当模型并行度很高时每算完一小步所有卡都要同步一次梯度这种全局同步的通信模式通信数据量极大。传统集群里卡和卡之间通信要经过网卡、交换机、路由时延高、带宽有限而且随着卡数量增加通信模式会从点对点变成全互联网络压力呈几何级数增长。十万亿模型的训练通信量是非常恐怖的。如果降低通信精度或者减少同步频率又会直接影响模型收敛质量和训练稳定性。所以通信墙不是靠软件优化就能完全绕过去的必须从物理架构上把通信路径变短、变宽。这也是为什么超节点方案值得关注的根本原因。昇腾超节点里多颗昇腾芯片不是通过外部网络互连而是通过高速总线和统一内存域互连。芯片之间通信不需要打包成网络报文再经过交换机绕一圈而是直接通过内存语义访问。你可以把它理解成把原来的“局域网传输”变成了“单机内存访问”时延降一个数量级带宽却上了一个数量级。这一招直接把通信墙从“绕路”变成了“直通”。2. 昇腾超节点的整体架构思路与设计逻辑2.1 超节点到底是什么一颗“超级GPU”的诞生超节点这个说法听起来玄说白了就是把多颗昇腾芯片、大容量高速存储、超高速互联网络全部封装在一个节点里对外表现就像一个超大号的“超级GPU”。上层跑模型时看到的是一个能力极强的算力设备而不是一张张零散的卡。我拿生活里的例子打比方传统集群像一个大院里散落着很多间独立办公室每间办公室只有一个员工大家要商量事情得先出门、穿过走廊、甚至到隔壁楼找人。昇腾超节点则像一个打通了所有隔断的大通间每个工位之间就是“转身说话”的距离。员工之间沟通没有走廊绕行协作效率当然不一样。在超节点内部昇腾芯片之间的互联使用HCCS这类高速总线配套统一内存池和智能调度引擎。对外还能通过网络再组合成更大规模的集群。这种设计的好处是既有单节点的超强协同又有集群的横向扩展能力两头都能兼顾。2.2 为什么用超节点架构三个无法回避的物理现实传统集群结构在大模型时代遇到三个物理现实。第一电线和信号传输的物理时延没法无限压缩数据在铜缆和光模块里跑得再快也是有极限的跨机箱通信比同机箱通信恒久地慢。第二带宽和能耗成正比通信带宽越高功耗越高而AI集群的功耗本来已经非常夸张了。第三可靠性问题节点越多故障率越高而大模型训练最怕中途断点每次断点恢复都是巨大的时间和算力损失。超节点架构就是把“尽可能多的协同”放在同一个物理机箱内完成。这样物理距离最短互联时延最低功耗也最可控。同时由于内部通信不需要经过外部交换机故障点大幅减少稳定性更好。我在实际集群中同样体会到减少跨节点通信的比例对训练稳定性有决定性帮助。2.3 超节点与传统GPU集群的对比优势与边界为了更直观地理解我整理了一个对比表方便大家对照自己的场景做参考维度传统GPU集群昇腾超节点方案卡间通信路径跨节点走网络交换机时延高节点内走高速总线时延极低显存使用方式各卡独享显存容量利用率低显存池化动态分配利用率高编程模型需要处理分布式通信细节更接近单卡编程通信对上层透明扩展方式靠增加节点数量通信开销上升快先提升节点内协同再横向扩展适用场景中小模型、对集群灵活性要求高的场景十万亿级大模型训练、高并发推理当然超节点方案也不是银弹。它对机箱内芯片的良率、互联一致性、散热设计要求极高成本也不低。如果模型规模没那么大比如只有百亿级参数传统集群配合成熟的分布式框架反而是性价比更高的选择。所以“最优解”这三个字更应该理解成“在十万亿大模型训推场景下的最优解”而不是所有场景的万能药。3. 训推一体化落地的关键环节与实操要点3.1 训练场景并行策略怎么选超节点怎么用足在训练阶段超节点给我们的最大红利是允许我们采用更激进的并行策略。传统集群里张量并行一般控制在4卡或8卡以内因为跨节点张量并行通信太频繁会严重影响效率。但昇腾超节点内部的多芯片高带宽互联允许把张量并行规模扩展到十几卡甚至几十卡而通信开销依然可控。实际操作时我建议把超节点内的多颗芯片看作“一个超大GPU”优先考虑节点内全张量并行数据并行则放到节点之间进行。比如每个超节点内部把模型切成若干份节点之间跑数据并行再叠加上流水线并行。这样梯度同步的次数大幅减少通信压力也随之降低。具体并行度的选择要结合模型架构和参数量做配置实验不能一概而论。另外一个容易忽略的点是微调场景和全量训练场景对资源的需求不一样。全量训练追求吞吐量适合用大batch size加大规模并行微调则更看重迭代理速度和资源弹性。昇腾超节点支持算力切分能用一部分芯片跑微调任务另一部分跑推理任务。对于企业内部多个团队共享集群的情况这种弹性切分能力非常香。3.2 推理场景低时延和吞吐量的平衡术推理和训练不一样训练追求的是整体吞吐推理的核心指标是时延和吞吐的平衡。十万亿参数模型做推理时显存装不下完整参数传统的做法是模型并行加KV Cache优化但KV Cache同样非常吃显存。超节点的显存池化能力在这里优势非常明显多块芯片的显存可以联合起来承载超大模型的推理不需要频繁地把参数从内存搬到显存。针对长序列推理预填充和逐token生成两个阶段的计算特征差异巨大。预填充阶段是计算密集型适合把整段序列并行吃掉生成阶段是访存密集型需要模型参数反复进出显存。实际调优时建议把这两个阶段拆开配置预填充阶段使用超节点内最大并行度生成阶段则把资源集中到Batch维度提高吞吐。不要用一套配置从头到尾跑到底那样往往两头都顾不上。对于高频推理服务弹性扩缩容很关键。昇腾超节点支持在同一个物理节点内动态划分推理实例比传统集群按整卡扩缩容灵活很多。流量低时可以只用一部分芯片承载服务剩下的芯片切换到训练或其他任务。我自己的经验是这能显著提高集群的整体资源利用率尤其是在流量波动明显的业务场景中。3.3 关键参数配置与调优心得这里分享几个我在配置类似的训推一体化平台时总结出来的调参经验不一定适用于所有场景但可以作为初始模板再微调。先说Batch Size。超节点方案里由于节点内通信极快全局Batch Size可以提高但要注意学习率也随之调整。我常用的做法是线性缩放规则Batch Size翻倍学习率同步提升约1.2倍具体再根据收敛曲线微调。不要机械地按比例放大大模型训练很容易踩到收敛不稳定的坑。显存分配策略上我强烈建议开启显存池化配合计算图优化把激活值释放、碎片整理都交给调度器。很多框架默认不做碎片整理长时间运行后显存碎片化严重甚至会跑到一半OOM。我之前就遇到过一次连续跑了二十多个小时之后显存不足的情况最后发现是碎片导致的开启显存池化自动整理后问题消失。另外超节点场景下数据加载往往成为隐含瓶颈。训练脚本里一定要把DataLoader的num_workers调大并启用预取机制让数据在计算的同时提前加载到设备端。如果训练时GPU利用率先高后低大概率是数据管道跟不上了。用profiler看一下数据加载耗时的占比超过15%就要优化。4. 训推集群运维中的常见问题与排查思路4.1 通信热点导致训练变慢怎么精准定位超节点内部互联速度快但不代表一定不出问题。如果训练时发现整体吞吐上不去同时集群的通信告警却不多就要怀疑是不是出现了通信热点——某一条互联链路过载而其他链路闲置。我的排查方法是先看profiler每个rank的通信等待时间占比再对比不同rank之间的差距。如果某一个rank的等待时间明显高于其他rank大概率就是数据不平衡或并行切分不均匀导致的。可以在切分时将参数均匀打散并检查是否有输入数据倾斜。注意有些情况下是超节点之间的跨节点通信延迟不均这种要检查外部网络链路质量而不是盯着超节点内部。还有一个隐藏坑内存带宽争抢。超节点内多颗芯片共享内存控制器如果某个操作触发大量内存访问会挤占其他芯片的内存带宽资源。遇到这种情况可以通过调整算子执行顺序或者把访存密集型的算子错峰执行来缓解。4.2 存储IO打满数据管道优化实录前面提到数据管道跟不上是个常见问题。我这边踩过比较深的坑是把所有训练数据放在一个共享存储集群里当多个任务同时启动时共享存储的IO会突然打满然后所有任务的卡都在等数据。后来把高频访问的数据集做了本地缓存每个超节点只保留当前迭代所需的数据分片IO压力立刻降下来了。更推荐的做法是把数据预处理结果直接落成本地TFRecord或类似格式避免在线做大量编解码和增强。遇到需要实时数据增强的场景要优先用GPU算子而不是CPU算子让图像处理、文本填充等操作跑在加速卡上减少数据管道的负担。通过这两步我在实际项目中把数据加载耗时减少了60%以上。4.3 训练稳定性断点续训与容错十万亿模型训练动辄数十天稳定性比单纯的速度更重要。在超节点方案中因为单节点集成了大量芯片单个节点故障的影响范围也变大了所以更需要重视容错设计。建议开启异步Checkpoint在训练过程中定期把参数和优化器状态保存下来不要等所有卡同时同步完毕再去保存。如果在超节点环境下做断点续训要注意优化器状态的恢复是否完整。很多框架默认只保存模型参数到了恢复时往往发现优化器状态丢了结果重启后的收敛速度和初始阶段差不多前面几十个小时等于白跑。这是非常遗憾的。所以保存Checkpoint时一定要显式包含优化器状态、学习率调度器状态、随机数生成器状态这三个部分。并行训练中也要关注通信库的超时设置。超节点内部通信超时设置太短有可能在峰值负载时误报故障但超时设置太长真出现问题时发现得又太晚。我的建议是先把超时设得宽松一点比如初始120秒观察稳定运行一段时间后再慢慢收紧。这个值没有通用公式只能靠压力测试来定。4.4 推理时延抖动与OOM两个高频问题怎么解推理服务最怕的是时延抖动。一次请求特别慢会拖垮整体服务质量。时延抖动多半来自两个原因一个是显存碎片化另一个是部分请求的长度特别长导致计算负载不均衡。显存碎片化可以用显存池化加定期整理来解决。长尾请求则在调度层做长度限制把超长请求拆分成多个子请求或者单独排队处理。OOM问题也时有发生尤其是在并发请求量大时KV Cache增长过快会把显存打满。一个实用的经验是对KV Cache做上限控制当占用达到阈值时触发主动释放或把最旧的请求迁移出去。这比靠系统OOM再恢复要可靠得多。昇腾超节点的显存池化在这里帮了很大的忙多芯片之间可以互相借调显存让峰值负载下的OOM概率大幅降低。我实际使用中发现推理OOM不完全是显存容量不够的问题还有很大的因素是显存分配不均匀。开启统一内存池并把分配策略改成“按请求负载动态调整”基本能缓解绝大多数OOM。如果你在传统集群里天天为OOM头疼迁移到超节点架构后这类问题会明显变少。4.5 几个容易被忽略的小细节最后分享几个容易忽略但影响很大的细节。第一电源和散热超节点功耗密度高机房散热跟不上会导致降频性能直接打折扣。不要只看标称功耗要实测满载时的稳定频率。第二网络规划跨超节点的通信仍然要走外部网络集群规划时千万不能忽视外部网络带宽和时延否则节点内再强节点间也会拖后腿。第三容器编排调度器要感知超节点的拓扑结构尽量把同一个并行组分配在同一个超节点内否则软件层不感知物理拓扑超节点的优势就无法发挥。我个人在实际操作中的体会是昇腾超节点这套架构确实是在为“十万亿大模型训推”这个极端场景量身打造。“三堵墙”被拆掉的本质是把物理层的问题交给物理层解决不再靠软件层打补丁。如果你正在规划新的AI基础设施或者准备把集群升级到大模型训推一体化平台不妨认真评估一下超节点方案。设备选型之外更重要的是让配套的调度、存储、网络设计跟上否则再好的硬件也发挥不出应有的价值。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进