dropbox/gemlite
Fast low-bit matmul kernels in Triton
解決的問題
GemLite 解決了 LLM 推論中低比特矩陣乘法的效能瓶頸。它提供了一組高度優化的內核,相比預設的 Torch AO 內核,顯著加速了模型執行的預填入與解碼階段,降低量化模型的延遲並提升吞吐量。
工作原理
GemLite 使用 Triton 實現多種針對不同工作負載優化的專用矩陣乘法內核:
- GEMM:基於標準 Tensor Core 的通用矩陣乘法內核。
- GEMM Split-K:透過將 K 維度拆分為多個工作來計算部分和,優化批量大小為 2-32 的批量 LLM 解碼。
- GEMV:針對小批量(M=1)設計,將激活值拆分為一維區塊。
- GEMV RevSplit-K:一種新演算法,透過將每個程式的作業量加倍來優化批量大小為 1 的解碼,從而減少載入縮放因子與零值的開銷。
支援廣泛的精度,包括 FP16、BF16、FP8、INT8 以及低比特權重(8、4、2、1 位),還支援 Blackwell 等新硬體的 MXFP 與 NVFP 格式。
適用對象
GemLite 面向致力於 LLM 推論優化之開發者與研究人員,特別是那些使用量化技術在維持 NVIDIA GPU 高效能的同時,縮小模型大小與記憶體頻寬需求者。
主要亮點
- 顯著加速:相比預設的 Torch AO 內核,預填入速度提升高達 7-8 倍,解碼速度提升高達 3-6 倍。
- 廣泛精度支援:相容 FP16、BF16、FP8、INT8 以及 MXFP/NVFP4。
- 整合性:可與 vLLM(透過 HQQ 或 TorchAO)、SGLang 整合,並支援
torch.compile。 - 自動調校快取:支援儲存與載入最佳內核設定,消除啟動時重複自動調校的時間開銷。
- 靈活打包:支援 HQQ 風格的權重打包以及權重與激活的通道級縮放。
相關
- 專案
- 專案
- 專案
- Dispatch
- 專案