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 チェックを備えています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト