9月30日,DeepSeek开源了一批面向华为昇腾算力平台的底层组件:TileLang高级语言编译工具,加上DeepGEMM、FlashMLA、DeepSelect、TileKernels等算子库,以及负责跨设备通信的DeepEP。官方说,这些组件和它此前面向英伟达平台开源的版本一一对应。

对只写业务代码的人来说,这事看着离得远。但它回答的是一个更实际的问题:当模型要跑在国产芯片上,软件层到底跟不跟得上。

先搞清楚"算子"是什么

大模型的算力,不是芯片标称的峰值就完事了。一次矩阵乘、一次注意力计算,怎么拆成小块、数据怎么搬、计算和访存怎么衔接,全落在算子实现上。同一张卡,算子写得好不好,性能能差出好几倍。

过去这块是英伟达的护城河:CUDA加一堆成熟算子库,开发者照着用就行;换到别的芯片,往往得从底层重写,这是迁移最劝退的地方。

这次DeepSeek做的事,是把它在英伟达平台上验证过的那套东西搬到昇腾上。据其介绍,TileLang承载了V4系列模型训练中大部分算子的实现,而如今训练里用到的每一个TileLang算子,在昇腾上都有对应的高性能实现。华为则把双方围绕昇腾950及超节点的联合成果,放进了CANN社区开源。

换句话说,变的不是芯片,是"拿什么把它用起来"的那层软件。没变的是:它依然强依赖具体的芯片型号和CANN版本,不是一份代码两边随便跑。

几个性能数字值得看一眼

据报道,DeepEP在超节点上的互联带宽实测达到 Dispatch 375 GB/s、Combine 347 GB/s,接近硬件上限。推理侧,DeepSeek-V4.1-Flash在EP32部署、offline模式下,TPOT=5ms时每卡输出吞吐2469 tokens/s,TPOT=10ms时是5102 tokens/s。官方同时注明,这些是不带Serving调度和框架负载均衡的纯模型数据。

这个注明,其实比数字本身更值得记住——benchmark和线上是两码事。

普通开发者怎么用、怎么避坑

不写kernel的人,直接收益有限,但有两类人值得盯一眼。

一类是要在国产卡上部署模型的团队。华为在CANN社区开源的部署实践,覆盖大EP低延时推理、单卡单机部署、大规模训练、超长文本KV Cache池化等场景,可以先照这些实践跑通,再谈调优。上手第一步,用 npu-smi info 确认驱动、固件和卡的状态,把CANN版本对齐。这是最容易踩的坑:版本不对,后面所有报错都会指向奇怪的地方,排查成本很高。

另一类是算子开发者。TileLang的思路,是把昇腾底层的Ascend C指令封装起来,用更高级的方式写,同时尽量不损失性能。它的价值在于能复用已经实现的基础组件,把精力放到自己模型的结构上;某个环节卡住了,也能翻进去改。但它的编程模型和CUDA不是一回事,别把英伟达上的性能预期直接搬过来。

几个坑:一是超节点通信库的性能和网络拓扑强相关,UBL128这类组网下测出的数据,不必然等于你机房的实际情况;二是这些组件成套开源,但仍在演进,锁定版本、留好升级路径,比一味追新更稳;三是offline benchmark千万别当成线上SLA去承诺。

国产算力这几年在硬件上追得很快,真正难补的一直是软件生态。把训练级算子库开源,算是把最硬的那块拿出来给别人抄作业。至于开发者愿不愿意迁移,还得看工具链的稳定性和踩坑成本。

你如果要在国产卡上跑模型,最担心的是什么?评论区聊聊。

Logo

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

更多推荐