昇腾超节点不是简单地把更多 AI 芯片堆在一起,而是通过高速互联、统一内存编址和大规模并行调度,把成百上千张昇腾 NPU 组织成逻辑上接近“一台超级计算机”的算力单元。它的核心价值在于:在万亿级大模型训练场景下,降低跨卡通信开销,提升集群有效算力利用率,并支撑 MoE、多模态、超长序列等复杂模型稳定运行。

一、昇腾超节点是什么

昇腾超节点是以昇腾 AI 芯片为核心构建的超大规模算力集群单元。早期典型形态包括昇腾 384 超节点,即 Atlas 900 A3 SuperPoD,它集成了 384 颗昇腾 NPU 和 192 颗鲲鹏 CPU,通过高速总线实现卡间全互联,形成一个高密算力底座。

后续产品进一步扩展了规模。昇腾 950 超节点支持 1024 卡规模,并实现了业界较大的 256TB 跨物理节点统一内存编址空间。昇腾 960 超节点则进一步扩展到 4096 卡规模,可提供 8 EFLOPS FP8、16 EFLOPS FP4 算力,并引入 NPO 近封装光互联技术,降低系统功耗和通信时延。

从架构上看,昇腾超节点主要解决了三个问题:

  1. 算力密度不足:单卡无法承载万亿参数模型,必须通过多卡、多节点协同。
  2. 通信瓶颈突出:传统集群中,跨服务器通信会占用大量训练时间,导致算力利用率下降。
  3. 调度与稳定性复杂:大模型训练周期长,任何节点故障都可能导致训练中断。

二、关键技术亮点

1. 灵衢高速互联协议

灵衢是面向超节点的高速互联协议,支持总线级互联、平等协同和大规模组网。相比传统以太网或 RoCE 方案,它更接近“芯片间总线”的形态,能够显著降低通信时延并提升带宽。

2. 全局统一内存编址

传统集群中,数据跨节点传输需要显式拷贝;而超节点通过统一内存编址,使不同 NPU 能够以内存访问语义共享数据。这减少了数据搬运次数,对 MoE 模型中频繁发生的专家间通信尤其重要。

3. 超节点 + 超节点集群两级扩展

超节点内部采用 Scale-up 高速互联,节点之间再通过 Scale-out 网络继续扩展。这样既能保持节点内低时延,又能支撑万卡、十万卡甚至更大规模集群。

4. 训练稳定性增强

万亿级模型训练通常需要长时间连续运行。昇腾集群通过故障检测、断点续训、Step 级检查点等机制,提升长稳训练能力。例如,基于昇腾 910C 的千卡集群曾完成 1.6 万亿参数 DeepSeek-V4-Pro 全参数后训练,累计稳定运行 1500 多步。

三、Python 仿真:超节点通信开销与 MFU 估算

下面给出一段可运行的 Python 仿真代码,用于粗略比较“传统集群”和“超节点集群”在训练万亿参数模型时的通信开销与 MFU 变化。该代码仅用于教学演示,不代表真实硬件实测数据。

import math

def estimate_training(
    num_cards,
    params,
    bytes_per_param=2,
    base_compute_tflops=800,
    bw_per_card_gbps=400,
    comm_factor=1.2,
    supernode_overhead=0.35,
    system_eff=0.85,
    mode="traditional",
):
    """
    简单估算:
    - 每步参数量
    - 每步计算量
    - 通信量
    - 计算时间
    - 通信时间
    - MFU
    """
    total_params = params * 1e12
    param_bytes = total_params * bytes_per_param

    # 假设每步前向 + 反向约 6 倍参数量计算
    compute_ops = 6 * total_params

    # 单卡理论算力:TFLOPS -> FLOPS
    compute_per_card = base_compute_tflops * 1e12

    # 总计算时间
    compute_time = compute_ops / (compute_per_card * num_cards)

    # 通信量估算
    comm_bytes = param_bytes * comm_factor

    # 带宽:Gbps -> GB/s
    bw_per_card_gbs = bw_per_card_gbps / 8

    if mode == "traditional":
        # 传统集群:跨节点通信效率较低
        effective_bw = bw_per_card_gbs * 0.45
    else:
        # 超节点:统一内存 + 高速互联提升有效带宽
        effective_bw = bw_per_card_gbs * (1 - supernode_overhead)

    comm_time = comm_bytes / (effective_bw * num_cards)

    total_time = compute_time + comm_time
    mfu = compute_time / total_time * system_eff

    return {
        "mode": mode,
        "num_cards": num_cards,
        "params_T": params,
        "compute_time_s": round(compute_time, 4),
        "comm_time_s": round(comm_time, 4),
        "total_time_s": round(total_time, 4),
        "mfu": round(mfu, 4),
    }


def compare_clusters():
    results = []
    for mode in ["traditional", "superpod"]:
        r = estimate_training(
            num_cards=1024,
            params=1.6,
            mode=mode,
        )
        results.append(r)

    print(f"{'模式':<12} {'计算时间/s':>12} {'通信时间/s':>12} {'总时间/s':>12} {'MFU':>8}")
    for r in results:
        print(
            f"{r['mode']:<12} "
            f"{r['compute_time_s']:>12} "
            f"{r['comm_time_s']:>12} "
            f"{r['total_time_s']:>12} "
            f"{r['mfu']:>8}"
        )

    mfu_trad = results[0]["mfu"]
    mfu_super = results[1]["mfu"]
    if mfu_trad > 0:
        improvement = (mfu_super - mfu_trad) / mfu_trad
        print(f"\n超节点 MFU 相对提升: {improvement:.2%}")


if __name__ == "__main__":
    compare_clusters()

四、代码解析

这段代码的核心思路是把训练时间拆成两部分:计算时间和通信时间。

  • compute_ops 表示每步训练需要的浮点运算量,这里按前向加反向约 6 倍参数量估算。
  • compute_time 由总计算量除以集群总算力得到。
  • comm_bytes 表示每步需要交换的参数或激活数据量。
  • comm_time 由通信量除以有效带宽得到。
  • mfu 用计算时间占总时间的比例近似表示算力利用率。

在“traditional”模式下,有效带宽较低,通信时间占比更高;在“superpod”模式下,由于超节点具备更高带宽和更低通信开销,通信时间占比下降,MFU 相应提升。

需要注意的是,这里的 supernode_overhead、comm_factor、system_eff 都是简化参数。真实训练中还涉及张量并行、流水线并行、数据并行、MoE 专家并行、显存复用、算子融合、故障恢复等多重因素。

五、工程价值与亮点

昇腾超节点的工程亮点主要体现在四个方面。

第一,从“堆卡”转向“系统级优化”。单卡算力固然重要,但当集群扩展到万卡级别时,通信、内存、调度、散热都会成为瓶颈。超节点通过统一互联和统一内存,把多卡组织成更高内聚的计算单元。

第二,对 MoE 和大参数模型更友好。MoE 模型在推理时只激活部分专家,但训练时需要频繁同步多个专家状态。超节点的高带宽和低时延能够显著降低 all-to-all 通信代价。

第三,提升长稳训练能力。万亿参数模型训练一旦中断,恢复成本很高。昇腾集群通过故障检测、断点续训和 Step 级检查点,降低中断损失。

第四,支持国产全栈生态演进。昇腾超节点配合 CANN、MindSpore、MindSpeed 等软件栈,正在降低大模型迁移和分布式训练的开发成本。

六、结论

昇腾超节点代表的是 AI 基础设施从“单机高性能”走向“集群高效率”的趋势。它通过灵衢高速互联、统一内存编址、超节点两级扩展和训练稳定性增强,显著缓解了万亿级大模型训练中的通信和调度瓶颈。结合 Python 仿真可以看到,即使采用非常简化的模型,降低通信开销也能明显提升 MFU。未来随着 NPO 光互联、更大规模超节点和开源软件栈继续成熟,昇腾超节点有望进一步支撑十万亿级参数模型的训练与推理。

在这里插入图片描述

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐