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 工作负载(如稀疏注意力与采样)进行了调整。 - 弹性输出:允许用户禁用索引排序或跳过数值输出,以进一步提升性能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目