deepseek-ai/DeepSelect
DeepSelect: TopK kernels for DeepSeek Sparse Attention (DSA) and Samplers
解決的問題
DeepSelect 是一個高效率的 TopK 內核實作,專為取代特定 AI 工作負載中的 torch.topk 而設計。它克服了標準 PyTorch 實作的效能瓶頸,使從張量中選取前 k 個元素時的記憶體頻寬效率提升 2x 至 20x。
工作原理
DeepSelect 為兩種主要情境提供優化的 CUDA 內核:適用於 bfloat16 輸入的「Lightning Indexer」(用於 DeepSeek Sparse Attention)與適用於 float32 輸入的「Sampling Scenario」(用於 LLM 採樣)。它優化了記憶體頻寬,並允許使用者關閉排序或跳過值輸出以進一步提升效能。同時支援可變長度的列,並內建 NaN 檢查功能。
適用對象
適合使用 DeepSeek 模型(如 V3.2、V4 和 V4.1)的開發者與研究人員,或任何需要在大規模 LLM 推論與訓練中進行高度優化 TopK 操作的使用者。
主要亮點
- 顯著加速:相比
torch.topk,效能提升 2x 至 20x。 - 專用情境優化:針對
bfloat16(稀疏注意力)與float32(採樣)資料類型進行最佳化。 - 彈性輸出:可選擇跳過值輸出或關閉排序索引以最大化速度。
- 可變長度支援:透過
end張量支援長度不同的列。 - 強健性:內建 NaN 檢查,防止計算過程中的靜默失敗。
相關
- 專案
- 專案
- 專案
- 專案