HKUSTDial/flash-sparse-attention
Trainable fast and memory-efficient sparse attention
解决的问题
Flash-Sparse-Attention (FSA) 解决了在 Transformer 模型中处理极长序列时相关的计算和内存瓶颈问题。它结合了 Flash Attention 的内存效率与稀疏计算,以降低注意力机制的开销。
工作原理
FSA 实现了高性能的可训练稀疏注意力内核。它利用 CuTe 后端以实现最佳性能,并支持多种注意力模式,包括因果、局部窗口和门控注意力。为了优化工作负载平衡和精度,它采用了 Split-KV(用于前向/解码)和 Split-QO(用于反向传播)等技术,以及针对缺乏原生 FP8 支持硬件的低精度计算的融合量化。
适用人群
需要高效处理长上下文窗口以及高性能训练和推理(解码)工作负载的大规模 Transformer 模型的研究人员和开发者。
主要亮点
- 多样的注意力支持:支持密集、稀疏和门控注意力,以及分组查询注意力(GQA)和多查询注意力(MQA)。
- 内存与计算效率:整合了 Flash Attention 的内存效率、稀疏计算和分页注意力(Paged Attention)。
- 灵活的配置:通过 Flex Local Window Attention 支持每个头的任意窗口大小和局部范围。
- 硬件优化:包含融合量化和工作负载平衡(Split-KV/Split-QO),以最大化 GPU/XPU/NPU/PPU 的性能。
相关
- 项目
- 项目
- 项目
- 项目
- Dispatch