deepseek-ai/DeepSelect

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

解决的问题

DeepSelect 提供了高性能的 TopK 内核实现,用于 DeepSeek Sparse Attention (DSA) 和采样。它旨在取代标准的 torch.topk 函数,该函数在大规模模型推理和训练中可能成为瓶颈,通过提供显著更快的执行速度来解决此问题。

运作原理

DeepSelect 为 NVIDIA CUDA 和华为 Ascend 平台实现了优化内核。它专注于两种主要场景:针对 bfloat16 输入且 TopK 值较小(最高 4096)的“Lightning Indexer”场景,以及针对 float32 输入且词汇量较大(约 128K)且 TopK 值较小的“Sampling”场景。该实现优化了内存带宽的使用,因为 TopK 操作本质上是内存受限而非计算受限。

适用对象

此工具专为使用 DeepSeek 模型(特别是 V3.2、V4 和 V4.1)或任何需要在 CUDA 或 Ascend NPU 上进行高性能 TopK 操作的 AI 项目的开发者和研究人员所设计。

特点

  • 显著加速:相较于原生的 torch.topk,性能提升 2 倍至 20 倍。
  • 多平台支持:兼容于 NVIDIA CUDA 和华为 Ascend 平台。
  • 硬件特定优化:针对特定数据类型(bfloat16 和 float32)以及常见的 LLM 工作负载(如稀疏注意力与采样)进行了调整。
  • 弹性输出:允许用户禁用索引排序或跳过数值输出,以进一步提升性能。

相关

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