AI 纪元 追踪人工智能最新进展,深度解读前沿技术

千节点昇腾 910C 集群,通信究竟堵在哪里

公开材料没有给出昇腾 910C 千节点实测。能确认的是,华为 2025 年发布的昇腾 384 超节点把 384 卡纳入高速总线域。规模继续外扩后,排查重点应落在跨域通信、MoE 的 All-to-All、拓扑映射和慢节点。

0 次阅读 约 2251 字 5 分钟 AI 生成
A network cable clamped by a red binder clip, representing a communication choke point in an AI cluster.
A network cable clamped by a red binder clip, representing a communication choke point in an AI cluster.

先把「1000 个节点」说清楚

1000 个节点,可能指 1000 台服务器,也可能指 1000 颗处理器或 1000 个训练进程。口径不同,通信拓扑会完全变样。讨论昇腾 910C 的千节点效率前,至少要明确每台服务器的卡数、节点如何分组,以及训练任务跨过了多少层交换网络。

现有可引用资料没有给出一组完整的昇腾 910C 千节点训练实测。缺少模型结构、并行策略、物理拓扑和通信时间线,就无法判断某个 epoch 的利用率,更不能给出固定的优化幅度。

公开信息能够确认的是:2025 年 5 月 23 日,华为在鲲鹏昇腾开发者大会 2025 上发布昇腾超节点技术,实现了 384 卡高速总线互联。几天后,智东西在相关报道中引用华为昇腾计算业务总裁张迪煊的判断:随着并行规模扩大,传统服务器架构的跨机带宽已经成为训练的关键瓶颈。

这句话比单看 910C 的峰值算力更接近问题本身。集群变大以后,处理器能算多快,只决定了上限;数据能否及时送到下一张卡,才会影响每一步训练到底要等多久。

堵点常在高速互联域的边界

排查昇腾集群时,可以把通信路径分成几层:节点内看 HCCS 等片间互联,超节点内看高速总线,跨出这个通信域后,再看跨机或跨超节点网络。

千节点规模下,容易出现四类卡点:

  • 集合通信跨域。 数据并行需要执行 All-Reduce、Reduce-Scatter 或 All-Gather。参与设备越分散,流量越容易穿过多层网络。
  • MoE 流量不均。 MoE 的专家路由通常会引入 All-to-All。不同专家接收的 Token 数量不一致时,部分链路和 Rank 会先形成热点。
  • 并行策略与拓扑错位。 高频交互的张量并行或专家并行如果被放到不同通信域,训练会反复支付跨域传输成本。
  • 慢 Rank 拖住全局。 集合通信要等待参与者到齐。即使平均带宽看起来正常,只要少数 Rank 长期落后,整步训练仍会出现空等。

因此,看到 HCCS 链路繁忙,并不能直接断定瓶颈就在 HCCS。它也可能只是上游调度不均、消息切得太碎,或者跨域通信没有及时完成所造成的结果。

384 超节点把边界往外推

昇腾 384 超节点的直接作用,是把更多处理器放进同一个高速总线域。智东西及新浪财经相关报道使用了「通信带宽提升 15 倍」的口径,但现有摘要没有交代对比基线、消息规模和测试拓扑,不能把这个数字直接换算成千节点训练速度。

可以确定的架构变化是:原本需要跨服务器完成的一部分通信,现在有机会留在超节点内部。张量切分、专家调度和梯度汇聚如果能利用这个通信域,经过外部网络的数据会相应减少。

但 1000 个节点显然会跨过不止一个 384 卡高速互联域。任务一旦跨域,全局同步和 MoE 的跨域交换仍然存在。384 超节点缩短了部分通信路径,也把主要压力推到了超节点边界;它没有让跨域通信消失。

看 HCCS 占用率还不够

在昇腾环境里,集合通信应结合 HCCL 与 CANN 的调用时间线定位。NCCL 环境中的经验可以参考,但不能直接替代昇腾集群的实测。

训练现象 优先检查的位置
单节点正常,跨机后明显变慢 跨域链路、路由与集合通信分组
MoE 训练步长波动较大 All-to-All、专家负载和 Rank 映射
带宽没有跑满,但计算单元频繁等待 小消息过多、通信串行和算子启动间隔
少数 Rank 持续出现长尾 数据倾斜、拓扑位置及设备或网络异常

更稳妥的排查方法,是让同一训练任务依次跑在单节点、同一高速互联域和跨域环境中,然后比较计算、通信与等待时间。每轮只调整一个变量。否则同时改通信队列、算子融合和精度策略,即使速度发生变化,也很难知道是哪项设置起了作用。

优化先动拓扑,再动算子

第一步通常是重排并行策略。模型允许时,可以优先把通信频繁的张量并行、专家并行放在同一高速互联域,把频率相对较低的数据并行放到域间。具体划分仍要结合模型结构和显存占用,不能只按卡数平均切分。

随后再看计算与通信重叠。如果 CANN 时间线显示大量小型通信算子串行执行,可以合并消息,或在数据依赖满足后提前启动同步。通信感知算子融合也应建立在时间线分析上,不能预设一个固定收益。

MoE 还要单独处理专家负载。某些专家持续接收更多 Token 时,升级总线只能提高链路上限,无法自动消除热点。专家放置、路由分布和跨域次数,应与 All-to-All 的耗时一起观察。

精度策略同样需要端到端测量。FP8、BF16 会改变同步张量的体积,但量化、反量化和累加方式也会增加额外操作。如果计算使用 FP8、通信仍保留 BF16,传输量未必按预期下降。判断标准应是完整训练步长,而不是某一段链路的瞬时带宽。

千节点问题,最后看三份记录

要回答通信到底堵在哪里,至少需要三项信息:物理拓扑图、集合通信时间线,以及各 Rank 的耗时分布。

如果跨出 HCCS 或超节点高速总线域后,通信时间明显增加,瓶颈就在跨域链路;如果只有部分 Rank 长期落后,应继续查拓扑映射和数据倾斜;如果 MoE 比稠密模型更容易出现长尾,重点则是 All-to-All 与专家负载。

昇腾 384 超节点给出了一条明确路线:扩大高速通信域,尽量把高频数据交换留在域内。至于昇腾 910C 跑到 1000 个节点后能获得多少有效算力,最终取决于有多少流量仍需跨过这条边界,以及 CANN 是否把并行任务放到了合适的位置。

相关阅读