deepseek-ai/DeepSelect

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

解決する課題

DeepSelectは、DeepSeek Sparse Attention (DSA) およびサンプリングに使用されるTopKカーネルの高性能な実装を提供します。大規模モデルの推論や学習においてボトルネックとなり得る標準の torch.topk 関数を置き換え、大幅な実行速度の向上を実現することを目的としています。

仕組み

DeepSelectは、NVIDIA CUDAおよびHuawei Ascendプラットフォーム向けに最適化されたカーネルを実装しています。主に2つのシナリオに焦点を当てています。1つは bfloat16 入力でTopK値が小さい(最大4096)「Lightning Indexer」シナリオ、もう1つは float32 入力で語彙数が大きく(約128K)、TopK値が小さい「Sampling」シナリオです。TopK操作は本質的に計算量よりもメモリ帯域幅に依存するため、この実装ではメモリ帯域幅の使用を最適化しています。

対象ユーザー

このツールは、DeepSeekモデル(特にV3.2、V4、V4.1)を使用する開発者や研究者、またはCUDAやAscend NPU上で高性能なTopK操作を必要とするAIプロジェクトに取り組む方々のために設計されています。

特徴

  • 大幅な高速化: 標準の torch.topk と比較して2倍から20倍のパフォーマンス向上を実現。
  • マルチプラットフォーム対応: NVIDIA CUDAおよびHuawei Ascendプラットフォームの両方と互換性があります。
  • ハードウェア固有の最適化: 特定のデータ型(bfloat16 および float32)や、スパースアテンションやサンプリングといった一般的なLLMワークロードに合わせて調整されています。
  • 柔軟な出力: インデックスによるソートを無効にしたり、値の出力をスキップしたりすることで、さらなるパフォーマンス向上が可能です。

関連

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