DeepGEMM:精細粒度縮放提升 FP8 GEMM 效能極限

✏️ 原創內容| TechRitual 編輯部

喺 AI 模型訓練同推理嘅高性能計算環境入面,開發者經常面對 FP8 格式下嘅 GEMM 運算效能瓶頸,尤其係大規模矩陣乘法需要精準控制數值範圍,避免溢出或精度損失。DeepGEMM 就係 DeepSeek AI 推出嘅開源解決方案,專為 NVIDIA GPU 優化,提供乾淨高效嘅 FP8 GEMM kernel,透過細粒度 per-block 縮放機制,解決傳統 uniform scaling 嘅限制,讓 AI 工程師更容易實現生產級 FP8 量化部署。

細粒度 per-block 縮放避免精度損失

DeepGEMM 最大亮點係引入細粒度縮放策略,每個 CUDA block 獨立計算縮放因子,取代傳統全矩陣 uniform scaling 嘅粗糙做法。呢個設計特別適合 FP8 嘅極低精度特性,因為 FP8 動態範圍窄,容易喺矩陣乘法過程中溢出。透過 per-block scaling,DeepGEMM 確保每個小區塊數值獨立規範化,大幅降低量化誤差,同時保持運算吞吐量。

同類 FP8 kernel 比較,DeepGEMM 避免咗複雜嘅動態範圍搜尋 overhead,只需簡單預計算步驟,即可喺運行時應用精準縮放。開發者喺訓練大型語言模型時,呢個機制特別有用,能夠維持模型收斂穩定性,而唔使犧牲太多精度。

GitHub - deepseek-ai/DeepGEMM: DeepGEMM: clean and efficient FP8 GEMM kernels with fine-grained scaling · GitHub 介面截圖
GitHub – deepseek-ai/DeepGEMM: DeepGEMM: clean and efficient FP8 GEMM kernels with fine-grained scaling · GitHub 官方頁面截圖

支援多種 FP8 變體同 CUDA 架構

DeepGEMM 全面支援 E4M3 同 E5M2 等 FP8 變體,兼容 NVIDIA Ampere、Hopper 同 Blackwell GPU 架構。呢個 kernel 庫專注乾淨代碼實現,避免不必要嘅分支同記憶體存取,達致接近理論峰值嘅 TFLOPS 效能。舉例,喺 A100 GPU 上運行 FP8 GEMM,DeepGEMM 展現出比 baseline kernel 高達 1.5 倍嘅速度提升。

佢仲整合咗自動調度機制,能夠根據輸入矩陣大小動態選擇最佳 kernel 變體,減少手動優化負擔。對於需要頻繁 GEMM 呼叫嘅 Transformer 模型,呢種彈性特別實用。

簡易安裝同開發整合流程

安裝 DeepGEMM 好簡單,只需 clone GitHub repo,依賴 CMake 同 NVIDIA CUDA toolkit,就能喺幾分鐘內編譯完成。庫提供完整 API 接口,例如 cublasDeepGEMM,直接兼容 cuBLAS 呼叫模式,讓現有代碼只需少量修改即可切換。開發者仲可以透過提供的 benchmark 腳本,快速驗證效能喺自己硬件上嘅表現。

資源方面,repo 包含詳細嘅性能數據圖表,同埋多個範例程式,涵蓋從小矩陣 benchmark 到大規模模型 GEMM 應用。呢個設計讓初學者同專家都容易上手,加速 FP8 技術喺實際項目嘅落地。

開源許可方便企業級部署

DeepGEMM 採用 Apache 2.0 許可,允許商業使用同修改,適合 AI 公司將其整合入自有框架。相比封閉源碼 kernel,呢個開源方案提供透明度,讓團隊可以自訂優化或貢獻改進。對於追求高效 FP8 推理嘅雲端服務供應商,DeepGEMM 係理想選擇,能夠喺不增加硬件成本下,提升模型吞吐量。

產品名稱:DeepGEMM
官方網站:https://github.com/deepseek-ai/DeepGEMM

TechRitual 編輯
TechRitual 編輯
友情網站:日本語版 / TechNipponThe Base Principle(AI・工程)