DeepSeek-V3.2背后的國產(chǎn)算子編程語言TileLang是什么?如何保持性能領(lǐng)先的同時減少6倍代碼量?
引言
9月29日傍晚,DeepSeek-V3.2-Exp模型正式發(fā)布并開源。該模型引入了稀疏Attention架構(gòu),旨在降低計算資源消耗并提升模型推理效率,并且已成功在華為云平臺完成適配,支持高達160K的長序列上下文。這一進展無疑對底層算子的性能和開發(fā)效率提出了更高的要求。
當我們探討支撐此類前沿大模型高效運行與快速迭代的底層動力時,視線必然會從模型架構(gòu)本身,轉(zhuǎn)向其賴以發(fā)展的基礎工具鏈。
在不久前華為全聯(lián)接大會的開發(fā)者日上,由北京大學計算機學院楊智團隊主導開發(fā)的開源AI算子編程語言——TileLang展示了其如何將高級數(shù)據(jù)流描述自動轉(zhuǎn)換為高效的底層代碼(如AscendC),并成功將FlashAttention算子的代碼量從500多行精簡至80行,同時保持了與官方版本持平的性能。這標志著一個新的趨勢:在AI模型競爭日益激烈的背景下,像TileLang這樣能夠顯著提升開發(fā)效率的下一代編程工具,正從幕后走向臺前,成為加速AI創(chuàng)新的重要引擎。
也得益于其高效性和國產(chǎn)性,DeepSeek 團隊在開發(fā) V3.2-Exp 時就采用了 TileLang 進行快速原型開發(fā),以支持更深入的探索。
今天我們就來扒一扒 TileLang 的核心技術(shù)與設計理念、其背后的技術(shù)團隊與項目發(fā)展,以及這項技術(shù)對國產(chǎn)開源生態(tài)的影響。
TileLang 開源倉庫:https://github.com/tile-ai/tilelang
1 什么是TileLang?概述與起源
在AI技術(shù)飛速發(fā)展的今天,深度學習模型的復雜度和規(guī)模呈指數(shù)級增長,這對底層計算效率提出了前所未有的挑戰(zhàn)。AI算子作為構(gòu)成深度學習模型的基本計算單元,其性能直接影響整個模型的訓練和推理效率。然而,傳統(tǒng)的算子開發(fā)方法存在諸多瓶頸:CUDA編程門檻高、Triton等現(xiàn)有DSL(領(lǐng)域特定語言)在自定義高性能kernel方面靈活性不足,TVM/Tensor IR的調(diào)度代碼復雜且難以維護。正是在這樣的背景下,一款名為TileLang的創(chuàng)新性AI算子編程語言應運而生。
TileLang是由北京大學計算機學院楊智副教授團隊主導開發(fā)的一款開源AI算子編程語言,其核心價值在于能夠?qū)⒏呒墑e的數(shù)據(jù)流描述,自動轉(zhuǎn)換并優(yōu)化為高效的底層代碼(如CUDA或AscendC)。通過獨特的Tile級抽象和自動調(diào)度能力,開發(fā)者可以用更簡潔的代碼表達復雜計算,同時獲得接近手寫算子的高性能,顯著提升了AI算子的開發(fā)效率。
TileLang的設計目標
TileLang的設計目標主要體現(xiàn)在三個方面:
- 降低開發(fā)門檻:通過高層次的抽象接口,使不熟悉硬件細節(jié)的算法工程師也能高效開發(fā)高性能算子。
- 保持性能競爭力:生成的代碼性能與手寫優(yōu)化代碼相媲美,在多種常見算子上的測試表明,其性能可達業(yè)界領(lǐng)先水平的95%以上。
- 支持多硬件后端:當前版本已支持GPU(CUDA)和昇騰(AscendC)等主流AI加速硬件,為國產(chǎn)算力平臺提供優(yōu)質(zhì)開發(fā)體驗。
為何命名為"TileLang"?
"Tile"一詞在高性能計算中指計算分塊,這是優(yōu)化內(nèi)存層次結(jié)構(gòu)利用的關(guān)鍵技術(shù)。無論是CPU的緩存系統(tǒng),還是GPU的共享內(nèi)存/寄存器層次,合理的Tiling策略都是實現(xiàn)高性能計算的必要條件。TileLang將這一概念提升為語言的核心抽象,使開發(fā)者能夠自然表達計算分塊策略,而編譯器則能智能地進行優(yōu)化。
表:TileLang與現(xiàn)有AI算子開發(fā)方式對比
特性 | 傳統(tǒng)CUDA編程 | Triton | TVM/Tensor IR | TileLang |
學習曲線 | 陡峭 | 中等 | 中等 | 平緩 |
代碼量 | 多 | 中等 | 多 | 少 |
性能控制 | 精細 | 部分控制 | 依賴調(diào)度編寫 | 自動優(yōu)化+專家調(diào)控 |
可維護性 | 低 | 中等 | 低 | 高 |
跨硬件支持 | 僅NVIDIA GPU | 主要NVIDIA GPU | 多后端 | 多后端(包括國產(chǎn)硬件) |
2 TileLang的核心技術(shù)與設計理念
2.1 Tile級抽象:貫穿始終的核心思想
TileLang的核心技術(shù)優(yōu)勢源于其統(tǒng)一的Tile級抽象。在高性能計算中,Tiling(分塊)是優(yōu)化數(shù)據(jù)局部性、提升緩存利用率的關(guān)鍵技術(shù)。TileLang將這一概念從簡單的循環(huán)分塊提升為一級語言抽象,使開發(fā)者能夠以數(shù)據(jù)流為中心描述計算,而不必過多關(guān)注硬件細節(jié)。
與傳統(tǒng)DSL相比,TileLang的創(chuàng)新之處在于將調(diào)度空間(包括線程Binding、Layout、Tensorize和Pipeline)與數(shù)據(jù)流解耦,并將其封裝為一組可自定義的注解和原語。這一設計使得用戶能夠?qū)W⒂趉ernel的數(shù)據(jù)流本身,而將大多數(shù)優(yōu)化工作交由編譯器完成。在實際應用中,這種抽象顯著降低了代碼復雜度——如將FlashAttention算子的實現(xiàn)從500多行減少至80行,同時保持了與官方版本持平的性能。
2.2 自動調(diào)度與推理機制
TileLang的編譯器集成了先進的自動推理機制,能夠在多個層面優(yōu)化算子的性能表現(xiàn):
- 布局推理(Layout Inference):TileLang引入了一套完整的布局推理系統(tǒng),用于描述數(shù)據(jù)在內(nèi)存中的組織和映射方式。這一系統(tǒng)包括嚴格布局推理(針對矩陣乘等有強布局約束的算子)和通用布局推理(用于推導相連表達式的布局),使得編譯器能夠自動確定最優(yōu)的內(nèi)存布局。
圖片
- 并行度推理:通過T.Parallel等原語,編譯器能夠自動推導出適合目標硬件的并行策略,包括線程綁定、向量化優(yōu)化等。例如,給定kernel上下文128個線程,將Copy操作用T.Parallel包裝后,編譯器能夠自動推導出高性能形式,最終Codegen成優(yōu)化的CUDA代碼。
- 內(nèi)存層次優(yōu)化:TileLang允許開發(fā)者精確控制數(shù)據(jù)在內(nèi)存層次結(jié)構(gòu)中的流動,例如將數(shù)據(jù)緩存到寄存器進行反量化后再寫入共享內(nèi)存,或是直接寫回共享內(nèi)存。這種靈活性使得專家開發(fā)者能夠針對特定硬件特性進行深度優(yōu)化。
2.3 多層級編程范式
為滿足不同背景開發(fā)者的需求,TileLang創(chuàng)新性地設計了多層級編程范式:
# Level 1: 專家級編程 - 直接控制硬件細節(jié)
@tilelang
def kernel_expert_level(A: [128, 128], B: [128, 128]):
# 直接指定線程配置和內(nèi)存層次
for i in range(128):
for j in range(128):
# 精確控制計算和內(nèi)存訪問
...
# Level 2: 開發(fā)者級編程 - 使用Tile級抽象
@tilelang
def kernel_developer_level(A: [128, 128], B: [128, 128]):
# 使用Tile原語描述計算
T.copy(A, B)
T.reduce(A, B)
...
# Level 3: 初學者級編程 - 高級表達式
@tilelang
def kernel_beginner_level(A: [128, 128], B: [128, 128]):
# 直接描述數(shù)學表達式
C = A @ B
...這種分層設計使得TileLang既能滿足硬件專家對性能極致的追求,又能讓算法研究人員快速實現(xiàn)其想法,大大擴展了語言的適用場景。
表:TileLang的多層級編程范式支持
編程級別 | 目標用戶 | 技術(shù)要求 | 代碼復雜度 | 性能控制度 |
Level 1 | 硬件專家、資深CUDA程序員 | 精通硬件架構(gòu)、內(nèi)存層次 | 高 | 精細控制 |
Level 2 | AI算子開發(fā)者、研究生 | 了解Tile概念、基礎并行計算 | 中 | 平衡控制與效率 |
Level 3 | 算法工程師、初學者 | 熟悉數(shù)學表達式和Python | 低 | 自動優(yōu)化 |
3 技術(shù)團隊與項目發(fā)展
3.1 北大楊智團隊:深耕AI系統(tǒng)研究
TileLang的背后是北京大學計算機學院楊智副教授領(lǐng)銜的科研團隊。楊智老師是北京大學計算機學院的副研究員、博士生導師,擁有國家高層次青年人才稱號,在深度學習模型的分布式并行、計算優(yōu)化、算法和系統(tǒng)設計方面有著深厚積累。
該團隊的研究特色鮮明,采用自頂向下的系統(tǒng)性研究方法,培養(yǎng)學生構(gòu)建從上層算法應用到底層數(shù)據(jù)處理和計算系統(tǒng)的全方位能力。團隊長期與阿里、微軟研究院等產(chǎn)業(yè)界領(lǐng)先團隊保持密切合作研究與聯(lián)合培養(yǎng),使研究生能夠接觸實際需求、數(shù)據(jù)和系統(tǒng),有效提高科研和實際能力。這種產(chǎn)學研深度融合的模式,為TileLang的研發(fā)提供了堅實支撐。
3.2 項目發(fā)展歷程與成果
TileLang項目雖然相對年輕,但已經(jīng)取得了一系列令人矚目的成果:
- 開源表現(xiàn)亮眼:TileLang在GitHub上開源僅兩個月即斬獲797星,吸引了280多位開發(fā)者加入社區(qū),顯示了學術(shù)界和工業(yè)界的廣泛關(guān)注。
- 技術(shù)生態(tài)合作:項目與SGLang等知名開源項目建立了技術(shù)生態(tài)合作,逐步構(gòu)建起自己的技術(shù)影響力圈。
- 行業(yè)認可:在2025年9月的華為全聯(lián)接大會開發(fā)者日上,TileLang作為代表性創(chuàng)新成果亮相,團隊核心成員董宇騏現(xiàn)場展示了TileLang在FlashAttention算子開發(fā)中的顯著優(yōu)勢——代碼量從500+行減少至80行,同時保持性能持平。
TileLang的性能表現(xiàn)已在多個關(guān)鍵kernel上得到驗證,包括FlashAttention、Linear Attention等復雜算子。評估結(jié)果表明,TileLang在這些kernel上可實現(xiàn)業(yè)界領(lǐng)先的性能,充分展示了其統(tǒng)一的Block-Thread編程范式和透明的調(diào)度能力。
H100 上的 Flash Attention 性能
圖片
H100 上的 MLA 性能
4 開源生態(tài)與社區(qū)建設
4.1 開源進展與社區(qū)活躍度
TileLang遵循開源開放的原則,自2025年1月在GitHub上開源以來,迅速引起了AI編譯器與算子開發(fā)社區(qū)的廣泛關(guān)注。在短短兩個月內(nèi),該項目即獲得了797個星標,吸引了280多位開發(fā)者加入社區(qū),形成了活躍的討論和技術(shù)交流氛圍。這種快速的社區(qū)成長,反映了市場對更高效AI算子開發(fā)工具的迫切需求。
目前已有將近 1800 star
項目的技術(shù)生態(tài)建設也取得了初步成效,與SGLang等知名開源項目建立了技術(shù)生態(tài)合作,擴大了其技術(shù)影響力。這種合作不僅有助于TileLang在更廣泛的場景中得到應用,也促進了項目自身的持續(xù)改進和完善。
4.2 產(chǎn)學研融合的創(chuàng)新模式
TileLang的發(fā)展模式體現(xiàn)了產(chǎn)學研深度融合的先進理念。作為北京大學計算機學院的科研項目,它既保持了學術(shù)研究的前瞻性和創(chuàng)新性,又緊密對接產(chǎn)業(yè)界的實際需求。團隊與阿里、微軟研究院的合作關(guān)系,確保了研究方向與產(chǎn)業(yè)需求的同頻共振。
在2025年9月的華為全聯(lián)接大會上,TileLang作為鯤鵬昇騰生態(tài)的創(chuàng)新成果亮相,顯示了其與國產(chǎn)硬件平臺的深度整合。TileLang已經(jīng)能夠?qū)⒏呒墑e的數(shù)據(jù)流描述自動轉(zhuǎn)換并優(yōu)化為高效的AscendC代碼(華為昇騰的編程語言),這為國產(chǎn)AI算力平臺提供了更友好的開發(fā)體驗。
4.3 開發(fā)者培養(yǎng)與社區(qū)賦能
TileLang團隊高度重視開發(fā)者生態(tài)建設,通過多種方式降低學習門檻、促進知識共享:
- 完善文檔與示例:開發(fā)團隊對項目文檔進行了全面升級,提供了從基礎語法到高級特性的豐富示例代碼,幫助開發(fā)者快速上手。
- 性能基準測試:文檔中新增了性能基準測試部分,展示TileLang在不同硬件平臺上的表現(xiàn),為開發(fā)者評估和優(yōu)化提供參考。
- 預構(gòu)建二進制包:項目提供了CUDA加速的預構(gòu)建二進制包,主要針對Ubuntu 20.04系統(tǒng)和Python 3.10環(huán)境,極大地簡化了TileLang在支持CUDA的GPU環(huán)境中的部署過程。
5 TileLang對國產(chǎn)開源生態(tài)的影響與啟示
5.1 從"可用"到"好用":提升國產(chǎn)硬件開發(fā)體驗
隨著中美科技競爭加劇,發(fā)展自主可控的AI算力已成為國家戰(zhàn)略需求。然而,國產(chǎn)AI芯片(如華為昇騰、寒武紀等)不僅需要硬件層面的競爭力,更需要完善的軟件生態(tài)支撐。TileLang通過與鯤鵬昇騰生態(tài)的深度整合,為國產(chǎn)AI芯片提供了"好用"的開發(fā)工具,顯著降低了開發(fā)者的學習成本和使用門檻。
在華為全聯(lián)接大會2025的開發(fā)者日上,TileLang展示了其將高級數(shù)據(jù)流描述自動轉(zhuǎn)換為高效AscendC代碼的能力,這對于提升國產(chǎn)AI芯片的開發(fā)者體驗具有重要意義。傳統(tǒng)上,為昇騰平臺開發(fā)高性能算子需要深入掌握AscendC編程,而TileLang允許開發(fā)者使用更高級的Python-like語法描述計算,自動生成優(yōu)化后的底層代碼,大大提高了開發(fā)效率。
5.2 國產(chǎn)開源的三階段演進模型
TileLang的發(fā)展軌跡印證了國產(chǎn)開源軟件從"跟隨"到"引領(lǐng)"的演進路徑。參考陳哥在技術(shù)博客中提出的觀點,國產(chǎn)化替代對開源軟件的應用分為三個階段:封裝換皮階段、融會貫通階段和創(chuàng)新迭代階段。
TileLang已經(jīng)超越了簡單的"封裝換皮",進入了"融會貫通"并向著"創(chuàng)新迭代"階段邁進。它并非對現(xiàn)有DSL的簡單包裝,而是基于對AI算子開發(fā)痛點的深度理解,提出了創(chuàng)新的Tile級抽象和自動調(diào)度機制。這種基于開源而不困于開源的創(chuàng)新范式,正是國產(chǎn)開源軟件走向成熟的關(guān)鍵標志。
5.3 構(gòu)建自主可控的技術(shù)體系
TileLang的發(fā)展體現(xiàn)了在基礎軟件領(lǐng)域構(gòu)建自主可控技術(shù)體系的重要性。正如華為任正非所言:"不要重復發(fā)明輪子,要站在巨人的肩膀上創(chuàng)新。"TileLang沒有完全從頭開始設計編程語言,而是選擇Python作為宿主語言,借鑒了現(xiàn)代DSL設計的優(yōu)秀理念,同時針對AI算子開發(fā)的特定場景進行了創(chuàng)新性探索。
這種策略平衡了技術(shù)自主性與發(fā)展效率之間的關(guān)系——既避免了完全從零開始的高成本,又確保了核心技術(shù)的可控性和創(chuàng)新性。在AI編譯器這一關(guān)鍵基礎軟件領(lǐng)域,這種發(fā)展模式具有重要的參考價值。
5.4 開源生態(tài)與商業(yè)化共贏
TileLang堅持開源開放的技術(shù)路線,通過社區(qū)協(xié)作推動項目發(fā)展。這種模式有利于形成廣泛的技術(shù)共識和生態(tài)支持,避免重復造輪子,集中有限資源攻克關(guān)鍵技術(shù)難點。正如禪道項目管理軟件所展示的,開源、開放與共享不僅能夠加速技術(shù)迭代效率、降低技術(shù)準入門檻,其透明性特征更有助于建立可信的技術(shù)體系。
對于TileLang這類基礎軟件而言,開源不僅是開發(fā)模式,更是技術(shù)推廣和生態(tài)建設的有效途徑。通過吸引學術(shù)界和工業(yè)界的開發(fā)者共同參與,TileLang有望更快地成熟完善,形成良性循環(huán)的開源生態(tài)。
6 總結(jié)與展望
TileLang作為一款新興的AI算子編程語言,憑借其創(chuàng)新的Tile級抽象、多層級編程范式和強大的自動調(diào)度能力,為AI算子開發(fā)提供了兼具高生產(chǎn)力和高性能的解決方案。它的出現(xiàn)恰逢其時,既滿足了日益復雜的AI模型對高效算子的需求,又為國產(chǎn)AI芯片的軟件生態(tài)建設提供了有力支撐。
從技術(shù)層面看,TileLang的核心優(yōu)勢在于將調(diào)度優(yōu)化與計算描述分離,使開發(fā)者能專注于數(shù)據(jù)流本身,而將性能優(yōu)化交由編譯器處理。這種設計哲學使得TileLang在保持代碼簡潔性的同時,不犧牲性能競爭力,實現(xiàn)了開發(fā)效率與運行效率的較好平衡。
從生態(tài)影響看,TileLang代表了國產(chǎn)基礎軟件從"使用開源"到貢獻開源再到引領(lǐng)開源"的發(fā)展路徑。它立足于對AI算子開發(fā)痛點的深度洞察,提出了創(chuàng)新性的解決方案,并與國產(chǎn)硬件平臺深度整合,為構(gòu)建自主可控的AI技術(shù)生態(tài)提供了重要支撐。
展望未來,TileLang仍面臨一系列挑戰(zhàn)與機遇。在技術(shù)層面,需要持續(xù)擴展對更多硬件后端的支持,優(yōu)化自動調(diào)度算法的效果,增強語言的表達能力和調(diào)試體驗。在生態(tài)層面,需要吸引更多開發(fā)者參與貢獻,拓展工業(yè)應用場景,建立可持續(xù)發(fā)展的開源社區(qū)模式。
TileLang的發(fā)展歷程啟示我們,在基礎軟件領(lǐng)域,國產(chǎn)化替代并非簡單的"封裝換皮",而是需要深度理解和消化開源技術(shù),結(jié)合具體應用場景進行創(chuàng)新迭代,最終形成具有自主核心競爭力的技術(shù)體系。只有這樣,才能在"黑土地"上種出自己的莊稼,構(gòu)建健康繁榮的技術(shù)生態(tài)。
隨著AI技術(shù)的不斷演進,對高效算子的需求將愈發(fā)迫切。TileLang這類創(chuàng)新性開發(fā)工具的價值將進一步凸顯,有望成為AI開發(fā)棧中不可或缺的一環(huán),為AI技術(shù)的普及和深化提供底層支撐。
TileLang 開源倉庫:https://github.com/tile-ai/tilelang

























