今早9點(diǎn),DeepSeek開(kāi)啟了本周連續(xù)5天技術(shù)分享的第3天,開(kāi)源了專(zhuān)用于執(zhí)行高效FP8精度矩陣乘法運(yùn)算庫(kù)——DeepGEMM。
DeepGEMM的核心代碼僅300行,但在GPU上可實(shí)現(xiàn)高達(dá)每秒1350 + FP8 萬(wàn)億次浮點(diǎn)運(yùn)算性能。在大多數(shù)矩陣規(guī)模下性能超過(guò)了專(zhuān)家調(diào)優(yōu)的內(nèi)核,同時(shí)支持密集布局和兩種 MoE 布局,適配不同的運(yùn)算場(chǎng)景。
開(kāi)源地址:https://github.com/deepseek-ai/DeepGEMM
看到DeepSeek又發(fā)布高效訓(xùn)練方法,網(wǎng)友表示,英偉達(dá)股票又要下跌了。
在澳大利亞都能聽(tīng)到英偉達(dá)股票下跌的慘叫聲~
DeepGEMM聽(tīng)起來(lái)就像數(shù)學(xué)界的超級(jí)英雄。比快速計(jì)算器更快,比多項(xiàng)式方程更強(qiáng)大。我試著用了一下,現(xiàn)在我的GPU正在炫耀它的1350+ TFLOPS,好像準(zhǔn)備參加AI奧運(yùn)會(huì)一樣!
DeepGEMM正在改變我們使用FP8 通用矩陣乘法庫(kù)的方式,簡(jiǎn)單、快速且開(kāi)源。這就是人工智能計(jì)算的未來(lái)。
DeepSeek可能正在揭開(kāi)英偉達(dá)那些不能說(shuō)的秘密。我懷疑英偉達(dá)是故意這么做的,目的是為了賣(mài)出更多的顯卡。恭喜馬斯克的 20 萬(wàn)張顯卡變成了 100 萬(wàn)張。把馬斯克送到火星去,再帶上黃仁勛。
「AIGC開(kāi)放社區(qū)」就簡(jiǎn)單為大家解讀一下DeepGEMM。GEMM,全稱(chēng)是General Matrix Multiplication,是線性代數(shù)中的一個(gè)基本操作,用于計(jì)算兩個(gè)矩陣的乘積。
例如,假設(shè)我們有兩個(gè)矩陣A和B,矩陣A的大小是 3×2,矩陣B的大小是 2×4,那么通過(guò)GEMM 計(jì)算后,我們可以得到一個(gè)大小為 3×4 的矩陣 C,即C=A × B。
這種矩陣乘法在深度學(xué)習(xí)中非常重要,尤其是在神經(jīng)網(wǎng)絡(luò)的全連接層和卷積層中,幾乎每一個(gè)前向傳播和反向傳播的步驟都離不開(kāi)它。
FP8 是一種8位浮點(diǎn)數(shù)格式,由 NVIDIA Hopper 架構(gòu)引入。與傳統(tǒng)的 32 位浮點(diǎn)數(shù)或16位浮點(diǎn)數(shù)相比,F(xiàn)P8 占用的內(nèi)存和計(jì)算資源更少,但同時(shí)在某些應(yīng)用場(chǎng)景下仍能保持足夠的精度。
例如,一個(gè)傳統(tǒng)的 FP32 數(shù)字占用 4 個(gè)字節(jié),而FP8 只占用 1 個(gè)字節(jié),這意味著在相同的內(nèi)存容量下,我們可以存儲(chǔ)更多的數(shù)據(jù),從而加速大規(guī)模深度學(xué)習(xí)模型的訓(xùn)練和推理,尤其適合硬件資源有限的情況。
而DeepSeek版本的GEMM是專(zhuān)為NVIDIA Hopper 架構(gòu)設(shè)計(jì)的GEMM庫(kù),并且所有內(nèi)核在運(yùn)行時(shí)動(dòng)態(tài)編譯。
在性能方面,DeepGEMM 在 NVIDIA H800 GPU 上進(jìn)行了廣泛的測(cè)試,結(jié)果表明它在多種矩陣形狀下都能顯著提升計(jì)算速度。例如,在密集矩陣乘法中,某些形狀的性能提升可達(dá) 2.7 倍;而在 MoE 模型的分組矩陣乘法中,性能提升也達(dá)到了 1.2 倍左右。
DeepGEMM采用了多種優(yōu)化技術(shù)。它通過(guò)持久化的 warp 專(zhuān)業(yè)化,重疊數(shù)據(jù)傳輸、張量核心 MMA 指令和 CUDA 核心提升操作,優(yōu)化了計(jì)算流程。還利用了Hopper 架構(gòu)的張量?jī)?nèi)存加速器特性,實(shí)現(xiàn)更快的數(shù)據(jù)傳輸和異步操作。
為了應(yīng)對(duì) FP8 張量核心累加精度不足的問(wèn)題,DeepGEMM 采用了 CUDA 核心的雙級(jí)累加技術(shù)。還采用了完全 JIT 設(shè)計(jì),所有內(nèi)核在運(yùn)行時(shí)動(dòng)態(tài)編譯,能夠根據(jù)具體的矩陣形狀和硬件特性進(jìn)行優(yōu)化。
此外,DeepGEMM 支持非 2 的冪次方的塊大小,以提高 GPU 的利用率,并通過(guò)修改編譯后的二進(jìn)制指令優(yōu)化細(xì)粒度縮放的性能。
使用方面很方便,DeepGEMM提供了簡(jiǎn)潔的 Python 接口,方便用戶(hù)在深度學(xué)習(xí)項(xiàng)目中集成。它支持普通密集矩陣乘法,適用于常見(jiàn)的深度學(xué)習(xí)模型;也支持分組矩陣乘法,包括連續(xù)布局和掩碼布局。
例如,在MoE 模型的訓(xùn)練前向傳播或推理填充階段,我們可以使用連續(xù)布局,將不同專(zhuān)家處理的輸入數(shù)據(jù)拼接到一個(gè)連續(xù)的張量中。
而在推理解碼階段,當(dāng)每個(gè)專(zhuān)家處理的輸入數(shù)量未知時(shí),我們可以使用掩碼布局,通過(guò)掩碼張量指示哪些部分是有效的輸入。
本文素材來(lái)源DeepSeek,如有侵權(quán)請(qǐng)聯(lián)系刪除
報(bào)告下載
大 佬觀點(diǎn)分享
關(guān)于RPA、AI、企業(yè)數(shù)字化轉(zhuǎn)型
(點(diǎn)擊文字即可閱讀)
| |
| | |
| | |
| | |
| |
行業(yè)知識(shí)交流分享,結(jié)識(shí)擴(kuò)展人脈圈層
公眾號(hào)后臺(tái)回復(fù)【RPA】或者【流程挖掘】
可受邀加入相關(guān)的交流群
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
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.