大香大香伊人在钱线久久,亚洲日韩欧美国产高清αv,日本强伦姧人妻久久影片,亚洲国产成人欧美在线观看

網易首頁 > 網易號 > 正文 申請入駐

媽媽再也不用擔心延遲了!斯坦福手搓Llama超級內核,推理僅需0.00068秒

0
分享至


新智元報道

編輯:定慧

【新智元導讀】斯坦福Hazy實驗室推出新一代低延遲推理引擎「Megakernel」,將Llama-1B模型前向傳播完整融合進單一GPU內核,實現推理時間低于1毫秒。在B200上每次推理僅需680微秒,比vLLM快3.5倍。

想象一下:你和AI聊天時,每句話都要等它3秒——血壓是不是瞬間飆升?

低延遲LLM推理,就是專門針對這個問題的解決辦法。


博客地址:https://hazyresearch.stanford.edu/blog/2025-05-27-no-bubbles

最近斯坦福Hazy實驗室「整了個大活」:他們手搓了個叫做「Megakernel」超級玩具(推理引擎),把Llama-1B的前向傳播整個塞進單個GPU內核!

結果直接炸場:

  • H100上提速1.5倍,帶寬利用率飆到78%

  • B200上僅需0.00068秒(人類眨1/3眼的時間?。?/p>

  • 比vLLM快3.5倍,把SGLang也甩出尾氣

網友辣評:「傳統推理引擎還在騎馬,Megakernel已經開上戰斗機!」


速度!使用32個token的提示詞生成128個token的結果,未使用推測機制。

Fwd/s是衡量模型推理速度的一個指標,表示模型每秒可以執行多少次前向傳播,數值越高,說明模型處理速度越快。

傳統推理引擎:GPU在「摸魚」

通常情況下,人們在GPU上運行代碼的方式是啟動一個「內核(kernel)」—— 一個執行明確定義操作的小型程序(例如RMS歸一化、MLP等)。

當GPU運行大模型時,通常會把任務拆成上百個小內核,目前所有AI工作負載都是如此,表現為一系列相對較短小的內核。

比如先算RMS歸一化 → 再搞注意力 → 接著MLP層...像流水線工人反復交接。

為了有一個初步認識,來看看Llama-1B Transformer模塊中的運算,以及它們可能被劃分的一些示例內核邊界。


LLaMA-1B Transformer 模塊的一組示例內核邊界。紅色框表示各個內核執行的工作

使用Llama-1B解碼單個序列時,是一種純粹受內存限制的工作負載:性能取決于是否能夠持續不斷地從GPU的全局內存中加載權重。

那么,為什么現有的方法距離充分利用GPU的全部帶寬還差得遠呢?

關鍵問題就是,當前基于內核的模型運行方法引入了停頓,阻礙了持續加載內存:

內核空閑

首先GPU內核是按嚴格順序啟動的,因此前一個內核中的所有線程塊完全結束后,后一個內核中的線程塊才能開始執行。

每次啟動一個新的內核時,都必須等待前一個內核中所有落后的線程塊完成。

例如,如果一個內核運行512個線程塊(如LLaMA-1B降維投影(down projection)),但在B200上只有148個流式多處理器(streaming multiprocessors),那么到內核執行的最后階段,就會出現80個空閑的SM——

148 -(512 - 148 * 3)= 80

因為大部分線程塊已經運行完,只有少數幾個還在運行,這些少數線程塊占用了全部的SM,而其他SM就只能空等,造成資源浪費。

內核開銷

其次,正如之前提到的,每次內核(kernel)的啟動和關閉都會帶來開銷。

理論上,NVIDIA的CUDA圖(CUDA graphs)可以在一定程度上隱藏這些開銷,但根據測量結果來看,仍然有不少資源浪費。


各種內核開銷的風格化甘特圖。有時這些開銷可以忽略不計,但很多時候并非如此!

舉個例子,在H100上運行了一個簡單的「假內核」測試(這個內核只記錄開始時間、休眠一段時間、然后記錄結束時間)。結果發現:

  • 如果通過普通的CUDA流(stream)來運行,這個內核的啟動開銷大約是2.1微秒

  • 如果使用CUDA圖,啟動開銷雖然下降了,但也只有降到約1.3微秒

這段時間里,GPU并沒有做任何有用的計算,只是在準備或等待,對整體性能來說是浪費。

所有優化目標是:GPU的每一微秒都用在真正有意義的工作上

內核等待

最后,即便啟動了下一個內核,仍然需要等待權重(weights)和激活值(activations)加載完成之后,計算才能真正開始。

這些等待帶來的延遲會讓GPU空閑上成千上萬個周期

理想情況下,希望在執行前一個內核的計算和數據存儲時,就能開始加載下一個內核所需的權重。為此,NVIDIA 提供了一種機制,叫做Programmatic Dependent Launch(PDL),它允許在前一個內核還在運行的同時,就提前為下一個內核做準備。

但是,PDL仍然會引入不必要的停頓,這是因為它的同步機制(cudaGridDependencySynchronize)太粗粒度了。舉個例子,它要求所有的query、key和value全部計算完畢后,attention才能開始,而不能在某個head準備好時就立即開始計算。

稍后會在Llama-1B的一個具體案例中展示,這種機制在哪些情況下會限制性能。

綜合來看,這些形成了標題中提到的「內存流水線氣泡」——這也是并非始終從內存加載數據的一個關鍵原因。

對于短時操作來說,這些暫停累積起來會浪費大量的潛在帶寬。

部分原因在于,Llama-1B(實際為1.24B參數)在批量大小為1時實在太過……微?。喝绻總€操作本身非???,那么操作之間的間隔時間就開始變得至關重要。

為了說明問題的嚴重性:在單個H100上以16位精度進行單序列生成時,內存限制為3.35TB/s / 2.48GB = 每秒約 1350 次前向傳遞。

但每層需要7次內核啟動,共16層,即使每次內核阻塞時間樂觀估計為5微秒(包括尾部任務、內核啟動和內存延遲),生成速度也將僅約為每秒770次前向傳遞。

實際情況往往更差。在低延遲工作負載下,GPU只有很少一部分時間真正用于執行有用的工作!

雖然CUDA確實提供了一些現有功能(例如圖、流、PDL)來部分解決這些問題,但研究團隊想看看是否有一種不同的方法可以解決所有這些問題,即將整個模型的前向計算融合成一個單一的內核。

如何設計Megakernel

如何將整個LLaMA前向傳遞過程融合到一個單一內核中,需要解決三個關鍵問題:

1 融合數十個操作從頭開始做起來很難。需要一種機制來在Megakernel中執行這些操作。

2 為了在相同硬件上重疊多個操作,需要防止對有限資源(例如共享內存)的競爭。

3 在傳統內核模型中,GPU會在每個內核之后進行同步。沒有了內核,必須自己手動對GPU進行同步!

問題1:融合大爆炸

傳統內核融合通常只合并兩到三個操作。

但是這里需要融合大約一百個操作。

因此,需要一個合理的抽象方式,來對Megakernel進行編程。

一種方法是基于一個在GPU上的解釋器——本質上是ThunderMLA底層架構的一個更復雜版本的解釋器設計使得 GPU 中的每個流式多處理器(SM)都能接收一連串的指令(每個指令都使用相同的 CUDA 模板實現)并加以執行。

在Python端提前安排好每個SM的指令序列,值得注意的是,每個調度可以被重用于數百次前向傳遞!

對于端到端的Llama前向傳遞Megakernel,定義了以下指令集:

  • 融合的RMS歸一化、QKV和RoPE指令。

  • 一個注意力計算指令。

  • 一種注意力縮減指令(用ThunderGQA在長序列上的處理)。

  • 一個O投影加殘差指令。

  • 融合的RMS歸一化、上行門控和SiLU指令。

  • 一個下投影加殘差指令。

  • 一個RMS歸一化和語言建模頭部指令,用于計算最終的tokenlogits。

  • 使用一個通用的CUDA模板(包含加載、存儲、計算樣板函數)來實現每條這些指令,從而在的解釋器框架內促進互操作性。


問題2:共享內存以消除內存氣泡

指令與解釋器結構使能夠清晰地組織Megakernel。

然而,尚未解決一個關鍵問題:確保模型權重始終按順序加載,以最大化內存帶寬利用率。

Megakernel之所以能讓解決此問題,是因為可以在指令之間進行內存加載流水線操作:解釋器一旦能夠開始加載某條指令的模型權重,即使前一條指令仍在完成階段(例如將結果存儲到全局內存),它也會立即開始加載。

正是這種緊密的指令間切換,最大限度地減少了因啟動多個內核而可能出現的內存氣泡。

然而,這里有個問題:如果下一個指令沒有空間存放已加載的數據,那么從全局內存加載權重并不會帶來太大好處!

更準確地說,所有的權重矩陣都是從GPU全局內存加載到SM的「共享內存」中——這是NVIDIA對每個SM上快速內存的稱呼。

共享內存是每個SM上的稀缺資源,如果前一個指令占用了全部共享內存,就無法為新指令啟動新的加載操作。

這就需要一種方法來跟蹤哪個指令正在使用哪一部分共享內存,并在當前指令完成時迅速將共享內存過渡給下一個指令使用。

通過分頁共享內存來實現這一點。

首先將H100上的前213KB共享內存劃分為13個16KiB的頁面,并將剩余的共享內存用于特殊用途,例如存儲指令參數。

要使用這些頁面之一,指令必須顯式地從解釋器請求并釋放它們。

解釋器會自動將已釋放的頁面傳遞給下一條指令,允許它們在共享內存可用后盡早開始發出內存加載操作。

問題3:同步


雖然Megakernels能夠幫助最大限度地減少流水線氣泡,但它們也引入了一個新的問題:同步。

在常規的多kernel執行模型中,性能限制在于,直到之前所有kernel中的線程塊都完成后,下一個kernel中的線程塊才能開始執行。

然而,正是這一特性使得管理數據依賴關系變得簡單。當一個kernel啟動時,CUDA保證該kernel所需的所有輸入張量已經生成,并且可以安全地立即讀取。

使用Megakernel時,沒有這樣的保障:當一個SM開始執行新指令時,其輸入可能尚未就緒!

為了解決這個問題,在Megakernel內部顯式地對指令進行同步。

通過一個簡單的計數器系統來實現這一點。

在Megakernel啟動之前,在GPU全局內存中初始化一個計數器數組(即整數數組),初始值為零。

每當一條指令完成時,它會增加其中一個計數器的值。

同樣,每當新指令開始時,它必須等待其中某些計數器達到目標值,這表明其所有依賴項均已執行完畢。

這一優化在Llama-1B的大型多層感知機(MLP)中得以實現。

  • 在使用PDL的樸素實現中,必須等待整個隱藏狀態完成之后,才能開始下投影矩陣的乘法運算。

  • 改為將中間狀態劃分為四個塊進行處理,每個塊都有各自的計數器。這樣一來,針對下投影的指令只需等待其對應的輸入塊完成即可。


整合所有內容

據研究團隊所知,H100 Megakernel代表了有人首次在GPU上實現以16位精度運行參數超過10億的語言模型的前向傳播時間低于一毫秒。

而的B200實現更是將這一時間進一步縮短至每次前向傳播不到680微秒!

如文章開頭的圖片所示,Megakernel性能優于vLLM和SGLang基線(它們使用CUDA圖和Torch編譯):

  • 在H100上,Megakernel運行速度幾乎是vLLM的2.5倍,比SGLang快超過1.5倍。

  • 在B200上,與vLLM的差距擴大到3.5倍以上,仍然比SGLang快1.5倍以上。

距離B200上理論極限(大約每秒3,000次前向計算)仍有相當大的差距。

部分原因在于,該理論極限純粹基于內存帶寬——但仍需等待加載激活值。盡管這些激活值體積較?。ú粫加么罅繋挘虞d它們時仍然存在無法隱藏的延遲。

以下是當前B200前向計算運行時間的分解(總運行時間600微秒):

  • 存儲激活值、等待一致性以及加載這些激活值需要花費250微秒。

這比簡單模型預測的結果高出約20%:由于每條指令都依賴于前一條指令,需要支付兩次加載延遲(檢查就緒狀態,然后加載激活值)和兩次存儲延遲(存儲激活值,然后標記為就緒)的開銷,每條指令都是如此。

以每次加載/存儲大約500納秒的延遲來計算,這將帶來約200微秒的開銷。(懷疑剩余的大約50微秒中,有一部分來自在全局內存中處理原子操作所花費的時間。)

  • 實際運行RMS歸一化和矩陣向量計算花費了200微秒。

這部分時間中約有95%用于矩陣向量運算。在Blackwell上,發現使用張量核心對此幫助不大;而在Hopper上,直接在CUDA核心上運行效果更好。這種差異的原因在于兩種GPU的CUDA核心性能相對接近,但Blackwell的張量核心要快得多。

  • 30微秒用于等待全局內存中的權重(流水線工作正常?。?。

其中,40%的時間花費在LM頭部,這是整個Megakernel中流水線效率最高的部分,因為其具有高度一致性和龐大的規模。

  • 在各個線程束(warp)之間,有40微秒花費在低層次的同步開銷上。

這里的一個關鍵問題是,即使在「通過」狀態時,CUDA的異步屏障操作速度也相對較慢,每次都需要大約60納秒的時間。

  • 80微秒用于設置和各種其他開銷。

例如,通過指令屏障、將頁面標記為完成等。

本次突破明確展示了減少內核切換、優化內存流水線和精細同步的重要性,這也預示著低延遲推理技術的進一步發展潛力。

參考資料:

https://news.ycombinator.com/item?id=44111673

https://hazyresearch.stanford.edu/blog/2025-05-27-no-bubbles


特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
超巨時刻!亞歷山大末節最后4分38秒獨攬15分逆天改命!

超巨時刻!亞歷山大末節最后4分38秒獨攬15分逆天改命!

直播吧
2025-06-14 11:40:20
鳳凰傳奇要翻車?曾毅因佩戴的手表引爭議,被指含性暗示元素

鳳凰傳奇要翻車?曾毅因佩戴的手表引爭議,被指含性暗示元素

然哥閑聊
2025-06-14 08:33:17
13款“零添加”醬油,竟有12款檢出致癌物

13款“零添加”醬油,竟有12款檢出致癌物

霹靂炮
2025-06-13 23:58:27
最新戰況:以色列損失慘重,F-35被擊落,到處都是爆炸聲

最新戰況:以色列損失慘重,F-35被擊落,到處都是爆炸聲

時時有聊
2025-06-14 11:54:59
新華社快訊:德黑蘭上空傳出巨大爆炸聲

新華社快訊:德黑蘭上空傳出巨大爆炸聲

新華社
2025-06-14 01:03:03
太開放了!凌晨2點多,老外帶07年女孩打車約會,被司機成功制止

太開放了!凌晨2點多,老外帶07年女孩打車約會,被司機成功制止

火山詩話
2025-06-14 07:08:28
世界是個巨大的湘雅二醫院,我們都是被標了價格的羅帥宇

世界是個巨大的湘雅二醫院,我們都是被標了價格的羅帥宇

李宇琛
2025-06-13 21:24:13
專家稱印度墜機副駕駛犯了一個極其簡單的錯誤:主駕要求收起起落架,他收起了襟翼

專家稱印度墜機副駕駛犯了一個極其簡單的錯誤:主駕要求收起起落架,他收起了襟翼

愛下廚的阿釃
2025-06-14 11:20:08
這就是羅帥宇死亡真相?158段錄音文件毫無作用,讀書成績差抑郁

這就是羅帥宇死亡真相?158段錄音文件毫無作用,讀書成績差抑郁

中州俠士
2025-06-14 00:55:12
鄭欽文:我不是故意要摔倒兩次的,只是我還不懂怎么在草地上奔跑

鄭欽文:我不是故意要摔倒兩次的,只是我還不懂怎么在草地上奔跑

懂球帝
2025-06-14 07:19:09
央行:為保持銀行體系流動性充裕,2025年6月16日,中國人民銀行將以固定數量、利率招標、多重價位中標方式開展4000億元買斷式逆回購操作,期限為6個月...

央行:為保持銀行體系流動性充裕,2025年6月16日,中國人民銀行將以固定數量、利率招標、多重價位中標方式開展4000億元買斷式逆回購操作,期限為6個月...

財聯社
2025-06-13 17:04:11
南航“美女經理”:除了生理期就沒閑過,兩年半和上級開房410次

南航“美女經理”:除了生理期就沒閑過,兩年半和上級開房410次

就一點
2025-06-13 16:45:25
122名華人已被遣返回中國!19歲到68歲不等,多人身背重罪

122名華人已被遣返回中國!19歲到68歲不等,多人身背重罪

紐約時間
2025-06-13 06:24:54
中方衛星突然變軌到伊朗上空,接下來一幕讓以色列冷靜下來

中方衛星突然變軌到伊朗上空,接下來一幕讓以色列冷靜下來

頭條爆料007
2025-06-14 08:19:04
兩架專機降北京,百年宿敵握手言和,中國這步棋贏在哪?

兩架專機降北京,百年宿敵握手言和,中國這步棋贏在哪?

野山歷史
2025-06-14 08:19:52
風仍在吹:內伊說要終結以色列政權,但結果即便神權保住也···

風仍在吹:內伊說要終結以色列政權,但結果即便神權保住也···

邵旭峰域
2025-06-14 12:12:16
網傳五糧液10萬噸基地被堵門!此前有報道稱,該項目調減6000多萬

網傳五糧液10萬噸基地被堵門!此前有報道稱,該項目調減6000多萬

火山詩話
2025-06-14 08:15:51
羅帥宇的通報來了,真相終于大白

羅帥宇的通報來了,真相終于大白

大張的自留地
2025-06-14 08:39:21
恐怖如斯!今年季后賽福斯特執裁的比賽 步行者0-5 雷霆4-0

恐怖如斯!今年季后賽福斯特執裁的比賽 步行者0-5 雷霆4-0

直播吧
2025-06-14 11:49:26
亞歷山大35分雷霆2:2扳平步行者,福斯特裁判組絕對控制

亞歷山大35分雷霆2:2扳平步行者,福斯特裁判組絕對控制

李廣專業體育評論
2025-06-14 11:35:56
2025-06-14 14:19:00
新智元 incentive-icons
新智元
AI產業主平臺領航智能+時代
12874文章數 66067關注度
往期回顧 全部

科技要聞

一輛新車比特斯拉FSD都便宜,全行業陪葬?

頭條要聞

網紅是潛逃31年的殺人犯 幾乎每天都看法治新聞

頭條要聞

網紅是潛逃31年的殺人犯 幾乎每天都看法治新聞

體育要聞

32隊爭10億獎金,全新世俱杯來了!

娛樂要聞

鳳凰傳奇曾毅手表引爭議 含性暗示元素

財經要聞

樓市權威發聲

汽車要聞

長城為了拿環塔冠軍有多拼?魏建軍在下一盤大棋!

態度原創

數碼
本地
藝術
教育
公開課

數碼要聞

挑戰英偉達主導地位,AMD聯手多家AI初創公司改進芯片及軟件設計

本地新聞

最近的打工人,都在熬夜看這劇逐幀學習職場小技巧

藝術要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

教育要聞

45個平行志愿怎么填?高考志愿填報全解析

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 一本本月无码-| 精品第一国产综合精品蜜芽| 一本久久知道综合久久| 国产无线乱码一区二三区| 美女18禁一区二区三区视频| 亚洲精品乱码8久久久久久日本| 国产精品无码一区二区在线观一| 亚洲色大成网站www在线观看| 久久精品国产99国产精品最新| 国产乱人伦偷精品视频不卡| 国产丰满乱子伦无码专区| 护士脱了内裤让我爽了一夜视频| 久久精品国产999久久久| 天堂国产+人+综合+亚洲欧美| 2020久热爱精品视频在线观看| 国产精品-区区久久久狼| 免费特级黄毛片| 在线无码中文字幕一区| 艳妇荡女欲乱双飞两中年熟妇| 免费毛片全部不收费的| 成年女人永久免费观看视频| 无码av永久免费专区麻豆| 久久精品无码鲁网中文电影| 成人自慰女黄网站免费大全| 日韩超碰人人爽人人做人人添| 99久久国产精品免费高潮| 蜜臀av久久国产午夜福利软件| 2021久久超碰国产精品最新| 人妻乳哺乳无码一区二区| 午夜成人性刺激免费视频| 久久亚洲精品成人av无码网站| 狠狠色丁香久久婷婷综合_中| 日韩成人无码片av网站| 国产99精品| 性生交片免费无码看人| 中文在线а√天堂官网| 在线不卡日本v一区二区| 亚洲欧美日韩国产另类电影| 少妇人妻在线无码天堂视频网| 久久九九精品99国产精品| 亚洲国产精久久久久久久|