HKUSTDial/flash-sparse-attention
Trainable fast and memory-efficient sparse attention
解决的问题
Flash-Sparse-Attention (FSA) 解决了在 Transformer 模型中处理极长序列时相关的计算和内存瓶颈问题。它结合了 Flash Attention 的内存效率与稀疏计算,以减少训练和推理过程中注意力机制的开销。
工作原理
FSA 实现了一种高性能、可训练的稀疏注意力机制。它支持多种注意力模式,包括因果、局部窗口和门控注意力,同时利用 Split-KV 和 Split-QO 等技术实现工作负载均衡。它还提供融合量化功能,支持在缺乏原生 FP8 支持的硬件上进行低精度计算,并支持 Paged Attention 以实现解码过程中的高效内存管理。
适用人群
需要在 GPU、XPUs、NPUs 或 PPUs 上高效处理长上下文窗口,并实现高性能训练和解码的大规模 Transformer 模型的研究人员和开发者。
主要亮点
- 全面的注意力支持:支持密集、稀疏和门控注意力,具备前向和反向传播能力。
- 灵活配置:支持每头任意窗口大小、Grouped Query Attention (GQA) 和 Multi Query Attention (MQA)。
- 工作负载均衡:使用 Split-KV(用于前向/解码)和 Split-QO(用于反向)优化性能。
- 硬件兼容性:融合量化支持在旧硬件上进行低精度计算。
- 解码优化:包含 Top-k gather KV-cache 解码和 Paged Attention。
相关
- 项目
- 项目
- 项目
- 项目
- Dispatch