state-spaces/mamba
Mamba SSM architecture
해결하는 문제
Mamba는 정보 밀도가 높은 데이터를 처리할 때 Transformer의 한계를 해결하며, 특히 긴 시퀀스 모델링에서 비효율적인 2차 복잡도 문제를 해결합니다. 언어 모델링과 같은 작업에서 높은 성능을 유지하면서도, 2차 미만의 선형 시간 대안을 제공합니다.
작동 방식
Mamba는 선택적 상태 공간 모델(SSM) 아키텍처를 기반으로 합니다. 하드웨어에 맞춘 설계와 효율적인 CUDA 구현(FlashAttention의 정신과 유사)을 사용하여 성능을 최적화합니다. 이 프로젝트는 다음과 같은 여러 단계를 거쳐 발전해 왔습니다:
- Mamba-1: 선형 시간 시퀀스 모델링을 위한 선택적 상태 공간을 도입.
- Mamba-2: 구조적 상태 공간 이중성(SSD)을 도입하여 Transformer를 SSM으로 재정의함으로써 더 효율적인 알고리즘을 생성.
- Mamba-3: 상태 공간 원리를 활용하고 추론 중심 접근법을 통해 시퀀스 모델링을 더욱 개선.
대상 사용자
대규모 시퀀스 모델이나 언어 모델을 개발하는 AI 연구자 및 개발자에게 적합합니다. Transformer의 전형적인 성능을 희생하지 않고도 선형 시간 스케일링의 효율성을 필요로 하는 분들께 이상적입니다.
주요 특징
- 선형 시간 스케일링: Transformer의 2차 복잡성에 대한 더 효율적인 대안 제공.
- 하드웨어 인식 설계: 고성능 GPU 실행을 위한 최적화된 CUDA 확장(
selective_scan_cuda) 포함. - 사전 학습 모델: Pile 및 SlimPajama 데이터셋에서 학습된 다양한 사전 학습 모델(130M ~ 2.8B 파라미터) 제공.
- 유연한 인터페이스: 선택적 SSM 레이어에서부터 완전한 Mamba 블록, 완전한 언어 모델 예제까지 다양한 수준의 API 노출.
관련
- Dispatch
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트