英偉達再破世界紀錄,每秒1000 token!剛剛,全球最快Llama 4誕生
你以為,AI推理的速度已經(jīng)夠快了?
不,英偉達還能再次顛覆你的想象——就在剛剛,他們用Blackwell創(chuàng)下了AI推理的新紀錄。
僅僅采用單節(jié)點(8顆Blackwell GPU)的DGX B200服務(wù)器,英偉達就實現(xiàn)了Llama 4 Maverick模型每秒單用戶生成1000個token(TPS/user)的驚人成績!
單節(jié)點使用8塊B200 GPU
這項速度記錄,由AI基準測試服務(wù)Artificial Analysis獨立測量。
而且,更令人咋舌的是,單臺服務(wù)器(GB200 NVL72,配備72顆Blackwell GPU)的整體吞吐量,已經(jīng)達到了72,000 TPS!
GB200 NVL72液冷機架原型機
這場速度革命的幕后,是一整套精心布局的技術(shù)組合拳——
- 使用TensorRT-LLM優(yōu)化框架和EAGLE-3架構(gòu)訓(xùn)練推測解碼草稿模型;
- 在GEMM、MoE及Attention計算中全面應(yīng)用FP8數(shù)據(jù)格式,有效縮小模型體積并提高計算效率;
- 應(yīng)用CUDA內(nèi)核優(yōu)化技術(shù)(如空間分區(qū)、GEMM權(quán)重重排、Attention內(nèi)核并行優(yōu)化、程序化依賴啟動(PDL)等);
- 運算融合(如FC13+SwiGLU、FC_QKV+attn_scaling、AllReduce+RMSnorm融合)。
由此,Blackwell的性能潛力徹底被點燃,一舉實現(xiàn)了4倍加速,直接把之前的最強Blackwell基線甩在身后!
迄今測試過最快Maverick實現(xiàn)
這次優(yōu)化措施在保持響應(yīng)準確度的同時,顯著提升了模型性能。
英偉達針對GEMM(通用矩陣乘法)、MoE(混合專家模型)及Attention(注意力)運算運用了FP8數(shù)據(jù)類型,旨在減小模型體積,并充分利用Blackwell Tensor Core技術(shù)所帶來的高FP8吞吐量優(yōu)勢。
如下表所示,采用FP8數(shù)據(jù)格式后,模型在多項評估指標上的準確度可與Artificial Analysis采用BF16數(shù)據(jù)格式(進行測試)所達到的準確度相媲美:
為何減少延遲至關(guān)重要?
大部分用生成式AI的場景,都要在吞吐量(throughput)和延遲(latency)之間找一個平衡點,好讓很多用戶同時使用時,都能有個「還不錯」的體驗。
但是,有些關(guān)鍵場景,比如要迅速做出重要決策的時候,「響應(yīng)速度」就變得特別重要,哪怕一點延遲都可能帶來嚴重后果。
無論你想要的是同時處理盡可能多的請求,還是希望既能處理很多請求、響應(yīng)又比較快,還是只想最快地服務(wù)單個用戶(即最小化單個用戶的延遲),Blackwell的硬件都是最佳選擇。
下圖概述了英偉達在推理過程中應(yīng)用的內(nèi)核優(yōu)化和融合(以紅色虛線框標示)。
英偉達實現(xiàn)了若干低延遲GEMM內(nèi)核,并應(yīng)用了各種內(nèi)核融合(如FC13+SwiGLU、FC_QKV+attn_scaling以及AllReduce+RMSnorm),從而使Blackwell GPU在最小延遲場景下表現(xiàn)出色。
CUDA內(nèi)核優(yōu)化與融合
在內(nèi)核優(yōu)化與融合方面,英偉達采用了以下幾項關(guān)鍵技術(shù):
- 空間分區(qū)與高效內(nèi)存加載
利用空間劃分(也稱為warp專業(yè)化)并設(shè)計GEMM內(nèi)核,可以高效的方式從內(nèi)存中加載數(shù)據(jù),從而最大限度地利用NVIDIA DGX所提供的巨大內(nèi)存帶寬——總計64TB/s。
- GEMM權(quán)重重排
將GEMM權(quán)重以一種優(yōu)化的swizzled格式進行重排。
由此可以確保在使用Blackwell第五代Tensor Core完成矩陣乘法計算后,從Tensor內(nèi)存加載計算結(jié)果時能夠獲得更理想的數(shù)據(jù)布局。
- Attention內(nèi)核并行優(yōu)化
通過沿K和V張量的序列長度維度對計算進行劃分,優(yōu)化了Attention內(nèi)核的性能,使得計算任務(wù)能夠在多個CUDA線程塊上并行執(zhí)行。
此外,還利用分布式共享內(nèi)存機制,在同一線程塊集群內(nèi)的不同線程塊之間高效地進行結(jié)果規(guī)約,從而避免了訪問全局內(nèi)存的需要。
- 運算融合
通過啟用不同運算之間的融合,來減少內(nèi)核執(zhí)行間的開銷以及內(nèi)存加載/存儲的次數(shù)。
例如,將AllReduce運算與緊隨其后的RMSNorm運算及量化(Quantize)運算融合成單一的CUDA內(nèi)核,以及將SwiGLU運算與其前置的GEMM運算進行融合。
程序化依賴啟動(PDL)
程序化依賴啟動(PDL)是一項CUDA功能,它能夠減少同一CUDA流上兩個連續(xù)CUDA內(nèi)核執(zhí)行之間的GPU空閑時間,甚至允許這兩個內(nèi)核部分重疊執(zhí)行。
默認情況下,當多個內(nèi)核在同一個CUDA流上啟動時,第二個內(nèi)核必須等待第一個內(nèi)核執(zhí)行完畢后才能開始。
這種機制會導(dǎo)致兩個主要的性能問題:
- 其一,兩個連續(xù)的內(nèi)核執(zhí)行之間會產(chǎn)生微小的間隙(如下圖所示),在此期間GPU處于閑置狀態(tài)。
- 其二,當?shù)谝粋€內(nèi)核的執(zhí)行接近尾聲時,它可能仍會占用一部分流式多處理器(SM)來完成剩余的CUDA塊計算,這使得GPU上的其他SM處于空閑,從而導(dǎo)致GPU整體計算能力的利用率不足。
通過在CUDA中運用程序化依賴啟動API,英偉達允許次級內(nèi)核(secondary kernel)在主內(nèi)核(primary kernel)仍在運行時就開始執(zhí)行。
在初始準備階段(preamble period),次級內(nèi)核可以執(zhí)行那些不依賴于主內(nèi)核執(zhí)行的計算任務(wù),并加載相應(yīng)的數(shù)據(jù)。
這不僅消除了兩個連續(xù)內(nèi)核之間的執(zhí)行間隙,也顯著提升了GPU的利用率;因為當主內(nèi)核僅占用GPU上的部分SM時,其余空閑的SM便可以開始運行次級內(nèi)核。
推測解碼
推測解碼(Speculative Decoding)是一種廣受歡迎的技術(shù),用于在不犧牲生成文本質(zhì)量的前提下,加速LLM的推理速度。
該技術(shù)通過一個規(guī)模更小、速度更快的「草稿」模型來預(yù)測一個推測token序列,然后由規(guī)模更大(通常也更慢)的LLM并行驗證這些token。
其加速效果源于:在目標模型的一次迭代中,有機會生成多個token,代價則是草稿模型帶來的一些額外開銷。
端到端的工作流
首先,在目標模型完成上下文階段(此階段亦會生成token t1)之后,草稿模型會迅速生成一連串潛在的token(例如d2-d4)。
隨后,目標模型進入生成階段,在這一階段,它會針對整個草稿序列,一次性地并行驗證(或生成)每個位置的下一個token。
如圖所示,如果草稿token與目標模型自身將要生成的token相匹配,目標模型便可能「接受」其中的若干token(如d2、d3),同時「拒絕」其他的token(如d4)。
這個循環(huán)不斷重復(fù):被接受的token得以保留;若發(fā)生拒絕(例如,在d4被拒絕后),目標模型會提供正確的下一個token(如t4);然后,草稿模型會生成一個新的推測序列(例如d5-d7)。
通過并行驗證多個token——而不是依賴(速度較慢的)目標模型逐個生成它們——并充分利用草稿模型的快速推測能力,系統(tǒng)能夠?qū)崿F(xiàn)顯著的速度提升,尤其是當草稿模型的預(yù)測準確率較高時。
「接受長度(AL)」定義為在單次驗證步驟中,平均能夠成功生成的token數(shù)量。
AL值越高,加速效果越顯著。
對此,英偉達采用了一種基于EAGLE3的架構(gòu)作為其推測解碼方法,主要通過調(diào)整推測層中前饋網(wǎng)絡(luò)(FFN)的大小來優(yōu)化接受長度(AL)。
在推理過程中,需要在目標模型的前向傳播階段記錄低、中、高三個層級的特征(即初始、中間及末端解碼層輸出的隱藏狀態(tài))。
之后,再將這些隱藏狀態(tài)與token嵌入相結(jié)合,并將結(jié)果輸入到推測層。該推測層隨后以自回歸方式生成一個草稿token序列,供目標模型進行并行驗證。
推測層的開銷雖然不大,但也不可忽視。因此,關(guān)鍵的挑戰(zhàn)在于如何在草稿長度與端到端加速效果之間取得理想的平衡。
草稿長度越長,AL通常也越高,但相應(yīng)地,運行草稿模型所產(chǎn)生的額外成本也會增加。根據(jù)英偉達在下方實驗中展示的結(jié)果,當草稿長度設(shè)置為3時,可獲得最佳的加速效果。
通過CUDA Graph和重疊調(diào)度器減少主機端開銷
推測解碼的另一個挑戰(zhàn)在于減少主模型與草稿模型之間的通信和同步開銷。
如果英偉達將采樣/驗證邏輯置于主機端,便會在主機與設(shè)備之間引入額外的同步點,進而破壞CUDA Graph的完整性。
因此,英偉達選擇將驗證邏輯保留在設(shè)備端,從而能夠?qū)⒛繕四P偷那跋騻鞑?、驗證邏輯以及草稿模型的前向傳播都整合到同一個CUDA Graph中。
此外,英偉達還啟用了TensorRT-LLM的重疊調(diào)度器,以進一步讓當前迭代的模型前向傳播與下一次迭代的輸入準備及CUDA Graph啟動過程實現(xiàn)重疊。
使用torch.compile()優(yōu)化草稿模型層
由于驗證邏輯是采用Torch原生操作在設(shè)備端實現(xiàn)的,這導(dǎo)致英偉達最終生成了大量細小的Torch原生內(nèi)核。
手動融合這些內(nèi)核不僅復(fù)雜,且容易出錯。
為此,英偉達采用torch.compile(),借助OpenAI Triton的能力來自動完成這部分內(nèi)核的融合,并生成最優(yōu)化的版本。
這一舉措幫助英偉達將草稿模型的開銷從25%成功降低到了18%(當草稿長度為3時)。
總結(jié)
總的來說,這一創(chuàng)世界紀錄的速度,是強大Blackwell架構(gòu)、自CUDA層面起直至上層應(yīng)用的深度軟件優(yōu)化,以及英偉達量身定制的推測解碼實現(xiàn)所帶來的顯著加速三者結(jié)合的成果,它直接響應(yīng)了下一代AI交互應(yīng)用對低延遲的迫切需求。
正如英偉達所展示的那樣,這些技術(shù)進步確保了即便是超大規(guī)模模型,也能夠提供足夠的處理速度和響應(yīng)能力,以支持無縫的實時用戶體驗和復(fù)雜的AI智能體部署場景。
作者介紹
Yilin Fan
Yilin Fan是英偉達的高級深度學(xué)習(xí)工程師,專注于TensorRT/TensorRT-LLM的性能。
他擁有卡內(nèi)基梅隆大學(xué)的軟件工程碩士學(xué)位和北京航空航天大學(xué)的學(xué)士學(xué)位。
在加入英偉達之前,他曾在小馬智行工作,負責(zé)優(yōu)化與部署自動駕駛汽車上的深度學(xué)習(xí)模型。
Po-Han Huang
Po-Han Huang是英偉達的深度學(xué)習(xí)軟件工程師。
在過去六年多的時間里,他一直致力于通過TensorRT和CUDA優(yōu)化來加速已訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型的推理。
他擁有伊利諾伊大學(xué)厄巴納-香檳分校的電子與計算機工程碩士學(xué)位,專業(yè)知識涵蓋深度學(xué)習(xí)加速、計算機視覺和GPU架構(gòu)。
Ben Hamm
Ben Hamm是英偉達的技術(shù)產(chǎn)品經(jīng)理,專注于LLM推理性能與優(yōu)化。
此前,他曾在亞馬遜擔(dān)任產(chǎn)品經(jīng)理,負責(zé)Alexa的喚醒詞檢測機器學(xué)習(xí)棧。之后加入OctoAI并擔(dān)任LLM托管服務(wù)的產(chǎn)品經(jīng)理。隨著公司被收購,他也跟著一起來到了英偉達。
有趣的是,作為一名計算機視覺的愛好者,他甚至還發(fā)明了一款A(yù)I驅(qū)動的貓門。