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 检查,防止计算过程中出现无声失败。

相关

  • 项目
  • 项目
  • 项目
  • 项目