deepseek-ai/DeepSelect

DeepSelect: TopK kernels for DeepSeek Sparse Attention (DSA) and Samplers

何を解決するか

DeepSelect は、特定の AI ワークロードで torch.topk を置き換えることを目的とした、高性能な TopK カーネル実装です。標準的な PyTorch 実装のパフォーマンスのボトルネックを克服し、テンソルから上位 k 要素を選択する際のメモリ帯域幅効率を 2x から 20x 向上させます。

動作方法

DeepSelect は、2 つの主要なシナリオに最適化された CUDA カーネルを提供します:bfloat16 入力用の「Lightning Indexer」(DeepSeek スパースアテンションで使用)と、float32 入力用の「Sampling Scenario」(LLM サンプリングで使用)。メモリ帯域幅を最適化し、ソートを無効にするか値の出力をスキップすることで、さらにパフォーマンスを向上させることができます。また、可変長の行をサポートし、組み込みの NaN チェックも提供しています。

対象ユーザー

DeepSeek モデル(V3.2、V4、V4.1 など)を扱っている開発者や研究者、または大規模 LLM 推論・学習に高度に最適化された TopK 操作が必要なユーザー向けです。

主な特徴

  • 大幅な高速化torch.topk と比較して 2x から 20x の高速化を実現。
  • 専用シナリオbfloat16(スパースアテンション)および float32(サンプリング)のデータ型に最適化。
  • 柔軟な出力:値の出力をスキップしたり、ソートされたインデックスを無効にしたりして、速度を最大化可能。
  • 可変長対応end テンソルを使用して、長さの異なる行を処理可能。
  • 信頼性:計算中に静黙的な失敗を防ぐための組み込み NaN チェックを備えています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト