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 檢查,防止計算過程中的靜默失敗。

相關

  • 專案
  • 專案
  • 專案
  • 專案