36氪 - 科技频道 09月30日
DeepSeek V3.2 采用 TileLang 优化 GPU 内核开发
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

DeepSeek V3.2 在其最新版本中引入了开源的 TileLang 语言来开发 GPU 内核,这一改动在官方公告中提及,并在社区引起广泛关注,甚至超过了其稀疏注意力机制 DSA。TileLang 作为一种领域专用语言,性能可与英伟达 CUDA 对标,且与国产算力生态适配良好,华为昇腾已宣布支持。开发者称 TileLang 语法简洁优雅,能用极少代码实现高性能算子,如用不到100行代码实现比 Flash Attention 2 快30%的注意力机制。TileLang 的核心理念是将调度空间与数据流解耦,通过显式的 Tile 抽象简化 GPU 内核开发,并提供多层次编程接口以满足不同开发者的需求。DeepSeek V3.2 的实践表明,TileLang 能够有效加速模型训练和推理。

🌟 **TileLang 赋能 GPU 内核高效开发**:DeepSeek V3.2 引入了开源的 TileLang 语言用于 GPU 内核开发,该语言以其简洁的语法和强大的性能引起社区广泛关注。它能够以极少的代码量实现高性能算子,例如,仅用不到100行代码便能实现比 Flash Attention 2 快30%的注意力机制,显著提升了开发效率和模型性能。

🖥️ **国产算力生态的适配与支持**:TileLang 不仅在性能上媲美英伟达 CUDA,更重要的是它与国产算力生态紧密结合,华为昇腾已第一时间宣布支持 TileLang。这表明 TileLang 在推动国内大模型算力生态发展方面扮演着重要角色,为本土硬件的优化和应用提供了有力支持。

⚙️ **核心设计理念与编程模型**:TileLang 的核心设计理念是将调度空间(如线程绑定、内存布局)与数据流解耦,并通过自定义注解和原语进行封装。其编程模型以“Tile”为核心概念,通过显式的 Tile 抽象,开发者能够直观地控制数据在不同内存层级间的流动,大大简化了底层优化工作,让开发者更专注于算法逻辑。

📈 **多层次编程接口满足多样化需求**:TileLang 提供了从硬件无关的高层接口到线程原语级别的精细控制,能够满足初学者、有经验的开发者以及追求极致性能的专家用户的不同需求。这种灵活性使得 TileLang 能够被广泛应用,并加速不同复杂度的 GPU 内核开发过程。

DeepSeek v3.2有一个新改动,在论文里完全没提,只在官方公告中出现一次,却引起墙裂关注。

开源TileLang版本算子,其受关注程度甚至超过新稀疏注意力机制DSA,从画线转发的数量就可以看出来。

海外社区也注意到DeepSeek使用了它而不是OpenAI开发的Triton语言。

有接触过的开发者感叹TileLang是一种非常优雅的语言,只需不到100行代码就能写出比Flash Attention 2原版快30%的注意力实现。

那么什么是TileLang,又为何引人瞩目?

首先,TileLang是一种专门用来开发GPU内核的领域专用语言,性能上可以对标英伟达CUDA,DeepSeek官方推荐使用此版本做实验,在方便调试和快速迭代上有优势。

更重要的是,TileLang与国产算力生态适配,连华为昇腾都要在第一时间公告对TileLang的支持。

在几周前的华为全联接大会2025的开发者日上,TileLang团队成员董宇骐就介绍了TileLang实现FlashAttention算子开发,代码量从500+行减少至80行,并保持了与官方版本持平的性能。

此外TileLang团队成员王磊沐曦集成电路的高级总监董兆华也在同一个圆桌沙龙上出现过,讨论了沐曦GPU与TileLang的适配。

DeepSeek为什么选择TileLang

DeepSeek与TileLang第一次同框亮相,其实是在6月的北京智元大会。

在DeepSeek实习过的北大博士袁境阳,在报告中就提到“TileLang的算子实现会更快一点”。

TileLang的发起人之一,北大博士研究生王磊当时还专门发帖感谢DeepSeek尝试他们的语言。

TileLang由北大团队主导开发,核心人物除了王磊、董宇骐,还有北大计算机学院的副研究员、博士生导师杨智

2025年1月,TileLang在GitHub上正式开源,至今已获得1.9k标星。

简单来说,Tile语言 ( tile-lang ) 是一种简洁的领域专用语言,旨在简化高性能 GPU/CPU 内核的开发。tile-lang采用Python式语法,并在TVM之上构建底层编译器基础架构,使开发者能够专注于提高生产力,而无需牺牲实现最佳性能所需的底层优化。

王磊曾在7月HyperAI超神经主办的Meet AI Compiler技术沙龙分享TileLang的核心设计理念:

将调度空间(包括线程绑定、内存布局、张量化和流水线等)与数据流解耦,并将其封装为一组可自定义的注解和原语。这种方法允许用户专注于内核的数据流本身,而将大部分优化工作交给编译器完成。

TileLang将“Tile”作为编程模型的核心概念,通过显式的Tile抽象,让开发者能够直观地控制数据在全局内存、共享内存和寄存器之间的流动。

TileLang提供了三个不同层次的编程接口,满足不同水平开发者的需求。

初学者可以使用硬件无关的高层接口,专注于算法逻辑而不必关心底层细节。

有经验的开发者可以使用ile Library,这里包含了各种针对不同硬件架构优化过的预定义操作。

对于追求极致性能的专家用户,TileLang还提供了线程原语级别的控制,允许他们直接操作线程同步、内存合并等底层特性。

DeepSeek显然就属于追求极致性能的专家用户了,根据v3.2公告的说法,在早期DeepSeek团队使用TileLang快速开发原型,之后用更底层的方法进一步优化性能。

v3.2论文中提到在内核层面共享k-v提升计算效率,让DSA的闪电索引器机制(lightning indexer)运行速度远超传统实现。

在TileLang的文档中也有相关的技术介绍,在计算过程中缓存中间数据,比全局内存快得多。

TileLang与DeepSeek双向奔赴

更早之前,在DeepSeek连续一周发布开源代码库的第一天,王磊就曾向DeepSeek团队推荐TileLang语言。

后来TileLang也以DeepSeek在这天发布的FlashMLA内核作为评测基准,在H100上的MLA解码速度,TileLang编写的内核做到与FlashMLA相当。

在最新的DeepSeek v3.2发布之后,王磊也发帖致敬DeepSeek敢于使用一门新的编程语言来开发核心产品。

并且DeepSeek v3.2也验证了TileLang确实可以用来训练模型。

DeepSeek V3.2技术报告:https://github.com/deepseek-ai/DeepSeek-V3.2-Exp/blob/main/DeepSeek_V3_2.pdf

TileLang:https://github.com/tile-ai/tilelang

参考链接:

[1]https://x.com/Lei_Wang_1999/status/1932331703747698786

[2]https://x.com/nathancgy4/status/1972613835598299245

[3]https://bbs.pku.edu.cn/v2/post-read-single.php?bid=322&postid=28065519

[4]https://hub.baai.ac.cn/view/46173

本文来自微信公众号“量子位”,作者:梦晨,36氪经授权发布。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

DeepSeek TileLang GPU内核 AI算力 模型优化 DeepSeek V3.2 Tile Language GPU Kernel AI Computing Model Optimization
相关文章