9月30日消息,DeepSeek宣布开源面向华为昇腾平台的基础设施组件,覆盖编程工具、计算库和分布式通信库,与此前面向英伟达平台的开源组件一一对应。

DeepSeek还披露,双方正在共同推进基于昇腾950的128卡超节点方案,对计算和通信进行深度优化。华为团队参与了这批组件的研发支持。

这批工具面向的是开发和运行模型的团队。模型换一套芯片运行,矩阵运算、数据读写、多卡之间的通信都需要适配。DeepSeek此次公开了自己在这些环节上的实现,供其他开发者复用。

打开网易新闻 查看精彩图片

V4训练用到的TileLang算子,已有昇腾实现

在这套工具中,TileLang负责让开发者更方便地编写算子。所谓算子,就是模型运行时执行矩阵运算、数据处理等具体计算的程序。它们会被反复调用,写得是否高效,直接影响硬件能发挥多少性能。

DeepSeek称,相比用CUDA编程,TileLang可以简化代码、提高开发效率,同时保留针对芯片特性进行优化的能力。这条路线先在英伟达平台上得到验证,目前已用于DeepSeek V4系列模型训练中的大部分算子。

昇腾版本则把底层Ascend C指令封装起来,让开发者通过更高层的语言编写程序。按照DeepSeek的说法,这种简化不会损失硬件性能;目前其训练中用到的每一个TileLang算子,都已有对应的昇腾高性能实现。

与编程工具一起开放的,还有承担具体工作的计算库。DeepGEMM加速矩阵运算,TileKernels提供常规向量计算和内存访问算子;FlashMLA负责稀疏注意力计算,提高长上下文处理效率,DeepSelect则用于高效筛选数据。

FlashMLA的项目文档给出了一组具体结果:在昇腾950上,处理输入上下文的预填充阶段,稀疏注意力算子最高达到硬件理论峰值的95%;逐步生成内容的解码阶段,最高达到83%。这两项均为项目方公布的测试成绩。

从单卡计算到128卡协作

多张卡一起运行模型时,还要不断交换数据。单卡计算再快,如果数据传输跟不上,其他卡仍然需要等待。此次开源的DeepEP昇腾版,就负责大规模跨设备通信。

在混合专家模型中,不同数据会被分给不同的专家网络处理,计算结果再汇合。DeepEP提供这类分发、汇合操作,并将公开接口与英伟达版本对齐,方便开发者沿用已有的调用方式。

DeepSeek称,在多项关键测试用例中,这批组件的计算和通信性能已接近硬件上限。具体到DeepEP,文档给出的范围是:在专家并行规模不超过32的测试中,数据分发带宽约达到物理带宽上限的90%至95%;更大规模的数据分发,以及结果汇合操作,仍在优化。

公开代码中的部分能力也仍在完善。DeepEP文档列出,一些集合通信操作尚在开发,部分接口还处于实验阶段。其性能测试使用了华为提供的概念验证版硬件开发套件(PoC HDK),并做了额外的手动配置,这套配置尚未公开分发。文档称,后续Atlas 850E商用HDK将包含达到完整带宽所需的配置。

其他团队接入时,仍需配齐相应的芯片、软件和固件环境。接口层面已经有了一些便利:TileKernels的更新说明写明,新增昇腾后端后,同一组Python接口可以在英伟达GPU和华为NPU上使用,由程序在运行时自动选择后端。开发者调用这些算子时,可以保留同样的接口,再针对各自硬件继续优化。(易句)

(本文由AI撰文,网易编辑负责校对)