偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Cursor為Blackwell從零構(gòu)建MXFP8內(nèi)核,MoE層提速3.5倍,端到端訓(xùn)練提速1.5倍

人工智能 新聞
該團隊開發(fā)了一個自定義的 MXFP8 量化內(nèi)核,他們稱這是目前用于 MoE 訓(xùn)練的最快內(nèi)核。

在構(gòu)建更強大的 AI 模型的這場競賽中,傳統(tǒng)路徑很簡單:升級到最新最強大的硬件。但 Cursor 發(fā)現(xiàn)釋放下一代 GPU 的真正潛力遠非即插即用那么簡單。

在從 NVIDIA 的 Hopper H100s 升級到新旗艦 Blackwell B200s 后,該團隊遇到了一個「升級陷阱」:硬件性能翻倍,但實際訓(xùn)練速度卻被 MoE 層的效率拖慢,新架構(gòu)的設(shè)計反而放大了數(shù)據(jù)搬運和量化的開銷。

這就像給一輛賽車換上了動力翻倍的新引擎,卻發(fā)現(xiàn)原有的輪胎完全無法承載這股力量,導(dǎo)致速度反而下降。

他們的解決方案是回歸基礎(chǔ),自己定制「賽車胎」:在 GPU 內(nèi)核級別從零開始重寫整個混合專家(MoE)訓(xùn)練層。

Cursor 不僅解決了瓶頸問題,還徹底釋放了 Blackwell 架構(gòu)的潛能。通過拋棄對現(xiàn)有 CUDA 庫的依賴,他們能夠:

  • 直接針對 TMEM 的新特性設(shè)計數(shù)據(jù)流管線,避免無謂的寄存器搬運開銷;
  • 將量化與反量化邏輯融入內(nèi)核計算流程,大幅壓縮了內(nèi)存帶寬占用;
  • 優(yōu)化 MXFP8 的 microscaling 實現(xiàn),在保證訓(xùn)練收斂質(zhì)量的同時,把性能推到極限。

最終效果是:MoE 層在前向和反向傳播中都實現(xiàn)了 3.5 倍提速,端到端訓(xùn)練速度在 Blackwell 上快了 1.5 倍,相比最初的 Hopper GPU 方案實現(xiàn)了 2 倍的加速。

飛書文檔 - 圖片

與 BF16 相比,MXFP8 MoE 的相對加速(歸一化為 1.0)。

Cursor 團隊在博客中詳細介紹了相關(guān)技術(shù)細節(jié),并分享了他們的工程經(jīng)驗和性能數(shù)據(jù)。

  • 博客地址:https://cursor.com/en/blog/kernels

為什么現(xiàn)有 MoE 內(nèi)核在 Blackwell 上失效?

為了降低計算成本,模型訓(xùn)練普遍采用低精度數(shù)據(jù)格式(如 FP8)。但簡單地將高精度數(shù)字(如 0.0001)轉(zhuǎn)換為 FP8 會導(dǎo)致其被四舍五入為零,丟失信息。

微縮放(MX)通過將張量(Tensor)分割成許多小數(shù)據(jù)塊(例如每 32 個元素一塊),并為每個塊計算一個獨立的縮放因子(scale factor)來解決這個問題。

MXFP8 量化示例:每個 1x32 塊共享一個縮放因子。

這樣,每個塊內(nèi)的數(shù)據(jù)都能被有效縮放到 FP8 的可表示范圍內(nèi),從而在保留精度的同時享受低精度計算帶來的性能優(yōu)勢。Cursor 使用的 MXFP8 就是這樣一種格式。

張量內(nèi)存(TMEM)瓶頸

在 Hopper (H100) 架構(gòu)上,張量核心的計算結(jié)果直接累積在寄存器中,后續(xù)的「反量化」等操作可以流暢地進行。

然而,Blackwell (B200) 引入了新的張量內(nèi)存(TMEM)來存儲累加結(jié)果。這意味著任何自定義的算術(shù)操作都必須經(jīng)歷一次低效的數(shù)據(jù)往返:TMEM → 寄存器 → CUDA 核心處理 → TMEM。

這種異步數(shù)據(jù)傳輸會在張量核心的計算管線中產(chǎn)生「氣泡」,大幅降低執(zhí)行效率。更關(guān)鍵的是,盡管 Blackwell 的 FP8 張量核心吞吐量翻倍,其 CUDA 核心性能僅提升了約 33%,導(dǎo)致反量化速度嚴重滯后于計算速度。

該甘特圖截取自我們定制的 Blackwell 注意力核。第一行顯示了張量核心(QKT)的活動情況;第二行顯示了 CUDA 核心的活動情況(數(shù)據(jù)從 TMEM 加載至寄存器,然后執(zhí)行 softmax)。從 TMEM 到寄存器的加載延遲,導(dǎo)致了張量核心出現(xiàn)流水線氣泡。

數(shù)據(jù)顯示,在特定配置下,Blackwell 上的反量化耗時是矩陣乘法本身的 1.76 倍,遠高于 Hopper 上的 1.03 倍。

Hopper 與 Blackwell 上的相對反量化成本。

被忽視的「量化稅」

除了 TMEM 瓶頸,數(shù)據(jù)「量化」過程本身也成了性能殺手。

以一個典型的 MoE 矩陣乘法為例,計算本身可能僅需 1.16 毫秒,但將輸入矩陣量化為 MXFP8 格式并寫回內(nèi)存就需要搬運近 2.9 GB 的數(shù)據(jù),耗時約 0.44 毫秒,占到計算時間的近 40%。

在反向傳播中,這個開銷因需要轉(zhuǎn)置-量化而翻倍,達到 0.88 毫秒,占比高達 76%。這意味著,如果優(yōu)化不當,MXFP8 帶來的性能提升可能被完全抵消。

此外,現(xiàn)有的開源量化內(nèi)核不僅帶寬利用率低,其生成的縮放因子(scale factor)布局還與 Blackwell 的硬件指令不兼容,需要額外的、拖慢性能的重塑操作。

Cursor 如何從零重寫MoE 層?

面對這些挑戰(zhàn),并發(fā)現(xiàn)現(xiàn)有的開源庫(如 NVIDIA 的 TransformerEngine)并非最佳選擇,Cursor 團隊選擇放棄高層依賴,使用純 CUDA 和 PTX 匯編語言親自編寫 MoE 層的 GPU 代碼。

優(yōu)化策略
  • 擁抱原生硬件指令

他們沒有與 TMEM 架構(gòu)對抗,而是圍繞原生的 tcgen05.mma 指令構(gòu)建內(nèi)核。這使得 GPU 硬件自身能夠處理 MXFP8 所需的縮放,完全消除了 TMEM 和 CUDA 核心之間低效的數(shù)據(jù)移動。

  • 設(shè)計高效的數(shù)據(jù)流水線

他們實現(xiàn)了一個復(fù)雜的流水線,采用了諸如「Warp 專精」(將特定任務(wù)分配給不同的線程組)和 2-CTA(協(xié)同線程陣列)模式等技術(shù)。

Warp 專精將特定的任務(wù)分配給不同的線程組(Warp)。例如,Warp 0 負責(zé)從主內(nèi)存加載數(shù)據(jù)到共享內(nèi)存,Warp 1 負責(zé)加載縮放因子,Warp 2 負責(zé)將縮放因子從共享內(nèi)存移至 TMEM,而 Warp 3 則專門負責(zé)啟動矩陣乘法計算。這使得各個環(huán)節(jié)可以高度并行。

2-CTA 模式允許兩個 GPU 流式多處理器(SM)協(xié)同完成單個矩陣乘法,通過共享 B 矩陣來減少內(nèi)存流量,帶來了 15-20% 的性能提升。

  • 針對 MoE 工作負載進行優(yōu)化

對于 MoE 訓(xùn)練中特有的分組矩陣乘法,他們應(yīng)用了一種名為「專家級超分組」的 L2 緩存優(yōu)化啟發(fā)式算法。這確保了內(nèi)存訪問模式保持高效,將標準矩陣乘法與分組矩陣乘法之間的性能下降限制在僅 4%。

「秘密武器」:量化內(nèi)核與低精度配方

該團隊開發(fā)了一個自定義的 MXFP8 量化內(nèi)核,他們稱這是目前用于 MoE 訓(xùn)練的最快內(nèi)核。微基準測試顯示,其內(nèi)核持續(xù)的內(nèi)存帶寬超過 6.2 TB/s,相比他們從現(xiàn)有開源工具測得的約 4.5 TB/s 有了顯著提升。

至關(guān)重要的是,他們的內(nèi)核輸出的數(shù)據(jù)內(nèi)存布局與 tcgen05.mma 指令所要求的完全一致,避免了其他工具所必需的、耗時的額外「重塑」步驟。

基于內(nèi)存帶寬利用率的 MXFP8 量化內(nèi)核比較(E4M3,32 塊大小的縮放)。

團隊還確定了一種特定的低精度「配方」,能夠在不影響訓(xùn)練質(zhì)量的情況下提供最高速度。通過使用元素類型為 FP8E4M3、塊大小為 32 的 MXFP8 格式,他們能夠使訓(xùn)練損失的收斂情況與速度慢得多的 BF16 格式幾乎完全匹配。

團隊公布的訓(xùn)練損失曲線顯示,兩種方法幾乎沒有區(qū)別,證明了性能的提升并未以犧牲準確性為代價。

BF16 與 MXFP8 訓(xùn)練損失超過 10k 步:幾乎無法區(qū)分。

更多技術(shù)細節(jié)請閱讀原博客。

責(zé)任編輯:張燕妮 來源: 機器之心
相關(guān)推薦

2021-02-17 13:20:51

forpandas語言

2020-05-01 12:35:31

C++Python編程

2013-02-28 10:35:59

hadoop大數(shù)據(jù)Hortonworks

2016-03-21 10:16:06

RedisSpark大數(shù)據(jù)處理

2018-03-28 14:10:10

GoPython代碼

2021-03-18 15:29:10

人工智能機器學(xué)習(xí)技術(shù)

2016-10-08 16:02:37

WIFIMegaMIMO系統(tǒng)

2014-09-25 21:53:30

戴爾

2013-09-24 09:40:41

Java圖形加速

2022-08-09 09:10:31

TaichiPython

2020-05-14 14:21:50

谷歌AI數(shù)據(jù)

2023-07-12 14:28:45

谷歌模型

2009-12-16 11:43:28

卡巴斯基NVIDIA Tesl

2016-02-18 09:36:52

光纖wifi

2025-06-03 17:37:49

模型訓(xùn)練AI

2021-05-17 09:57:42

Python 開發(fā)編程語言

2019-03-27 13:45:44

MySQL優(yōu)化技巧數(shù)據(jù)庫

2013-10-17 09:34:56

企業(yè)郵箱海外訪問提速

2010-12-01 14:36:16

趨勢科技Web信譽查詢

2022-07-18 17:37:27

字節(jié)跳動人工智能AI模型
點贊
收藏

51CTO技術(shù)棧公眾號