自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

瘋了!居然有人試圖讓我搞懂,什么是 DeepGEMM

人工智能
?DeepSeek開源周,繼DeepEP之后,開源了第三彈DeepGEMM。今天簡單來說說DeepGEMM的相關(guān)知識。

DeepSeek開源周,繼DeepEP之后,開源了第三彈DeepGEMM。

今天簡單來說說:

  • 吃瓜:DeepGMEE是干嘛的?
  • 技術(shù):DeepGMEE是怎么做到的?
  • 普通人有什么用:對寫提示詞有什么啟示?

 DeepGMEE是干嘛的?

DeepGMEE,General Matrix Multiplication,一個FP8通用矩陣乘法庫(library)。

畫外音,F(xiàn)P8:8-bit Floating Point,8位浮點格式。

關(guān)于FP8通用矩陣乘法

一個矩陣乘法的優(yōu)化而已,寫了這么多年代碼都沒用過矩陣乘法,值得這么吹流弊嗎?

額,我竟無言以對。

矩陣乘法是現(xiàn)代AI計算的基石。

  • 矩陣是數(shù)據(jù)表示的核心工具:神經(jīng)網(wǎng)絡(luò)中的權(quán)重,特征,參數(shù)傳遞等都使用矩陣表示;
  • 矩陣乘法占大模型中90%的計算量:Transformer基操Q(mào)KV運算,卷積計算,分層全連接計算等;
  • 硬件優(yōu)化的核心目標就是矩陣乘法計算;

傳統(tǒng)AI的矩陣乘法怎么算?

傳統(tǒng)一般使用NVIDIA開源的CUDA C++模板庫CUTLASS。

傳統(tǒng)方法通常采用FP16/FP32,存在一些潛在的不足:

  • 占顯存資源:FP32占顯存是FP8的4倍;
  • 資源利用率低:強制要求矩陣為2次冪尺寸(例如:128*128),容易出現(xiàn)顯存碎片;
  • 不支持MOE模型的分組矩陣計算;
  • 部署復雜度高:需要編譯,需要配置;

那為什么之前不直接采用FP8呢?

FP8雖然占用資源少,資源利用率高,但會帶來精度損失。

這個問題程序員最好理解。

高精度乘法:1.2 * 3.4 = 4.08

如果直接降低精讀,用整數(shù)表示浮點數(shù),變?yōu)? * 3 = 3,精讀損失是無法接受的。

那有沒有彌補精讀不足的問題?

我們可以對浮點數(shù)進行整數(shù)化編碼處理:

  • 步驟一:1.2用(12, 1)表示,其中1是小數(shù)位數(shù);
  • 步驟二:3.4用(34, 1)表示;
  • 步驟三:1.2 * 3.4 = (12, 1) * (34, 1) = (12*34, 1+1) = (408, 2)

如此一來,就沒有精度損失啦。

當然,矩陣乘法的精度補償比這個復雜,其核心思路是:使用低精度乘法矩陣快速計算,高精度加法補足。

結(jié)論就是:deepseek使用FP8就能完成FP16/FP32的計算,降低顯存占用+提高顯存利用率的同時,仍然能夠保持高精度。

DeepGMEE的特點

Git介紹中對DeepGMEE有三個關(guān)鍵形容詞:

  • 簡潔(clean)
  • 高效(efficient)
  • 高精度(fine-grained scaling)

為什么說DeepGMEE簡潔?

  • 核心代碼300行,而CUTLASS數(shù)千行;
  • 零依賴(除CUDA),無需預編譯,無需復雜環(huán)境配置;
  • 注釋清晰,便于學習與二次開發(fā);

畫外音:我看了一下,調(diào)整數(shù)據(jù)分塊策略,只需要修改10-20行代碼。

為什么說DeepGMEE高效?

這是FP8對比FP16/FP32的天然優(yōu)勢,相比GUTLASS:

  • 顯存占用下降50%+;
  • MOE推理延時下降60%+;
  • 計算密度(TFLOPS)提升了270%+;

為什么說DeepGEMM高精度?

采用FP8矩陣乘法加速計算,BF16累加修正精讀的方法,平衡了速度與精讀。

除此之外,DeepGEMM還有不少特色:

  • 針對MOE優(yōu)化,支持MOE分組矩陣乘法;
  • 針對硬件加速;
  • 動態(tài)編譯JIT:運行時根據(jù)矩陣大小與硬件條件優(yōu)化;
  • 矩陣靈活尺寸對齊(例如:可以支持112*128矩陣);

上面種種,DeepGMEE本次最大的創(chuàng)新,我認為是:FP8優(yōu)化,JIT優(yōu)化,以及MOE優(yōu)化。

DeepGMEE是怎么做到的?

信息密度太大,頭疼,有點學不過來了,感興趣的同學去官網(wǎng)看吧,我Copy一下git的信息:

  • Persistent warp-specialization
  • Hopper TMA features
  • A unified and optimized block scheduler
  • Fully JIT design
  • Unaligned block sizes
  • FFMA SASS interleaving
  • Common detail optimizations

畫外音:其實你也不想知道這些how?

了解GEMM對普通人寫提示詞有什么啟示?

沒有啟示,這東西和提示詞沒關(guān)系。

結(jié)尾

對于DeepGEMM,我的思考是:

  • 之前各大玩家都卷硬件,而忽略了軟件的優(yōu)化;
  • 僵化思維真的很要命,一直以來都是FP16/FP32,大家也都用CUTLASS,它就一定是最優(yōu)嗎?
  • 寫代碼,搞架構(gòu),少即是多:多寫這類300行優(yōu)美的代碼,而不要在垃圾公司堆shi山;

先睡了,共勉!

畫外音:球球deepseek,明天不要開源新東西了。

責任編輯:趙寧寧 來源: 架構(gòu)師之路
相關(guān)推薦

2020-12-17 10:23:41

死鎖LinuxLockdep

2022-01-04 09:24:32

Python Excel 表格

2015-07-30 09:20:26

微軟Android Lau

2023-04-10 07:26:28

UseStateUseReducer

2019-02-12 11:07:49

2022-12-05 16:49:05

volatileJava

2021-08-03 22:26:46

Go函數(shù)分頁

2021-07-03 09:06:22

測試自動化Selenium

2024-03-18 09:24:12

RocketMQ消息模型分布式

2023-11-01 15:52:35

2023-11-30 08:27:38

泛化調(diào)用架構(gòu)

2019-08-09 15:07:33

TomcatJaegerSpringBoot

2023-05-25 10:03:40

2021-11-01 15:00:47

協(xié)程PythonGo

2020-08-17 09:22:30

字符串子串對象

2021-02-28 07:52:24

蠕蟲數(shù)據(jù)金絲雀

2020-12-09 11:00:44

Nginx 運維Tomcat

2020-03-11 19:40:09

架構(gòu)架構(gòu)設(shè)計Java

2020-11-19 07:54:32

程序員報警

2017-07-17 15:27:49

Azure IoT技術(shù)物聯(lián)網(wǎng)
點贊
收藏

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