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) 지원.
- 워크로드 균형: Forward/Decode용 Split-KV와 Backward용 Split-QO를 사용해 성능 최적화.
- 하드웨어 호환성: 융합형 양자화를 통해 오래된 하드웨어에서도 저정밀도 계산 가능.
- 디코딩 최적화: Top-k gather KV-cache 디코딩 및 Paged Attention 포함.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch