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