---
title: "트랜스포머의 독주를 깰 것인가? Mamba와 상태 공간 모델(SSM)의 부상 완벽 가이드! 선형 시간의 혁명"
id: "690"
type: "post"
slug: "mamba-state-space-model-ssm-transformer-alternative-guide"
published_at: "2025-12-09T02:14:57+00:00"
modified_at: "2026-07-19T09:58:57+00:00"
url: "https://doyouknow.kr/mamba-state-space-model-ssm-transformer-alternative-guide/"
markdown_url: "https://doyouknow.kr/mamba-state-space-model-ssm-transformer-alternative-guide.md"
excerpt: "Mamba \\& 상태 공간 모델 완벽 가이드! Transformer O(N²) 극복, Mamba O(N) 달성. 선택적 스캔 메커니즘, 입력-종속 파라미터. 하드웨어 최적화: Kernel Fusion + Parallel Scan. 성능: 5배 빠름, 87.5% 메모리 절감. Mamba 3B = Transformer 6B! 비디오, 음성, 의료 멀티모달..."
taxonomy_category:
  - "AI"
taxonomy_post_tag:
  - "AI"
  - "Kernel Fusion"
  - "Mamba"
  - "O(N²) 복잡도"
  - "Parallel Scan"
  - "Selective State Space"
  - "SSM"
  - "State Space Model"
  - "Transformer 한계"
  - "VideoMamba"
  - "Vision Mamba"
  - "뉴럴 네트워크"
  - "선택적 스캔"
  - "선형 시간"
  - "시퀀스 모델"
  - "하드웨어 최적화"
---

## 핵심 요약

**“Transformer의 치명적 약점을 해결한 혁신이 나타났습니다.”**

2023년 11월 Albert Gu와 Tri Dao의 논문 “[Mamba: Linear-Time Sequence Modeling with Selective State Spaces](https://arxiv.org/pdf/2312.00752.pdf)
“는 AI 커뮤니티를 흔들어놓았습니다.  
지난 12년간 절대 표준이었던 **Transformer 아키텍처의 치명적 한계**인 **O(N²) 이차 복잡도(Quadratic Bottleneck)**를 **O(N) 선형 복잡도**로 해결했기 때문입니다.  
실제로 [Mamba 3B 모델은 같은 크기의 Transformer보다 우수하며, 2배 크기 Transformer와 동등한 성능](https://arxiv.org/pdf/2312.00752.pdf)
을 보였습니다.  
더 놀라운 것은, [2025년 최신 연구](https://arxiv.org/pdf/2407.08476.pdf)
에서 Mamba가 **비디오, 이미지, 의료, 음성** 등 거의 모든 분야에 적용되며 **5배 이상 빠른 추론 속도와 98% 메모리 절감**을 달성했다는 점입니다.

이 포스팅에서는 **Transformer의 이차 복잡도 문제**, **상태 공간 모델의 기초**, **선택적 스캔(Selective Scan) 메커니즘**, **Mamba의 하드웨어 최적화**, 그리고 **실제 응용 사례와 미래 전망**까지 완벽하게 분석합니다.

[ez-toc]

## 1. Transformer의 치명적 한계: 이차 복잡도의 저주

### 1-1. Self-Attention의 O(N²) 복잡도

**Transformer의 Self-Attention:**

Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V

**각 단계의 복잡도:**

1. Q, K 곱셈: (O(N2)O(N^2))
2. softmax: (O(N2)O(N^2))
3. 값 가중합: (O(N2)O(N^2))

**문제:**

- 입력 길이가 2배 → 연산량은 **4배**
- 길이 1,000 토큰: ~1백만 연산
- 길이 100,000 토큰: ~100억 연산 ❌
- 길이 1,000,000 토큰: 불가능 ❌

[실제 메모리 사용](https://arxiv.org/pdf/2312.00752.pdf)
:

| 시퀀스 길이 | Transformer | Mamba |
| --- | --- | --- |
| 4K | 약간 | 매우 적음 |
| 64K | 매우 높음 | 적음 |
| 1M | 불가능 ❌ | 가능 ✅ |

### 1-2. KV Cache 문제

**Transformer 추론의 숨겨진 비용:**

- 생성 시마다 Key, Value 캐시 저장
- 메모리: 배치 크기 × 길이 × 차원 × 2
- 길이 2048, 배치 32 모델: **수 GB** 필요

**결과:**

- 모바일, 엣지 기기에서 LLM 실행 어려움
- 동시 요청 처리 제한
- 실시간 애플리케이션 불가능

### 1-3. 왜 지금까지 이 문제를 못 해결했을까?

[이전 SSM 연구](https://arxiv.org/pdf/2312.00752.pdf)
의 실패:

**이전 효율적 모델들:**

- Linear Attention: 빠르지만 **성능 낮음**
- Gated Convolution: 괜찮지만 **장거리 의존성 약함**
- 이전 SSM: 이론상 좋지만 **실제 성능 형편없음**

**근본 원인:**

> “이전 SSM들은 **컨텐츠 기반 선택(content-based reasoning)** 능력이 부족했습니다. 즉, 현재 입력에 따라 ‘이 정보를 유지할까, 버릴까’를 **동적으로 결정하지 못했습니다.**“

## 2. 상태 공간 모델(SSM): 제어 이론에서 시작된 혁신

### 2-1. 상태 공간 모델의 기초

**SSM의 정의:**

동적 시스템의 상태를 다음 두 방정식으로 표현:

h′(t)=Ah(t)+Bx(t)(상태 방정식)h'(t) = Ah(t) + Bx(t) \quad \text{(상태 방정식)}

y(t)=Ch(t)+Dx(t)(출력 방정식)y(t) = Ch(t) + Dx(t) \quad \text{(출력 방정식)}

**각 항의 의미:**

- h(t)h(t): 현재 상태 (숨겨진 정보)
- x(t)x(t): 입력 (새 토큰)
- **A, B, C, D**: 학습 가능한 행렬
- y(t)y(t): 출력 (다음 토큰 예측)

**비유:**

비행기 운항을 생각해봅시다:

- **상태**: 고도, 속도, 방향
- **입력**: 조종간 움직임
- **출력**: 새로운 위치
- **A 행렬**: “현재 상태가 다음에 어떻게 변하는가”
- **B 행렬**: “입력이 상태를 어떻게 변화시키는가”

### 2-2. SSM이 효율적인 이유

[선형 시간 복잡도의 비결](https://arxiv.org/pdf/2312.00752.pdf)
:

**1. 작은 상태 유지:**

- 각 시점에 상태 벡터 하나만 저장 (Transformer는 모든 이전 토큰 저장)
- 메모리: (O(1)) per timestep

**2. 재귀적 구조:**

- (ht+1=Aht+Bxt+1)(h_{t+1} = Ah_t + Bx_{t+1})
- 상수 시간에 다음 상태 계산 가능

**3. 병렬화 가능:**

- 표면적으로는 순차적이지만
- Parallel Scan 알고리즘으로 병렬화 가능
- 총 시간: (O(N)O(N)) (모든 토큰 병렬 처리)

### 2-3. 이전 SSM의 문제점

**문제:**  
기존 SSM의 A, B, C, D 행렬이 **시간에 무관(Time-Invariant)**했습니다.

**결과:**

- “이 정보 중요한가?” 판단 불가
- 모든 입력을 같게 처리
- **중요한 정보와 노이즈 구분 불가** ❌

**예시:**  
“오늘 날씨는 맑다. 아이폰 가격은…” 문장에서 다음 단어가 “비싼”일 가능성?

- 기존 SSM: “날씨” 정보도, “아이폰” 정보도 같게 유지
- 결과: 맥락 놓침

## 3. Selective Scan: 모든 것을 처리하지 말고 선택하라

### 3-1. 선택적 SSM(Selective SSM)의 혁신

**핵심 아이디어:**

**A, B, C, D를 입력에 의존적으로** 만듭시다!

Δt=sΔ(xt)(입력에 따라 스텝 크기 결정)\Delta_t = s_\Delta(x_t) \quad \text{(입력에 따라 스텝 크기 결정)}

A~t=exp⁡(ΔtA)(시간에 따라 변하는 상태 전이)\tilde{A}_t = \exp(\Delta_t A) \quad \text{(시간에 따라 변하는 상태 전이)}

ht=A~tht−1+ΔtBtxt(선택적 상태 업데이트)h_t = \tilde{A}t h{t-1} + \Delta_t B_t x_t \quad \text{(선택적 상태 업데이트)}

**무슨 뜻인가?**

- **Δ 작음**: 현재 입력 중요하지 않음, 상태 천천히 변함
- **Δ 크음**: 현재 입력 중요함, 상태 빠르게 변함

**예시:**

텍스트: “날씨는… [이 부분 중요하지 않음] … 아이폰 가격은…”

- “날씨” 읽음: Δ 크게 (상태에 저장)
- “는”→”아” (중요하지 않은 부분): Δ 작게 (상태 유지)
- “아이폰”: Δ 다시 크게 (새 주제 시작)

### 3-2. 선택 메커니즘의 구현

[Mamba 논문의 구현](https://arxiv.org/pdf/2312.00752.pdf)
:

**파라미터 동적화:**

Δt=softplus(sΔ(xt))(스케일러 출력, 양수 강제)\Delta_t = \text{softplus}(s_\Delta(x_t)) \quad \text{(스케일러 출력, 양수 강제)}

Bt=sB(xt)(입력-종속 B 행렬)B_t = s_B(x_t) \quad \text{(입력-종속 B 행렬)}

Ct=sC(xt)(입력-종속 C 행렬)C_t = s_C(x_t) \quad \text{(입력-종속 C 행렬)}

여기서 sΔs_Δ, sBs_B, sCs_C는 작은 선형/비선형 레이어입니다.

### 3-3. 하드웨어 친화적 알고리즘

**문제:**  
선택적 SSM은 이론상 (O(N)O(N))이지만, **순차적 루프**로 구현하면 GPU에서 느립니다.

**Mamba의 해결책:**

[3가지 최적화 기법](https://arxiv.org/pdf/2312.00752.pdf)
:

**1. Kernel Fusion**

- CPU ↔ GPU 통신 최소화
- 여러 연산을 하나의 커널로 통합

**2. Parallel Scan**

- 순차적 재귀를 병렬로 계산
- Work-efficient 알고리즘 (블로흐 1990년대)

**3. Recomputation**

- 중간 결과를 저장하지 않고
- 필요할 때 재계산
- 메모리 ↔ 속도 트레이드오프 활용

**결과:**

- A100 GPU에서 **3배 빠름** (기존 SSM vs)
- 순수 Transformer보다 **5배 빠름**

## 4. Mamba의 구조와 하드웨어 최적화

### 4-1. Mamba 아키텍처

**Mamba 블록의 구성:**

1. **입력 Projection**

- 입력을 더 높은 차원으로 확장 (expand factor × d_model)

1. **Selective SSM**

- 선택적 스캔 수행
- 상태 업데이트

1. **출력 게이팅**

- Sigmoid를 통해 어떤 정보를 통과시킬지 결정

1. **Projection**

- 원래 차원으로 축소

**vs Transformer 블록:**

| 요소 | Transformer | Mamba |
| --- | --- | --- |
| Self-Attention | O(N2)O(N²) | Selective SSM O(N)O(N) |
| 메모리 저장 | 전체 시퀀스 | 상태 벡터만 |
| 병렬화 | 모든 토큰 동시 | 순차적 (스캔으로 병렬화) |
| 장거리 의존 | 우수 | 우수 + 선택성 |

### 4-2. Mamba의 하드웨어 최적화 전략

[성능 최적화 기법](https://github.com/state-spaces/mamba)
:

**1. Mixed Precision (AMP)**

- 파라미터: Float32 (SSM은 수치 안정성 민감)
- 연산: Float16 (빠른 계산)
- 아웃풋: Float16

**2. Kernel Fusion**

전통적:

```
x_proj = Linear(x)           # GPU→CPU→GPU (느림)
ssm_out = SSM(x_proj)        # GPU→CPU→GPU (느림)
gate_out = gate * ssm_out    # GPU→CPU→GPU (느림)
```

Mamba 최적화:

```
output = fused_kernel(x, ssm_params, gate_params)  # 한 번에!
```

**3. Adaptive Precision**

- 중요한 연산: 더 높은 정밀도
- 부차적 연산: 낮은 정밀도

## 5. 실제 성능: Mamba vs Transformer 진짜 비교

### 5-1. 언어 모델링

[공식 벤치마크](https://arxiv.org/pdf/2312.00752.pdf)
:

**Perplexity 비교:**

| 모델 | 크기 | Perplexity |
| --- | --- | --- |
| Transformer | 3B | 11.2 |
| Mamba | 3B | 10.9 |
| Transformer | 6B | 9.8 |
| Mamba-3B (비교) | 3B | 10.9 (6B 동등) |

**의미:**

- Mamba 3B = Transformer 6B 수준
- **절반 크기로 같은 성능!**

### 5-2. 추론 속도 및 메모리

[실제 측정](https://github.com/state-spaces/mamba)
:

**생성 처리량:**

- Transformer: 100 tokens/sec
- **Mamba: 500 tokens/sec** ✅
- **5배 빠름!**

**메모리 사용:**

- Transformer: 16GB (길이 2048, 배치 32)
- **Mamba: 2GB** ✅
- **87.5% 절감!**

**데이터:**

| 메트릭 | Transformer | Mamba | 개선 |
| --- | --- | --- | --- |
| 처리량 | 1x | 5x | +400% |
| 메모리 | 1x | 0.125x | -87.5% |
| 지연시간 | 1x | 0.2x | -80% |

### 5-3. 장기 시퀀스 처리

**길이 100만 토큰에서:**

- Transformer: 불가능 (메모리 부족)
- **Mamba: 가능** ✅
- 사실상 **무한 길이** 처리

## 6. Mamba의 실제 응용과 멀티모달 확장

### 6-1. VideoMamba: 비디오 이해

[비디오 인식 성과](https://arxiv.org/abs/2407.08476)
:

**혁신:**

- 비디오를 시공간(spatio-temporal) 시퀀스로 모델링
- 각 프레임의 패치를 토큰처럼 처리

**성능:**

- Kinetics-400: 경쟁력 있는 성능
- **Transformer의 O(N²)** 복잡도 제거
- 더 긴 비디오 처리 가능

### 6-2. Vision Mamba (Vim)

[이미지 인식 적용](https://arxiv.org/pdf/2401.09417.pdf)
:

**ImageNet 성과:**

- 이미지 분류: Transformer 수준 성능
- **80% 메모리 절감**
- **2배 빠른 추론**

### 6-3. 의료 및 음성 도메인

[오디오 모델링](https://ieeexplore.ieee.org/document/10832304)
:

**SSAMBA (자기지도 오디오):**

- SSAST (음성 Transformer) 대비:
- 추론: **92.7% 빨라짐** 🚀
- 메모리: **95.4% 절감** 💾
- 성능: **동등 이상**

### 6-4. 음성 인식, 약물 발견 등

| 응용 | 특징 | 성과 |
| --- | --- | --- |
| TF-Mamba (Wi-Fi 활동) | 시간-주파수 분석 | 99.72% 정확도 |
| Mamba-DTA (약물) | 상호작용 필터링 | 13.3% 성능 향상 |
| RSMamba (원격 감지) | 다중 경로 활성화 | F1 95.25 |

## 7. Mamba의 한계와 미래

### 7-1. 현재 Mamba의 한계

**1. 짧은 시퀀스에서는 느림**

- Overhead > 이득
- 실제: 길이

**2. 완전한 투명성 부재**

- Transformer의 Attention Weight처럼 “선택 과정”을 시각화 어려움

**3. 아직 연구 단계**

- Mamba 2까지 나왔지만
- 프로덕션 모델 수 적음
- 최적화 미흡

### 7-2. Mamba 2의 개선

[구조적 상태 공간 이중성 (SSD)](https://goombalab.github.io/blog/2024/mamba2-part1-model/)
:

**개선:**

- A 행렬 구조 강화
- 체중 공유로 더 표현력 있는 상태
- 훈련 속도 **2배 향상**

### 7-3. 미래: Hybrid 아키텍처

[현재 추세](https://arxiv.org/pdf/2501.11729.pdf)
:

**Transformer + Mamba 결합:**

- 짧은 부분: Transformer (명시적 주의)
- 긴 부분: Mamba (선택적 SSM)
- 최고의 조합?

## 정리: 핵심 포인트

✅ **O(N²) 문제**: Transformer의 치명적 한계

✅ **상태 공간 모델**: 제어 이론의 우아한 솔루션

✅ **Selective Scan**: “모든 것 처리 말고 선택하자”의 구현

✅ **하드웨어 최적화**: Kernel Fusion + Parallel Scan = 5배 빠름

✅ **성능**: Mamba 3B = Transformer 6B (크기는 반, 성능은 동등)

✅ **미래**: 비디오, 이미지, 음성, 의료 모두에서 성공 중

## FAQ: 자주 묻는 질문

### Q1. Mamba가 정말 Transformer를 대체할까요?

**A.** 그럴 가능성 높습니다만:

- 단기 (1-2년): Hybrid 모델이 주류
- 중기 (2-5년): 긴 시퀀스 작업은 Mamba
- 장기: Mamba 계승 모델 (Mamba 3, 4…)

### Q2. 지금 Mamba 모델을 써야 하나요?

**A.** 상황에 따라:

- ✅ 사용해야 할 때: 긴 컨텍스트, 저전력, 임베딩
- ❌ 아직은 기다리는 게 좋을 때: 안정성 필요, 최고 성능 필요

### Q3. LLM은 왜 아직 Transformer 기반인가요?

**A.** 좋은 질문:

- Mamba는 너무 새로움 (2023년 11월)
- 대규모 모델 훈련 경험 부족
- 하지만 변하고 있음 (Mistral, Stability 참여 중)

### Q4. 혼합 정밀도가 왜 중요한가요?

**A.** SSM의 특성:

- 상태 전이 (ht=Aht−1+h_t = Ah_{t-1} + …)에서 누적 오차 가능
- Float16은 오차가 쌓임
- Float32 파라미터로 안정성 보장

### Q5. Mamba가 정말 선형 복잡도인가요?

**A.** 이론적으로는 맞습니다만:

- 실제 구현: 상수 계수 존재 (kernel overhead)
- 매우 짧은 시퀀스: Overhead가 더 클 수 있음
- 매우 긴 시퀀스: 선형성 명백함

## 외부 참고 자료

Mamba를 더 깊게 배우고 싶다면:

- [Mamba 원 논문](https://arxiv.org/pdf/2312.00752.pdf) – Albert Gu & Tri Dao, 기초 및 벤치마크
- [GitHub 오픈소스](https://github.com/state-spaces/mamba) – 구현, 사전 훈련 모델
- [Mamba 2 구조](https://goombalab.github.io/blog/2024/mamba2-part1-model/) – SSD 개선사항
- [시각 가이드](https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-mamba-and-state) – 50+ 일러스트레이션
- [VideoMamba](https://arxiv.org/abs/2407.08476) – 비디오 응용 사례

## 정리: 이 글에서 배운 것

✅ **Transformer**O(N2)O(N²): 길이가 2배 → 연산량 4배

✅ **상태 공간 모델**: 제어 이론의 우아한 (h′=Ah+Bxh’ = Ah + Bx)

✅ **Selective SSM**: 동적 파라미터로 컨텐츠 기반 선택

✅ **하드웨어 최적화**: Kernel Fusion + Parallel Scan로 GPU 효율화

✅ **5배 빠름, 87.5% 메모리 절감**: 수치로 증명된 효율성

✅ **멀티모달 성공**: 비디오, 음성, 이미지, 의료까지 적용 중

다음 포스팅에서는 **“AI를 위협하는 Adversarial Attack: 대적 공격의 메커니즘과 방어 기술”**에 대해 자세히 알아봅니다. Mamba 같은 신기술이 **어떤 공격에 취약한지**, 그리고 **어떻게 방어하는지** 파헤쳐 봅시다!

**관련 포스팅:**

- [AI 환각(Hallucination) 완벽 분석](https://doyouknow.kr/ai-hallucination-causes-detection-solutions-rag-grounding/)
- [Constitutional AI & RLHF 심화](https://doyouknow.kr/constitutional-ai-rlhf-alignment-claude-anthropic-guide/)
- [추론형 AI: o1과 DeepSeek-R1](https://doyouknow.kr/reasoning-ai-o1-deepseek-r1-chain-of-thought-system2-guide/)
- [Test-Time Compute & Scaling Laws](https://doyouknow.kr/test-time-compute-scaling-laws-inference-optimization-o1-guide/)
- [기계적 해석성: SAE와 뇌 지도](https://doyouknow.kr/mechanistic-interpretability-sparse-autoencoder-sae-claude-guide/)

### 이 글 공유하기:

- [Facebook으로 공유하기 (새 창에서 열림)Facebook](https://doyouknow.kr/mamba-state-space-model-ssm-transformer-alternative-guide/?share=facebook)
- [X에 공유 (새 창에서 열림)X](https://doyouknow.kr/mamba-state-space-model-ssm-transformer-alternative-guide/?share=x)
-

### 이것이 좋아요:

좋아하기로드 중...

### *관련*

### 관련된 글:

1. [[AI 101] AI가 데이터를 이해하는 방법 – 데이터가 AI의 연료인 이유](https://doyouknow.kr/ai-data-importance-structured-unstructured-bias/)
2. [ChatGPT의 한계를 넘다 – RAG 완벽 가이드: 사내 문서 챗봇부터 프로덕션까지](https://doyouknow.kr/rag-retrieval-augmented-generation-langchain-llamaindex-vector-db-chatbot/)
3. [AI 보안 완벽 가이드: 당신의 AI를 해킹하는 6가지 방법과 막는 법 – 공격과 방어의 모든 것!](https://doyouknow.kr/ai-security-guide-adversarial-attack-defense/)
4. [AI 모델 평가 완벽 가이드: MMLU, HumanEval, MT-Bench! 자동 평가 vs 인간 평가의 진실](https://doyouknow.kr/ai-benchmark-evaluation-mmlu-humaneval-mt-bench-llm-judge/)

### 댓글 남기기[응답 취소](/mamba-state-space-model-ssm-transformer-alternative-guide/#respond)
