트랜스포머의 독주를 깰 것인가? Mamba와 상태 공간 모델(SSM)의 부상 완벽 가이드! 선형 시간의 혁명


핵심 요약

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

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

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


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 토큰: 불가능 ❌

실제 메모리 사용:

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

1-2. KV Cache 문제

Transformer 추론의 숨겨진 비용:

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

결과:

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

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

이전 SSM 연구의 실패:

이전 효율적 모델들:

  • 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이 효율적인 이유

선형 시간 복잡도의 비결:

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~tht1+ΔtBtxt(선택적 상태 업데이트)h_t = \tilde{A}t h{t-1} + \Delta_t B_t x_t \quad \text{(선택적 상태 업데이트)}

무슨 뜻인가?

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

예시:

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

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

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

Mamba 논문의 구현:

파라미터 동적화:

Δ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가지 최적화 기법:

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 블록:

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

4-2. 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. 언어 모델링

공식 벤치마크:

Perplexity 비교:

모델크기Perplexity
Transformer3B11.2
Mamba3B10.9
Transformer6B9.8
Mamba-3B (비교)3B10.9 (6B 동등)

의미:

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

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

실제 측정:

생성 처리량:

  • Transformer: 100 tokens/sec
  • Mamba: 500 tokens/sec
  • 5배 빠름!

메모리 사용:

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

데이터:

메트릭TransformerMamba개선
처리량1x5x+400%
메모리1x0.125x-87.5%
지연시간1x0.2x-80%

5-3. 장기 시퀀스 처리

길이 100만 토큰에서:

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

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

6-1. VideoMamba: 비디오 이해

비디오 인식 성과:

혁신:

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

성능:

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

6-2. Vision Mamba (Vim)

이미지 인식 적용:

ImageNet 성과:

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

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

오디오 모델링:

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):

개선:

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

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

현재 추세:

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=Aht1+h_t = Ah_{t-1} + …)에서 누적 오차 가능
  • Float16은 오차가 쌓임
  • Float32 파라미터로 안정성 보장

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

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

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

외부 참고 자료

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


정리: 이 글에서 배운 것

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 같은 신기술이 어떤 공격에 취약한지, 그리고 어떻게 방어하는지 파헤쳐 봅시다!


관련 포스팅:

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다