DeepSeek 这次没开源模型:直接把昇腾底层“工具箱”整套放出来了
DeepSeek 这次没有发布新模型。

也没有再晒一张 Benchmark 排行榜。
而是直接把模型背后最底层的一套“工具箱”,搬到了华为昇腾平台。
本次开源内容包括:
TileLang
DeepGEMM Ascend
DeepEP Ascend
TileKernels
FlashMLA
以及:
DeepSelect。
它们分别覆盖:
高级算子编程;
矩阵计算;
多卡通信;
常用计算与访存算子;
稀疏注意力;
数据筛选。
简单理解:
过去 DeepSeek 为 NVIDIA 平台打造了一套高性能软件栈。
现在,它开始为昇腾平台补上一套相互对应的实现。
这件事的意义并不只是:
DeepSeek 模型可以在昇腾上运行。
而是开发者开始获得一整套可以用来:
写算子;
优化算子;
训练模型;
部署模型;
连接多卡;
处理长上下文
的开源基础能力。
一、AI 芯片真正难的,从来不只是硬件参数
聊 AI 算力时,大家最容易关注的是:
芯片有多少算力;
显存有多大;
带宽有多高;
一张卡能跑多少 Token。
但真正把一颗芯片放进大模型训练和推理系统后,很快就会发现:
硬件只是第一步。
一套成熟的 AI 计算平台,至少还需要:
编译器;
算子语言;
矩阵计算库;
注意力算子;
通信库;
量化算子;
性能分析与调试工具;
多卡调度能力。
可以把 AI 芯片理解成一座性能很强的工厂。
芯片决定:
厂房和机器的上限。
软件栈则决定:
开发者能不能方便地操作机器;
不同生产线能不能协作;
原材料能不能快速流转;
最终能不能接近理论产能。
没有成熟的软件生态,再高的理论算力,也未必能在真实模型中充分发挥。
DeepSeek 这次开源的,正是这座工厂里的:
语言、工具、流水线和运输系统。
二、TileLang:让开发者不用一直手搓底层算子
整套开源组件里,TileLang 是最基础的一层。
它是一种面向高性能 AI Kernel 开发的领域专用语言。
Kernel,也就是算子。
例如大模型中常见的:
矩阵乘法;
注意力;
量化;
归一化;
数据搬运;
专家路由
等操作,最终都需要被实现成能够在芯片上高效执行的算子。
传统方式往往要求开发者深入处理:
线程分配;
内存布局;
数据搬运;
流水线;
同步;
硬件指令;
对齐约束。
这些工作不仅开发难度高,而且代码很容易变得复杂。
TileLang 希望提供更加接近 Python 的高级编程方式。
开发者可以先描述:
数据应该怎样计算。
再由编译器继续处理:
底层代码生成;
调度;
同步;
SIMD / SIMT 执行;
硬件相关优化。
这并不意味着 TileLang 可以完全代替 CUDA、Ascend C 或 CANN。
更准确地说,它建立在底层计算平台之上,为开发者提供了一层更加简洁、可组合的高性能算子编程方式。
三、为什么 DeepSeek 先在 NVIDIA 平台验证 TileLang?
因为 NVIDIA 平台的软件生态已经比较成熟。
一个新的算子语言,首先需要证明两件事:
开发是不是更简单。
以及:
性能能不能真正打满。
如果只简化代码,却明显牺牲性能,它就很难进入大规模训练和推理。
如果性能很高,却仍然需要大量底层硬件知识,也无法真正降低开发门槛。
DeepSeek 表示,TileLang 路线已经在 NVIDIA 平台完成验证,并承担了 DeepSeek V4 系列训练中大量算子的实现。
也就是说,TileLang 并不只是一个实验室里的语言 Demo。
它已经进入了真实的大模型训练流程。
现在再把它扩展到昇腾平台,相当于把一套经过实际模型训练检验的方法,迁移到新的硬件后端。
四、昇腾版 TileLang 做了什么?
TileLang 昇腾后端主要面向:
Ascend 950。
它对底层 Ascend C 指令和昇腾运行环境进行封装,并提供:
原生代码生成;
自动调度与同步;
SIMD / SIMT 向量编程;
GEMM;
FlashAttention
等算子开发能力。
开发者不需要所有逻辑都从最底层开始编写。
可以继续使用 TileLang 的高层接口,再由后端生成适合昇腾平台的实现。
DeepSeek 还表示,目前训练中使用到的 TileLang 算子,在昇腾平台均已拥有对应的高性能实现。
这意味着同一种模型能力,可以通过相似的开发思路,分别落到 NVIDIA GPU 与华为昇腾 NPU。
五、DeepGEMM Ascend:负责大模型最核心的矩阵运算
如果说 TileLang 是语言和编译工具,那么:
DeepGEMM Ascend
就是专门负责矩阵运算的高性能计算库。
GEMM 全称:
General Matrix Multiplication。
即通用矩阵乘法。
大语言模型中的大量计算,最终都可以归结为矩阵运算。
例如:
线性层;
注意力投影;
MoE 专家计算;
量化推理;
部分索引与打分操作。
DeepGEMM Ascend 目前支持:
BF16。
FP8。
FP4。
MQA logits。
MegaMoE。
它还与原来的 DeepGEMM API 保持兼容。
也就是说,已经使用 DeepGEMM 工作流的开发者,在昇腾平台上不需要重新学习一套完全不同的 Python 调用方式。
底层硬件变了。
上层接口和开发流程尽量保持一致。
这对于模型从一种硬件迁移到另一种硬件,非常重要。
六、为什么矩阵库不能只依赖通用框架?
PyTorch 本身当然可以执行矩阵乘法。
但通用实现需要兼顾:
不同模型;
不同尺寸;
不同硬件;
不同使用场景。
而大模型的实际矩阵形状、精度、量化方式和数据布局非常特殊。
如果围绕 DeepSeek 模型的真实工作负载进行专项优化,就可以进一步处理:
分形矩阵布局;
地址计算;
对齐约束;
稀疏数据加载;
计算与数据搬运重叠;
MoE 专家计算。
DeepGEMM Ascend 大量使用了昇腾平台特有的优化方式,包括稀疏数据加载和基于协程的流水线。
官方仓库给出的目标非常直接:
在多种矩阵形状下接近硬件性能上限。
七、DeepEP Ascend:给几百张卡修一条“高速公路”
训练和运行大模型,并不是每张卡各算各的。
尤其是 MoE 模型。
一个 Token 进入模型后,可能会被路由到不同设备上的专家。
这就需要在大量芯片之间不断进行:
数据分发;
结果合并;
跨设备传输。
DeepEP Ascend 负责的就是这一层:
大规模分布式通信。
它提供 MoE 专家并行中的:
Dispatch;
Combine;
All-to-All
等核心操作。
同时还涉及:
流水线并行;
上下文并行;
数据并行;
远程内存访问
等通信原语。
可以把它理解成多卡系统中的高速公路。
算子负责在每张卡上完成计算。
DeepEP 则负责:
让数据快速送到正确的卡;
再把不同设备上的结果高效收回来。
如果通信太慢,再强的单卡算力也会被等待时间拖住。
八、双方还在推进 Ascend 950 的 128 卡超节点
DeepSeek 表示,在面向昇腾平台的开发过程中,华为团队提供了大量技术支持。
双方共同推进:
基于昇腾 950 的 128 卡超节点方案。
并围绕:
计算;
通信;
内存;
多卡协同
进行深度优化。
DeepEP Ascend 的公开测试已经覆盖 EP8、EP16、EP32、EP64 和 EP128 等规模。
在部分 EP32 以内的测试中,持续通信带宽可以达到物理有效带宽上限的约 90%~95%。
不过官方仓库也明确说明:
更大 EP 规模;
部分 Combine 场景;
流水线并行;
远程内存;
部分集合通信
仍在继续优化。
所以这更适合被理解为:
一套已经能够运行、并持续快速完善的首批开源基础设施。
而不是整个昇腾多卡软件栈已经彻底完成。
九、TileKernels:把高频小算子整理成通用工具箱
大模型中并不只有巨大的矩阵乘法。
还有大量看起来比较“小”,但调用频率非常高的操作。
例如:
MoE 路由;
量化与反量化;
RoPE;
随机数;
RMSNorm;
Engram Gate;
HyperConnection;
数据变换;
访存处理。
如果这些小操作效率不高,整个模型仍然会不断产生额外开销。
TileKernels 就像一套通用算子工具箱。
它使用 TileLang 编写,并同时支持:
NVIDIA CUDA 后端;
华为昇腾后端。
同一套 Python API 可以根据运行环境自动选择对应硬件实现。
这意味着开发者不必为每一种硬件,单独维护完全不同的上层调用代码。
目前公开的许多算子,性能已经接近对应硬件的计算或内存带宽限制。
十、FlashMLA:专门加速长上下文注意力
大模型进入百万 Token 上下文以后,注意力计算会迅速变得昂贵。
DeepSeek 使用的 MLA:
Multi-head Latent Attention
可以通过压缩 KV Cache,降低长上下文推理的内存压力。
而 FlashMLA 则提供对应的高性能注意力算子。
本次发布后,FlashMLA 已经同时支持:
NVIDIA GPU;
华为昇腾 NPU。
它包含:
稀疏注意力 Prefill;
稀疏注意力 Decoding;
FP8 / FP4 KV Cache;
Attention 前后操作融合;
部分稠密注意力算子。
在 Ascend 950 的公开测试中,稀疏注意力 Prefill 最高达到:
410 TFlops。
约为理论硬件峰值的:
95%。
Decoding 最高达到:
360 TFlops。
约为理论峰值的:
83%。
这类算子会直接影响:
长上下文首字延迟;
连续生成速度;
KV Cache 成本;
多轮 Agent 任务效率。
十一、DeepSelect:让模型更快选出真正重要的数据
DeepSelect 负责的是:
TopK。
TopK 的作用是从大量候选项中,快速找出数值最大的前 K 个结果。
这项能力会出现在:
稀疏注意力;
Token 采样;
Lightning Indexer;
专家路由;
候选筛选
等场景。
例如 DeepSeek Sparse Attention 不需要每一次都关注完整上下文。
系统需要先从大量历史 Token 中,找出最相关的一小部分。
这时 TopK 的速度就会直接影响整个注意力流程。
DeepSelect 针对这些特定工作负载重新设计了高性能实现。
目前同时支持:
CUDA;
昇腾。
在官方覆盖的工作负载中,相比原生 torch.topk,可以获得:
约 2~20 倍加速。
它看起来只是一个数据筛选组件。
但在高频调用场景里,这种小算子往往会成为真实系统的性能瓶颈。
十二、六个项目,可以这样理解
如果觉得项目名字太多,可以用一个比较通俗的方式理解。
TileLang
→ 编写高性能算子的语言和编译工具
DeepGEMM Ascend
→ 负责矩阵计算的发动机
DeepEP Ascend
→ 负责多卡数据运输的高速公路
TileKernels
→ 日常高频算子的通用工具箱
FlashMLA
→ 长上下文注意力加速器
DeepSelect
→ 从海量数据中快速挑出关键内容这六部分组合起来,才构成一套相对完整的模型训练和推理底层能力。
DeepSeek 这次不是单独开源一个算子。
而是在尝试建立:
从高级语言到计算、通信和注意力的完整昇腾开发链路。
十三、“与 NVIDIA 版本一一对应”为什么重要?
这次官方特别强调:
昇腾组件与此前面向 NVIDIA 平台的开源组件一一对应。
最直接的价值是:
减少迁移成本。
例如:
DeepGEMM Ascend 兼容 DeepGEMM API。
DeepEP Ascend 的公开 Buffer API 与 NVIDIA 版对齐。
TileKernels 可以使用相同 Python API,并自动选择运行后端。
开发者可以继续沿用相似的:
调用方式;
模型代码;
测试流程;
性能分析思路。
不需要因为底层硬件发生变化,就从零重新搭建完整软件系统。
这并不意味着两种硬件的底层实现完全一样。
NVIDIA GPU 和昇腾 NPU 在:
指令;
内存;
通信;
矩阵布局;
编译工具
方面都有明显区别。
所谓“一一对应”,更准确的含义是:
能力和上层接口尽量对应,底层则针对不同硬件分别优化。
十四、这也是一种 Model-System Co-Design
现在模型能力越来越强以后,单独训练一个更大的模型已经不够。
模型结构和系统软件之间需要一起设计。
例如 DeepSeek V4 使用:
MoE;
稀疏注意力;
FP8 / FP4 KV Cache;
Lightning Indexer;
HyperConnection。
这些模型结构都会提出新的底层需求。
MoE 需要更快的专家通信。
稀疏注意力需要更快的 TopK 和注意力 Kernel。
低精度计算需要 FP8、FP4 矩阵库。
长上下文需要更低的 KV Cache 和更高效的 Prefill、Decoding。
整个过程变成:
模型提出新的计算需求
↓
系统团队开发新算子和通信库
↓
硬件执行效率提高
↓
模型可以继续扩大训练和推理规模
↓
新的模型结构再次推动软件升级所以 DeepSeek 开源的不是几件孤立工具。
而是其模型与计算系统协同设计的一部分。
十五、为什么这件事可能比再开源一个模型更重要?
开源模型权重,可以让更多人部署和微调模型。
但模型想真正运行起来,还需要底层软件支持。
如果每一家国产或新兴 AI 芯片厂商,都要从零建设:
编译器;
算子库;
通信库;
注意力实现;
调试工具,
整体生态成长会非常慢。
TileLang 的价值,在于尝试建立一种更加通用的高性能算子开发方式。
同一套语言,目前已经支持或正在覆盖:
NVIDIA CUDA;
AMD ROCm;
Apple Metal;
华为昇腾;
以及其他 AI 加速器后端。
如果这条路线继续成熟,未来一个新硬件平台想接入大模型生态时,就不一定所有算子都必须完全手写。
可以先接入统一的编程模型,再针对芯片特性完成性能优化。
这会降低新 AI 硬件建设软件生态的门槛。
十六、哪些开发者最值得关注?
大模型训练团队
可以关注 DeepGEMM、DeepEP 和 TileKernels,降低昇腾平台上的计算与通信适配成本。
推理平台开发者
FlashMLA、DeepSelect 和低精度 GEMM,会直接影响长上下文、吞吐量和推理成本。
AI 芯片与编译器团队
TileLang 提供了一个多后端高性能算子语言的参考路径。
云服务和算力平台
更完整的软件栈,有利于将昇腾集群封装成更加成熟的大模型训练和推理服务。
算子研究者
这些仓库不仅可以直接使用,还能作为分析昇腾性能优化、内存布局、通信机制和流水线设计的参考实现。
十七、目前仍然有哪些限制?
这次开源很重要,但也不能理解成:
所有昇腾设备已经可以一键运行完整 DeepSeek V4。
目前公开仓库的主要验证环境集中在:
Ascend 950。
CANN 9.2。
torch_npu。
部分组件仍处于初始发布或持续开发阶段。
例如:
DeepEP Ascend 的部分 Pipeline、Engram 和 Bucket 能力仍然属于实验状态。
部分集合通信尚在完善。
FlashMLA 新版本还调整了 KV Cache 格式,并移除了对部分旧模型和 NVIDIA Hopper 路径的支持,旧项目升级前需要关注兼容性。
不同组件的:
硬件要求;
CANN 版本;
模型版本;
数据类型;
支持范围
也并不完全一样。
开发者在正式接入生产环境前,仍然需要逐个查看仓库说明并完成真实工作负载测试。
结语
DeepSeek 这次开源的不是新模型,而是模型背后的一套昇腾基础工具链。
从:
TileLang 高级算子语言。
到:
DeepGEMM 矩阵计算。
DeepEP 多卡通信。
TileKernels 常用算子。
FlashMLA 稀疏注意力。
DeepSelect 高性能筛选。
它基本覆盖了大模型训练和推理中非常关键的几个底层环节。
更重要的是,这些能力与此前的 NVIDIA 路径尽量保持对应。
上层接口尽可能一致。
底层再分别发挥不同硬件的特性。
对于昇腾来说,这意味着生态建设不再只是:
“模型能不能跑起来。”
而是继续走向:
“开发者能不能更容易写出接近硬件上限的代码。”
AI 芯片竞争到最后,拼的不只是算力数字。
还要看:
编程是否足够简单;
算子是否足够丰富;
通信是否足够高效;
模型迁移是否足够顺畅;
社区能否持续参与优化。
DeepSeek 这次把整套组件开出来,相当于不只交出一辆车。
还把:
发动机;
变速箱;
道路系统;
维修工具;
以及部分设计图纸
一起放进了开源社区。
相关链接
TileLang
https://github.com/tile-ai/tilelang
TileLang 官方文档
https://tilelang.com/
DeepGEMM Ascend
https://github.com/deepseek-ai/DeepGEMM-Ascend
DeepEP Ascend
https://github.com/deepseek-ai/DeepEP-Ascend
TileKernels
https://github.com/deepseek-ai/TileKernels
FlashMLA
https://github.com/deepseek-ai/FlashMLA
DeepSelect
https://github.com/deepseek-ai/DeepSelect
DeepSeek GitHub
https://github.com/deepseek-ai
昇腾社区
https://www.hiascend.com/标签






评论 0
最新评论登录后发布评论并参与互动。
暂无评论,欢迎抢沙发。