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