AI 快讯DeepSeek补齐昇腾训练栈
行业快讯

DeepSeek补齐昇腾训练栈

2026-09-30T05:05:31.822Z
DeepSeek补齐昇腾训练栈

DeepSeek今日开源面向华为昇腾平台的TileLang、DeepGEMM、DeepEP等基础设施组件,功能与英伟达平台对应版本对齐。这意味着国产算力适配开始从“能运行”进入训练算子、通信和编程模型的系统竞争。

DeepSeek补齐昇腾训练栈

9月30日,DeepSeek宣布开源面向华为昇腾算力平台的一整套基础设施组件,覆盖高级编程语言、计算库、通信库和常用算子。更值得注意的是,这些组件并不是一次临时性的硬件适配,而是与DeepSeek此前面向英伟达平台开源的组件一一对应,目标是让同一套训练思路在NVIDIA GPU和华为昇腾NPU上拥有相近的开发接口与工程体验。

这件事的信号很明确:DeepSeek正在把昇腾从“能够运行模型的平台”,推进为“能够参与大模型训练系统建设的平台”。对于国产算力生态来说,这比单纯宣布某个模型完成适配更重要。

DeepSeek昇腾版基础设施组件与英伟达生态对应关系示意图

这次开源了什么

AI基础设施组件是支撑模型训练和推理的底层软件,包括编程工具、算子库、计算库、通信库以及运行时优化组件。 大模型能否在一款芯片上高效运行,往往不只取决于芯片峰值算力,还取决于这些组件能不能把硬件能力真正调动起来。

DeepSeek此次公布的昇腾组件包括:

| 组件 | 主要作用 | 对应的训练环节 | |---|---|---| | TileLang | 面向算子开发的高级编程语言和编译工具 | 编写、编译和优化GPU/NPU算子 | | DeepGEMM Ascend | 通用矩阵乘法加速库 | Transformer中的矩阵计算、混合精度计算 | | DeepEP Ascend | 大规模跨设备通信库 | MoE模型中的专家并行和Token交换 | | TileKernels | 常规向量计算与访存算子集合 | 数据处理、张量变换和内存访问 | | FlashMLA | 稀疏注意力算子 | 长上下文和稀疏注意力计算 | | DeepSelect | 高效数据筛选组件 | 路由、筛选以及稀疏计算中的数据选择 |

其中,TileLang是这套体系里最值得关注的部分。TileLang是一种面向块级张量计算的高级编程语言,用于以更少的代码描述高性能AI算子。 它位于深度学习框架和芯片底层指令之间,开发者可以用相对统一的编程模型表达矩阵计算、数据搬运和并行执行,再由编译器将其映射到具体硬件。

这类工具解决的是大模型基础设施中最费工程时间的一层问题:算子开发。

以注意力、矩阵乘法和专家路由为例,模型框架通常只能表达“我要完成什么计算”,但无法自动保证数据如何分块、怎样加载到片上缓存、多少线程协同、何时进行跨设备通信。想把硬件跑满,工程师仍然需要手动调整这些细节。CUDA生态中有成熟的工具链帮助开发者完成这项工作,而昇腾侧过去需要更多针对硬件特性的单独实现。

DeepSeek给出的路线,是用TileLang把这些硬件细节封装到更高层,同时保留对底层性能的控制能力。

不是简单的CUDA翻译层

CUDA是英伟达GPU的软件开发平台和并行计算编程生态,包含编程语言、编译器、数学库、通信库和开发工具。 长期以来,CUDA实际上承担了AI行业“默认底层标准”的角色,很多模型、框架和算子都优先围绕CUDA设计。

昇腾版TileLang的意义,不在于把CUDA代码逐行翻译成Ascend C代码,而在于提供一套更接近算子设计意图的编程方式。按照DeepSeek的介绍,TileLang昇腾版本对Ascend C底层指令进行了封装,开发者仍然可以用高级语言编程,同时保留对昇腾硬件特性的利用能力。

Ascend C是华为昇腾平台面向算子开发的底层编程语言,用于直接描述NPU上的计算、数据搬运和并行任务。 它提供了更接近硬件的控制能力,但相应地,开发者需要理解更多芯片和内存层级细节。TileLang做的事情,可以理解为在Ascend C之上增加一层更适合大模型算子开发的抽象。

这与“兼容CUDA”是两种不同的思路。

兼容层的重点是让原有代码尽可能少改地运行起来,优势是迁移快,缺点是容易被原平台的编程模型限制。TileLang则试图把模型算子中真正稳定的计算结构抽象出来,再分别映射到英伟达GPU和昇腾NPU。对于DeepSeek这种需要持续修改训练系统的团队而言,后者更适合长期维护。

DeepSeek称,TileLang路线首先在英伟达成熟平台上得到验证,目前已经承载DeepSeek V4系列模型训练中大部分算子的实现。换句话说,这次昇腾版本并不是从零开始建立工具链,而是把已经在实际训练中使用的编程模型和算子实现扩展到另一套硬件生态。

真正的难点在通信,不在单卡算力

分布式通信是多台加速卡之间交换参数、激活值和梯度的过程,它决定了大模型训练能否随着设备数量增加而继续扩展。 对数千甚至数万张卡组成的训练集群来说,单卡峰值算力只是基础,设备之间如何高效传数据往往才是系统瓶颈。

DeepEP Ascend就是针对这一问题的组件。它主要服务于大规模专家并行,也就是MoE模型中的Expert Parallelism。专家并行是一种将不同专家网络分配到不同设备上,并根据路由结果把Token发送给对应专家的分布式策略。

MoE模型的优势是可以用相对较低的激活计算量获得更大的参数规模,但代价是通信复杂度明显增加。一个Token经过路由后,可能需要从当前设备发送到另一台设备上的专家,再把计算结果传回来。设备数量越多、专家分布越分散,通信越容易成为训练吞吐的限制因素。

这也是DeepSeek基础设施值得关注的地方:它没有只开源几个单卡算子,而是把通信库也纳入昇腾版本。DeepEP Ascend需要处理的不是普通的数据拷贝,而是大规模设备间的数据交换、通信调度以及计算与通信重叠。

如果通信效率不够,增加更多芯片只会带来更高成本,而不会线性提高训练速度。反过来,通信库一旦成熟,国产集群才有可能在大规模训练中展现系统级竞争力。

计算库覆盖了训练中的关键路径

GEMM是通用矩阵乘法,是Transformer模型中最核心、最密集的计算类型之一。 线性层、注意力投影和专家网络中的大量计算,最终都可以归结为不同形状和精度的矩阵乘法。

DeepGEMM Ascend负责加速这类计算。大模型训练中的矩阵并不是固定形状,批大小、序列长度、专家路由结果和并行策略都会影响矩阵尺寸。一个只针对标准形状优化的矩阵库,很难覆盖真实训练场景。因此,DeepGEMM需要同时处理混合精度、不同矩阵规模、稀疏结构以及分布式训练带来的特殊布局。

TileKernels则覆盖更基础但数量更多的向量计算和访存操作。数据类型转换、张量重排、归一化、索引处理和内存搬运看起来不如矩阵乘法显眼,却会在每一层网络中反复出现。很多时候,模型性能并不是被某一个大算子拖慢,而是被大量零散的访存和数据处理操作消耗掉。

FlashMLA面向稀疏注意力。稀疏注意力是一种只计算部分Token或部分注意力连接的机制,用来减少长上下文场景中的计算和显存开销。 当上下文长度从几千Token扩大到几十万甚至更高时,注意力计算和KV缓存都会带来显著压力。专门的稀疏注意力算子,能够减少无效计算,并改善数据访问效率。

DeepSelect则服务于数据筛选和路由。对于MoE模型、稀疏注意力和动态计算图来说,系统需要频繁从大量候选数据中选出真正参与计算的部分。筛选过程如果单独执行,可能产生额外的内存访问和同步开销,因此需要与后续计算路径共同优化。

“接近硬件上限”意味着什么

DeepSeek表示,上述组件在多项关键测试用例中的计算和通信性能已经接近硬件上限。这个说法需要谨慎理解。

硬件上限是特定芯片、数据类型、矩阵形状和并行配置下的理论或实测性能边界,不等同于完整模型训练速度。 一个算子在基准测试中接近峰值,并不意味着整套模型在真实集群里也能达到同样的利用率。完整训练还会受到数据加载、显存容量、网络拓扑、调度策略、故障恢复和框架开销影响。

但对基础设施项目来说,单个算子接近硬件上限仍然是重要信号。它至少说明开发者已经能够进入昇腾硬件的性能关键路径,而不是停留在“模型能够跑通”的阶段。

从工程成熟度看,算力适配大致可以分成三个层级:

  1. 可运行:模型可以完成加载、推理或训练,但性能和稳定性有限。
  2. 可使用:主流框架、常见算子和分布式能力基本完善,业务可以持续运行。
  3. 可竞争:核心算子、通信和编程工具能够针对硬件深度优化,在大规模负载下具备成本和性能竞争力。

此次开源的组件,显然是在向第三个层级推进。尤其是TileLang、DeepEP和DeepGEMM同时出现,说明DeepSeek关注的是完整训练系统,而不是某一个孤立指标。

与英伟达生态的对应关系

| 维度 | 英伟达生态 | 昇腾生态 | DeepSeek此次动作的意义 | |---|---|---|---| | 底层编程 | CUDA | Ascend C | 通过TileLang提供更高层的统一开发方式 | | 矩阵计算 | CUDA Math、定制GEMM等 | DeepGEMM Ascend | 覆盖大模型核心矩阵运算 | | 分布式通信 | NCCL及相关通信能力 | DeepEP Ascend | 支撑MoE和大规模跨设备通信 | | 算子开发 | CUDA Kernel、Triton等 | TileLang、TileKernels | 降低跨平台算子开发和维护成本 | | 注意力优化 | FlashAttention等路线 | FlashMLA | 面向稀疏注意力和长上下文场景 | | 数据路由 | 框架及定制算子 | DeepSelect | 支持动态筛选和稀疏计算 |

这张表最重要的不是名称一一对应,而是软件栈的层次正在对应起来。过去,国产芯片适配大模型经常表现为“框架支持某芯片、模型可以运行”,但算子和通信库未必由模型团队深度掌握。现在,DeepSeek开始把自身训练中使用的底层组件公开出来,相当于把模型厂商积累的系统经验向生态层释放。

对开发者意味着什么

对模型开发者来说,最直接的价值是减少重复迁移工作。如果英伟达版和昇腾版TileLang在编程模型、接口和算子组织方式上保持一致,那么团队可以在更高层复用算子设计,只有硬件相关部分需要针对性优化。

对芯片厂商来说,DeepSeek的代码提供了更真实的压力测试。通用基准往往无法覆盖大模型训练中的复杂路径,而DeepSeek组件涉及矩阵计算、稀疏注意力、专家路由和跨设备通信,更接近前沿模型的实际负载。

对云厂商和算力运营者来说,这套组件的价值取决于后续适配质量。代码开源只是起点,真正影响使用体验的还包括文档、编译环境、版本兼容性、集群部署工具、故障定位和社区响应速度。尤其是通信库,必须与硬件拓扑、驱动、运行时和调度系统协同,单独开源一个仓库并不能自动形成成熟生态。

对普通应用开发者来说,短期内不会直接感受到变化。TileLang和DeepEP并不是面向业务应用的工具,而是面向模型训练和推理基础设施工程师的底层组件。但如果它们能够降低昇腾平台的迁移成本,最终可能体现在模型服务价格、可用算力规模以及国产算力的供给稳定性上。

这会动摇CUDA吗

短期看,这次开源不会直接改变CUDA的主导地位。英伟达仍然拥有最成熟的开发者工具、最广泛的模型和框架支持,以及经过多年验证的集群软件生态。很多研究代码、训练脚本和第三方库仍然默认以CUDA为第一目标。

但长期看,DeepSeek正在推动一个更关键的变化:模型厂商不再把底层算力生态完全交给芯片厂商决定。

过去的大模型竞争,常常是上层模型架构在快速变化,底层训练平台却高度集中。模型团队可以更换网络结构、优化数据配方,却很难脱离CUDA的编程和通信体系。DeepSeek此次将昇腾版基础设施与英伟达版组件对齐,意味着模型团队开始主动维护多套硬件后端,并且把跨平台能力纳入训练系统设计本身。

这并不等于昇腾已经全面替代英伟达,也不等于所有开源组件都达到了同等成熟度。真正的考验还在后面:这些代码能否被社区复用,能否在不同型号昇腾芯片和不同集群规模上稳定运行,能否跟随PyTorch等上层框架持续升级,以及第三方团队能否在此基础上开发出自己的优化组件。

不过,方向已经发生变化。算力生态多元化是指模型训练不再依赖单一芯片和单一软件栈,而是通过统一抽象和多套后端实现跨平台部署。 DeepSeek此次开源,正是在为这种多元化补齐最难补的部分:高性能算子、分布式通信和底层编程工具。

OpenAI Hub判断

DeepSeek这次动作的核心价值,不是“昇腾也能跑DeepSeek”,而是把昇腾适配推进到了训练基础设施层。对于国产算力,真正有含金量的不是完成一次模型迁移,而是能否让模型团队持续开发新算子、扩展新架构,并在大规模集群中稳定训练。

TileLang负责降低跨平台算子开发门槛,DeepGEMM和TileKernels负责把计算路径做深,FlashMLA和DeepSelect覆盖长上下文与稀疏计算,DeepEP则处理多设备训练最棘手的通信问题。它们共同组成了一条从编程模型到分布式系统的基础设施链路。

因此,这次开源更像是一个工程拐点,而不是一次普通的代码发布。英伟达的优势仍然巨大,但CUDA生态最坚固的地方正在从“只有一套可用方案”变成“依然是最成熟方案”。一旦更多模型厂商开始用统一抽象维护多套硬件后端,算力生态的议价权就会逐步从单一芯片平台向模型和基础设施开发者转移。

接下来最值得观察的,不是仓库获得了多少Star,而是这些组件能否进入更多训练任务、云平台和开源框架,能否在真实集群中交付可复现的吞吐、稳定性和成本优势。对于昇腾来说,今天是基础设施补齐的一步;对于整个AI产业来说,这是训练软件开始摆脱单一生态锚定的又一个明确信号。

相关开源项目

  • TileLang:面向块级张量计算的高级编程语言和编译工具。
  • DeepGEMM Ascend:面向昇腾平台的矩阵乘法加速组件。
  • DeepEP Ascend:面向昇腾平台的大规模专家并行通信组件。
  • TileKernels:提供向量计算和访存相关算子。
  • FlashMLA:面向稀疏注意力计算的高性能组件。
  • DeepSelect:面向数据筛选和动态路由的组件。

参考来源

相关推荐

查看全部