다음에 올 것을 만들어가는 기술에 대한 심층 기사.

상태 공간 모델 vs 트랜스포머: 실전 가이드

상태 공간 모델(SSM), Mamba-3, 하이브리드 아키텍처를 실전 관점에서 정리하고, 트랜스포머 대신 언제 써야 하는지 알려드립니다.

부드럽게 흐르는 강물과 빽빽하게 빛나는 노드 격자, SSM과 트랜스포머의 대비를 상징하는 이미지.

트랜스포머가 업계를 지배하는 시대가 그리 오래가지 않을 겁니다. 과한 주장처럼 들리죠. 언어 모델부터 단백질 접힘 예측까지 몇 년 동안 트랜스포머 아키텍처가 모든 분야를 휩쓰는 걸 우리 모두 지켜봤으니까요. 하지만 지난 몇 달 동안 실제 프로덕션 워크로드에서 상태 공간 모델(SSM)을 트랜스포머 베이스라인과 비교 벤치마크해 보고 나서, 이 변화가 실재한다는 확신이 들었습니다. SSM이 모든 면에서 낫다는 뜻은 아닙니다. 그렇지 않습니다. 다만 트랜스포머가 근본적으로 풀지 못하는 특정 문제를 SSM이 해결하고, 최신 세대가 품질 격차를 충분히 좁혀서 이제는 무시하는 것 자체가 기술 부채를 떠안는 결정이 되었다는 게 핵심입니다.

이건 과장된 홍보 글이 아닙니다. 상태 공간 모델이 정확히 무엇인지, Mamba-3가 어디서 실제로 개선을 가져오는지, SSM이 여전히 힘을 못 쓰는 영역은 어디인지, 그리고 팀이 도입을 어떻게 판단해야 하는지 차근차근 살펴보겠습니다. 실무자 대 실무자로 이야기해 봅시다.

길어지는 시퀀스 앞에서 트랜스포머가 벽에 부딪히는 이유

여러분은 이미 이차 스케일링 이야기를 알고 계실 겁니다. 셀프 어텐션은 길이 N인 시퀀스에 대해 N×N 행렬을 계산하기 때문에, 컨텍스트 길이를 두 배로 늘리면 연산량과 메모리는 네 배가 됩니다. 한동안은 이게 크게 문제되지 않았습니다. 모델이 수천 토큰 정도만 처리했고, 하드웨어도 그럭저럭 따라왔거든요.

그 시절은 끝났습니다. 요즘 우리가 만드는 워크로드는 10만 토큰 이상의 컨텍스트를 기본으로 요구합니다. 코드 어시스턴트는 저장소 전체를 봐야 하고, 멀티모달 파이프라인은 몇 시간짜리 영상을 처리하며, 에이전트는 며칠에 걸친 대화 이력을 유지해야 합니다. 이 규모에서 이차 어텐션은 단순히 비싼 정도가 아니라 넘을 수 없는 벽입니다.

KV 캐시 문제가 상황을 더 나쁘게 만듭니다. 자기회귀 생성 중에 트랜스포머의 모든 레이어는 지금까지 본 모든 토큰에 대해 키-값 쌍을 저장합니다. 이 캐시는 레이어마다 선형으로 커지고 GPU 메모리를 빠르게 잡아먹습니다. 128K 컨텍스트에서 7B 트랜스포머가 KV 캐시만으로 VRAM 40GB를 쓰는 걸 직접 본 적이 있습니다. 그만큼의 메모리는 요청을 더 묶어서 배치 처리하는 데 쓸 수 없게 됩니다.

  • 표준 어텐션으로는 메모리가 이차로 늘어나 백만 토큰 컨텍스트가 사실상 불가능합니다
  • KV 캐시가 커지면서 GPU 한 장당 동시 사용자 수가 제한되고, 이는 프로덕션에서 곧바로 비용 배수로 작용합니다
  • 긴 컨텍스트 트랜스포머 추론의 에너지 소비는 정당화하기 점점 어려워지고 있습니다
  • 로보틱스나 엣지 AI 같은 실시간 애플리케이션은 어텐션으로는 맞추기 어려운 1ms 미만의 토큰 생성 속도가 필요합니다
  • '어텐션 싱크' 현상은 메모리 여유가 있어도 매우 긴 시퀀스에서 품질을 떨어뜨립니다

제가 함께 일했던 세 팀이 작년에 대안을 진지하게 검토하기 시작한 것도 바로 이런 이유 때문입니다. 이론적인 걱정이 아니라 실제 문제입니다.

상태 공간 모델은 실제로 어떻게 동작할까

상태 공간 모델은 제어 이론에서 왔습니다. 동역학 시스템을 모델링하는 데 수십 년 동안 쓰여 온 방식이죠. 핵심 아이디어는 단순합니다. (어텐션처럼) 출력을 계산할 때마다 이전 토큰 전체를 들여다보는 대신, 시간에 따라 변하는 압축된 은닉 상태를 유지합니다. 새 토큰이 상태를 업데이트하고, 상태가 출력을 만듭니다. 그게 전부입니다.

수학적으로 SSM은 A, B, C, D 네 개의 행렬로 정의되며, 이 행렬들이 입력 x에 따라 은닉 상태 h가 어떻게 변하는지를 결정합니다. 순차 데이터를 위해 연속 방정식을 이산화하면, 추론 시 계산하기 아주 단순한 점화식이 나옵니다.

import torch
def ssm_step(A_bar, B_bar, C, D, h, x_t):
"""Single SSM step: O(1) memory, O(1) compute.
Compare this to attention, which needs to look at
every previous token. The SSM just updates its state.
"""
h_new = A_bar @ h + B_bar @ x_t  # Update hidden state
y_t = C @ h_new + D * x_t         # Compute output
return h_new, y_t
def ssm_generate(A_bar, B_bar, C, D, tokens, embed):
"""Autoregressive generation with constant memory.
Whether you've processed 100 tokens or 500,000,
this uses the same amount of memory.
"""
h = torch.zeros(A_bar.shape[0])
outputs = []
for t in tokens:
x_t = embed(t)
h, y_t = ssm_step(A_bar, B_bar, C, D, h, x_t)
outputs.append(y_t)
return torch.stack(outputs)

이 구조의 장점은 코드에서 바로 드러납니다. 추론은 시퀀스 길이와 상관없이 토큰당 O(1) 메모리와 O(1) 연산이면 됩니다. KV 캐시도 없고 이차 폭발도 없습니다. 전체 이력이 은닉 상태 벡터 하나에 압축됩니다.

그럼 단점은? 학습 중에 이 점화식을 순차적으로 돌리면 엄청나게 느립니다. 요령은 같은 계산을 합성곱이나 병렬 스캔으로 재구성하면 GPU가 효율적으로 처리할 수 있다는 점입니다. 그래서 병렬 학습과 순환 방식 추론이라는 두 세계의 장점을 함께 얻습니다.

Mamba에서 Mamba-3까지, 세대별로 무엇이 고쳐졌나

S4 같은 초기 SSM은 개념을 증명했지만 치명적인 약점이 있었습니다. 내용 기반 추론을 잘 못했다는 점입니다. 상태 전이 행렬이 모든 입력에 대해 고정되어 있어서, 모델이 실제로 읽고 있는 내용에 따라 무엇을 기억하고 무엇을 잊을지 결정할 수 없었습니다. '세 단어마다 하나씩 적어라'는 규칙을 따라 필기하는 것과 비슷합니다. 유용한 정보 일부는 잡히지만, 무엇이 중요한지에 맞춰 적응하지는 못합니다.

2023년 말 Albert Gu와 Tri Dao가 발표한 Mamba는 우아한 아이디어로 이 문제를 해결했습니다. SSM 파라미터를 입력에 의존하도록 만든 것입니다. 고정된 A, B, C 행렬 대신, Mamba는 현재 토큰의 함수로 이 값들을 계산합니다. 모델은 관련 정보는 선택적으로 저장하고 노이즈는 버리는 법을 배웁니다. 이 '선택적' 메커니즘이 SSM에 부족했던 내용 인식 능력을 가져다줬습니다.

Mamba-2는 구조화된 SSM과 선형 어텐션이 수학적으로 쌍대(dual) 관계에 있다는 이론적 통찰을 가져왔습니다. 이른바 상태 공간 쌍대성(SSD) 프레임워크입니다. 이건 순수 학술 연구에 그치지 않았습니다. GPU 텐서 코어를 더 잘 활용하는 하드웨어 인지형 구현을 가능하게 했고, 학습 처리량을 상당히 끌어올렸습니다.

배포 관점에서 흥미로워지는 건 Mamba-3부터입니다. 가장 중요한 혁신은 세 가지입니다.

  1. 다중 스케일 상태 추적 — 모델이 여러 시간 해상도에서 동시에 상태를 유지해, 지역 패턴과 장거리 의존성을 둘 다 잃지 않고 포착합니다
  2. 적응형 상태 압축 — 은닉 상태가 복잡한 추론 구간에서는 확장되고 예측 가능한 텍스트에서는 줄어들어, 품질을 잃지 않으면서 연산을 아낍니다
  3. 개선된 초기화와 게이팅 — 대규모에서 학습 안정성이 크게 좋아졌고, 수백만 달러가 드는 학습 실행에서는 이게 엄청나게 중요합니다

Mamba-3가 모든 벤치마크에서 트랜스포머를 이기는 건 아닙니다. 그럴 필요도 없습니다. 대부분의 표준 평가에서 품질을 맞추면서 추론 연산은 일부만 씁니다. 대부분의 프로덕션 워크로드에서는 이 절충이 중요한 부분입니다.

선형 어텐션과 SSM의 수렴

함께 이해해 둘 가치가 있는 또 다른 흐름이 있습니다. 선형 어텐션은 같은 효율성 문제를 트랜스포머 프레임워크 안에서 풉니다. 표준 어텐션은 전체 N×N 행렬을 계산합니다. 선형 어텐션은 softmax를 분해 가능한 커널 함수로 대체하고, 수식을 재배열해서 그 이차 행렬을 아예 만들지 않습니다.

# Standard attention: O(N^2 * d)
# score = softmax(Q @ K.T / sqrt(d)) @ V
# Linear attention: O(N * d^2)
# Replace softmax with kernel feature map phi()
# Rearrange: compute K^T @ V first (d×d), then multiply by Q
def linear_attention_step(q_t, running_kv, running_k, k_t, v_t, phi):
"""Incremental linear attention — runs like a recurrence.
This is why SSMs and linear attention are duals:
both compress history into a fixed-size state.
"""
k_feat = phi(k_t)
q_feat = phi(q_t)
running_kv = running_kv + k_feat.unsqueeze(-1) * v_t.unsqueeze(-2)
running_k = running_k + k_feat
y_t = (q_feat @ running_kv) / (q_feat @ running_k + 1e-6)
return y_t, running_kv, running_k

이 코드를 주의 깊게 보세요. 선형 어텐션은 점진적으로 실행할 때 실행 상태를 유지하면서 새 토큰이 올 때마다 그 상태를 업데이트합니다. 익숙하게 들리시죠? SSM이 하는 일과 본질적으로 같습니다. SSD 프레임워크가 이 연결고리를 공식화했고, 최근 시퀀스 모델링 연구에서 가장 중요한 이론적 통찰 중 하나입니다.

GLA(Gated Linear Attention)나 RetNet 변형 같은 아키텍처는 여기서 한 걸음 더 나아가, 데이터 의존적 게이팅을 추가해 선형 어텐션과 선택적 SSM의 경계를 거의 완전히 흐려 놓았습니다. 실무적인 결론은 이것들을 경쟁 관계로 보지 말라는 겁니다. 수렴하고 있습니다.

하이브리드 아키텍처: 실제 프로덕션에서 이기고 있는 것

SSM으로 바꿀지 묻는 팀에게 제가 늘 하는 말이 있습니다. 순수한 한 가지 방식으로 가지 말라는 겁니다. 지금 최고의 결과를 내고 있는 아키텍처는 SSM 레이어에 소수의 어텐션 레이어를 섞은 하이브리드입니다. 서로 다른 계산 기본 요소는 잘하는 일이 다르고, 이걸 무시하면 성능을 그냥 버리는 셈입니다.

SSM 레이어는 순차 정보를 효율적으로 압축하고 전파하는 데 뛰어납니다. 어텐션 레이어는 정밀한 내용 기반 검색, 예를 들어 '이 질문에 답하는 47페이지의 정확한 문장을 찾아줘' 같은 작업에서는 여전히 독보적입니다. 잘 설계된 하이브리드는 레이어의 80~90%에 SSM을 쓰고, 가장 중요한 자리에 어텐션을 뿌려 넣습니다.

  • Jamba 스타일 모델 — Mamba와 어텐션 레이어를 번갈아 배치하고 MoE 피드포워드 블록을 붙여, 효율적인 SSM 처리와 정밀한 어텐션 사이를 동적으로 라우팅합니다
  • Griffin 계열 설계 — 순환형 게이티드 선형 유닛과 로컬 슬라이딩 윈도우 어텐션을 결합해, 전체 어텐션을 최소로 쓰면서도 강한 성능을 냅니다
  • Mamba-어텐션 하이브리드 — 대부분의 레이어는 Mamba-3 블록을 쓰고, 전역 정보 라우팅을 위해 전략적인 깊이에 전체 어텐션 레이어를 끼워 넣습니다
  • StripedHyena 계승 모델 — 게이티드 합성곱, SSM 레이어, 희소 어텐션을 NAS로 최적화된 패턴으로 교차 배치합니다

수치가 이를 뒷받침합니다. 여러 독립 연구 그룹이 SSM 대 어텐션을 85/15로 나눈 구조가 같은 파라미터 수에서 순수 트랜스포머 품질과 맞먹으면서, 추론 FLOPs를 40~60% 줄인다는 결과를 보여 줬습니다. 긴 컨텍스트 워크로드에서는 메모리 절감 폭이 더 큽니다. 이건 미미한 개선이 아닙니다. GPU 청구서를 절반으로 줄이는 수준입니다.

프로덕션 벤치마크: SSM이 강한 곳과 약한 곳

구체적인 숫자로 얘기하겠습니다. 모호한 효율성 주장은 배포 결정을 내리는 사람에게 아무 도움이 되지 않으니까요.

추론 처리량: 8B 파라미터의 Mamba-3 기반 모델은 컨텍스트가 1K든 500K든 토큰 생성 속도가 같습니다. 비슷한 트랜스포머는 KV 캐시가 커질수록 점점 느려집니다. 500K 컨텍스트에서 SSM 모델은 GPU당 처리량이 5~8배 높습니다. 이론적인 이야기가 아니라 제가 직접 측정한 결과입니다.

동시 사용자 수: KV 캐시가 없기 때문에 SSM 모델은 훨씬 많은 동시 요청을 처리할 수 있습니다. A100 한 장에서 트랜스포머가 32K 컨텍스트로 동시 스트림을 8개 정도 처리할 때, 동등한 SSM 모델은 30개 이상을 처리할 수 있습니다. 대규모로 추론을 돌리는 사람이라면 이 숫자가 경제성을 바꿔 놓습니다.

학습 속도: 이쪽의 개선 폭은 더 작습니다. H100 클러스터에서 Mamba-3는 동등한 트랜스포머보다 대략 1.4배의 학습 처리량을 냅니다. 시퀀스가 길어질수록 격차가 벌어져서, 32K 토큰을 넘으면 이차 어텐션을 아예 피하기 때문에 SSM 학습이 2~3배 빠릅니다.

그런데 한계에 대해서도 솔직해져야 합니다. 긴 컨텍스트에서 원문 그대로 정확히 기억해내야 하는 작업, 예를 들어 '4,382번째 줄의 정확한 에러 메시지가 뭐였지?' 같은 질문에서는 순수 SSM이 여전히 부족합니다. 고정 크기의 압축 상태는 손실이 있는 표현입니다. 어텐션은 원본 토큰으로 그냥 되돌아가 볼 수 있습니다. 하이브리드 아키텍처가 통하는 이유가 바로 이것입니다. SSM이 못 하는 검색을 어텐션 레이어가 맡습니다.

SSM이 여전히 부족한 부분

불완전한 정보를 바탕으로 새 아키텍처를 도입하면 6개월을 날리기 딱 좋으니, 남은 격차를 냉정하게 짚어 보겠습니다.

  1. 인컨텍스트 학습 — 트랜스포머는 프롬프트 안의 몇 가지 예시(few-shot)를 보고 동작을 조정하는 능력이 여전히 더 낫습니다. SSM도 할 수는 있지만 신뢰도가 떨어집니다. 예시가 들어간 프롬프트 엔지니어링에 크게 의존하는 애플리케이션이라면 순수 SSM은 실망스러울 겁니다.
  2. 생태계 성숙도 — 트랜스포머 도구는 수년간 최적화되어 왔습니다. SSM 전용 커널, 서빙 인프라, 파인튜닝 라이브러리는 빠르게 좋아지고 있지만 아직 동등한 수준은 아닙니다. 통합에 추가 시간을 잡아 두세요.
  3. 70B 이상의 스케일링 불확실성 — 70B 파라미터까지의 Mamba-3 모델은 좋은 스케일링 곡선을 보여 주지만, 200B 이상 최전선에서의 강력한 데이터는 아직 없습니다. 극단적인 크기에서도 SSM 스케일링 법칙이 유지될지는 정말로 알 수 없습니다.
  4. 파인튜닝 기법 — 트랜스포머용 LoRA와 QLoRA는 잘 알려져 있습니다. SSM 아키텍처에 적용하려면 다른 접근이 필요하고, 모범 사례는 아직 정리되는 중입니다.
  5. 하드웨어 불일치 — 현재 GPU는 어텐션이 좋아하는 행렬 곱셈에 최적화되어 있습니다. SSM은 병렬 스캔에 크게 의존하는데, 최신 하드웨어에서도 그럭저럭 돌아가지만 GPU가 애초에 설계된 연산은 아닙니다.

어느 것도 치명적인 걸림돌은 아닙니다. 해결 경로가 알려진 엔지니어링 문제들입니다. 하지만 실재하는 문제이고, 일정에는 반영해야 합니다.

실용적인 권고: 언제 도입하고 어떻게 시작할까

여러 프로덕션 워크로드에서 SSM을 평가한 뒤, 제가 팀에 조언할 때 쓰는 기준은 이렇습니다.

긴 컨텍스트 추론(정기적으로 32K+ 토큰), 높은 동시성 요구, 또는 지연에 민감한 엣지 배포가 필요하다면 적극적으로 도입하세요. ROI가 크고 바로 나옵니다. 다만 순수 SSM보다는 Jamba나 Griffin 계열 같은 하이브리드 아키텍처로 시작하세요. 위험은 줄이면서 효율성 이득의 대부분을 가져갈 수 있습니다.

워크로드가 주로 짧은 컨텍스트이고 인컨텍스트 학습에 많이 의존하며 추론 비용 압박이 없다면 지켜보는 쪽을 권합니다. 여기서는 아직 트랜스포머가 우위에 있고, 생태계도 더 성숙합니다.

  • 결정하기 전에 실제 추론 워크로드를 프로파일링하세요. 중앙값 컨텍스트 길이와 동시 사용자 수가 핵심 변수입니다
  • 순수 SSM이 아니라 하이브리드 아키텍처로 시작하세요. 위험이 낮고, 그럼에도 추론 비용을 40~60% 줄여 줍니다
  • 여러분의 특정 작업으로 벤치마크하세요. SSM은 요약과 장거리 추론에는 강하지만 정확한 검색에서는 뒤처집니다
  • 지금 아키텍처 비교 인프라를 구축하세요. 정확도만이 아니라 지연 시간, 처리량, 메모리, 쿼리당 비용까지 측정해야 합니다
  • SSM 도구 생태계를 분기마다 추적하세요. 개선 속도가 빨라서, 오늘은 실용성이 없는 것이 3개월 뒤에는 프로덕션에 쓸 수 있을지도 모릅니다

아키텍처 지형이 갈라지고 있다 — 좋은 일입니다

모든 것을 지배하는 하나의 아키텍처 시대는 끝나가고 있습니다. 팀들은 전체 어텐션, 선형 어텐션, 선택적 SSM, 게이티드 합성곱 같은 계산 기본 요소 중에서 고르고, 자신들의 제약에 맞게 조합하는 방향으로 가고 있습니다. 성숙한 엔지니어링 분야가 일하는 방식이 바로 이렇습니다. 모든 구조물을 강철로만 짓지는 않습니다. 버텨야 할 하중에 따라 재료를 고르죠.

트랜스포머가 죽은 건 아닙니다. 많은 워크로드에서 여전히 가장 검증된 아키텍처이고, 앞으로 몇 년간 중요한 AI 시스템을 계속 구동할 겁니다. 다만 최신 시퀀스 모델링에서 독점적 지위는 끝났습니다. SSM과 하이브리드는 연구용 호기심이 아니라 프로덕션의 일급 도구로서 자리를 얻었습니다.

실제 시스템을 만드는 우리에게 아키텍처 선택지가 늘어난다는 건, 특정 문제에 맞는 더 나은 도구가 생긴다는 뜻입니다. 두려워할 파괴가 아니라 활용할 엔지니어링 레버리지입니다.