DeepSeek開(kāi)源第三彈:V3/R1訓(xùn)練推理關(guān)鍵秘籍 核心代碼僅300行
來(lái)源:量子位
開(kāi)源周的第三天,DeepSeek把訓(xùn)練推理V3/R1背后的“動(dòng)力”給亮出來(lái)了——
DeepGEMM:一個(gè)FP8GEMM(通用矩陣乘法)庫(kù),支持密集(dense)和混合專家(MoE)矩陣乘法運(yùn)算。
DeepGEMM是一個(gè)專門為實(shí)現(xiàn)簡(jiǎn)潔高效的FP8通用矩陣乘法(GEMMs)而打造的庫(kù),它還具備細(xì)粒度縮放功能,這一設(shè)計(jì)源于DeepSeekV3。
它既能處理普通的通用矩陣乘法,也能支持MoE分組的通用矩陣乘法。
這個(gè)庫(kù)是用CUDA編寫(xiě)的,安裝的時(shí)候不需要編譯,因?yàn)樗鼤?huì)在運(yùn)行時(shí)通過(guò)一個(gè)輕量級(jí)的即時(shí)編譯(JIT)模塊來(lái)編譯所有的內(nèi)核程序。
目前,DeepGEMM只支持英偉達(dá)的Hopper張量核心。
為了解決FP8張量核心在計(jì)算累積時(shí)不夠精確的問(wèn)題,它采用了CUDA核心的兩級(jí)累積(提升)方法。
雖然DeepGEMM借鑒了CUTLASS和CuTe里的一些理念,但并沒(méi)有過(guò)度依賴它們的模板或代數(shù)運(yùn)算。
相反,這個(gè)庫(kù)設(shè)計(jì)得很簡(jiǎn)潔,只有一個(gè)核心內(nèi)核函數(shù),代碼量大概300行左右。
這使得它成為一個(gè)簡(jiǎn)潔易懂的資源,方便大家學(xué)習(xí)Hopper架構(gòu)下的FP8矩陣乘法和優(yōu)化技術(shù)。
盡管其設(shè)計(jì)輕巧,但DeepGEMM的性能可以匹配或超過(guò)各種矩陣形狀的專家調(diào)優(yōu)庫(kù)。
那么具體性能如何呢?
團(tuán)隊(duì)在H800上使用NVCC12.8測(cè)試了DeepSeek-V3/R1推理中可能使用的所有形狀(包括預(yù)填充和解碼,但沒(méi)有張量并行)。
下面這張圖展示的是用于密集模型的普通DeepGEMM的性能:
掩碼布局(maskedlayout)的性能是這樣的:
OneMoreThing
英偉達(dá)這幾天的股票……嗯……一直再跌:
不過(guò)在北京時(shí)間27日凌晨,英偉達(dá)2025財(cái)年第四季度業(yè)績(jī)報(bào)告也即將出爐,我們可以期待一下它的表現(xiàn)~