본문으로 건너뛰기

Mamba-2는 왜 Transformer와 닮았는가: SSD로 다시 읽는 SSM

· 약 6분
p4r4d0xb0x
Rustacean, AI, OSS Enthusiast

상태공간모델과 어텐션을 구조화된 행렬로 연결하는 개념도

긴 문장을 다루는 모델의 병목은 단순히 파라미터 수가 아니다. 학습에서는 긴 시퀀스의 모든 위치를 병렬로 처리해야 하고, 생성에서는 매 토큰마다 과거 정보를 읽어야 한다. Transformer는 강력한 전역 어텐션을 얻는 대신 시퀀스 길이에 따른 계산과 메모리 부담을 감수한다. Mamba 계열의 상태공간모델(SSM)은 recurrent state를 유지해 생성 시 상태 크기를 고정하려 하지만, 학습과 GPU 활용을 Transformer만큼 쉽게 설명하기 어렵다.

Tri Dao와 Albert Gu의 논문은 이 둘을 경쟁하는 상자처럼 놓지 않는다. 핵심 질문은 “SSM과 어텐션을 같은 구조적 언어로 표현할 수 있는가”다. 논문은 구조적 준반분리 행렬(structured semiseparable matrix)을 매개로 두 계열의 관계를 정리하고, 그 관점에서 Mamba-2의 핵심 계층과 SSD 알고리즘을 제안한다. 아래 내용은 arXiv 원문과 HTML의 초록·방법·실험 서술에 근거하며, 재현 코드 실행 결과를 추가한 글이 아니다.

문제: 선형 복잡도만으로는 충분하지 않다

SSM의 전형적인 형태는 상태를 갱신하는 식으로 쓸 수 있다.

h_t = A_t h_{t-1} + B_t x_t
y_t = C_t^T h_t

상태 h는 과거 입력을 압축한 작업 메모리다. 생성 시에는 전체 토큰을 다시 보지 않고 이 상태만 다음 단계로 넘길 수 있다. Mamba의 선택적(selective) SSM처럼 A, B, C가 입력에 따라 달라지면 어떤 정보가 유지되고 지워질지도 토큰별로 조절된다. 그러나 한 토큰씩 순서대로 갱신하는 계산은 GPU의 행렬곱 장치를 충분히 활용하지 못할 수 있다. 따라서 “시퀀스 길이에 선형”이라는 점과 “실제 하드웨어에서 빠르다”는 주장은 분리해 봐야 한다.

논문이 제시하는 관점은 같은 변환을 세 가지 방식으로 볼 수 있다는 것이다. recurrent form은 순차 상태 갱신을 보여 주고, quadratic form은 모든 위치 사이의 상호작용을 행렬로 드러내며, matrix form은 둘 사이를 구조적으로 연결한다. 이 연결은 SSM을 단지 새로운 RNN으로 보는 대신, 이미 최적화가 풍부한 어텐션 계산과 같은 문제 공간에 놓는다.

용어 해설: 상태공간모델(SSM)

쉬운 정의: 입력을 받을 때마다 내부 상태를 갱신하고, 그 상태에서 출력을 만드는 시퀀스 모델이다.

예시: 메모장에 지금까지의 대화를 한 줄 요약해 두고 다음 문장을 읽을 때 그 요약만 참고하는 방식이다. 요약 규칙과 보관량을 학습할 수 있다는 점이 일반적인 메모와 다르다.

SSD의 핵심: 행렬 구조가 두 계산 경로를 잇는다

논문은 SSM이 특정한 준반분리 행렬로 표현될 수 있음을 보인다. 이 행렬은 모든 위치의 관계를 무작정 저장하지 않는다. 대각선 블록과 낮은 랭크(low-rank) 블록 같은 구조를 이용해 필요한 매개변수와 곱셈을 줄인다. 그 결과 같은 연산을 순차 recurrence로 계산할 수도 있고, 블록 단위 행렬곱으로 계산할 수도 있다.

SSD(State Space Duality)는 이 이중성을 이름 붙인 프레임워크다. 중요한 것은 “어텐션이 SSM과 완전히 동일하다”는 식의 단순화가 아니다. 논문은 모든 어텐션이 아니라, 구조적 행렬로 표현되는 특정한 SSM과 커널·마스킹 변형 사이의 관계를 다룬다고 명시한다. 즉 제목의 직관은 강력하지만 적용 범위는 수학적 조건 안에 있다.

실행 알고리즘은 시퀀스를 청크로 나누어 블록 내부에서는 병렬 행렬 연산을 사용하고, 블록 사이에서는 요약된 recurrent state를 전달하는 방식으로 설명된다. 이 방식은 순차 계산의 상태 의미를 유지하면서도 GPU가 잘하는 큰 행렬곱을 끌어온다. 논문이 말하는 하드웨어 효율성은 바로 이 계산 경로의 선택 가능성에서 나온다.

용어 해설: 준반분리 행렬(semiseparable matrix)

쉬운 정의: 전체 행렬처럼 보이지만, 위치 사이의 많은 블록이 낮은 랭크의 작은 표현으로 압축되는 구조적 행렬이다.

예시: 도시 전체 도로 지도를 모든 교차로 쌍으로 저장하는 대신, 구역별 요약과 구역 사이 연결 규칙으로 보관하는 것과 비슷하다. 필요한 경로 계산은 가능하지만 저장과 계산량은 줄어든다.

용어 해설: recurrent state

쉬운 정의: 다음 입력을 처리할 때 과거 전체 대신 전달되는 고정 크기의 내부 값이다.

예시: 긴 회의의 모든 녹취 대신 회의록 한 장을 다음 회의에 가져가는 것이다. 회의록이 작을수록 편하지만, 중요한 세부를 잃을 가능성도 함께 관리해야 한다.

Mamba-2에서 바뀐 것은 알고리즘만이 아니다

논문은 SSD 계층과 함께 Mamba 블록의 설계도 조정한다. 데이터 의존적 projection을 블록 시작 부분에서 병렬로 계산하고, 어텐션의 multi-head에서 빌려온 head 구조를 SSM의 선택지로 가져온다. 또한 tensor parallelism을 적용하기 쉽도록 동기화 지점을 줄이는 설계를 설명한다. 긴 시퀀스를 여러 장치에 나누는 sequence parallelism에서는 장치 사이에 recurrent state를 넘기는 방식도 제시한다.

이 부분의 실무적 의미는 새 계층 하나의 FLOPs만 보는 것이 아니라 학습 시스템 전체를 바꿔야 한다는 데 있다. 커널, 통신, 가변 길이 배치, 메모리 레이아웃이 함께 맞아야 실제 지연 시간이 줄어든다. 논문은 variable-length sequence에서 패딩을 피하는 방법도 논의하지만, 각 하드웨어·프레임워크 조합에서 동일한 효과가 재현된다고 보장하지는 않는다.

논문 구조와 근거의 범위

원문은 Introduction에서 Transformer와 SSM의 문제를 제시한 뒤, Background에서 SSM·어텐션·구조적 행렬을 정리한다. 이어 SSM을 행렬로 표현하고, structured masked attention과 SSD의 이론적 관계를 전개한 다음, 효율 알고리즘·Mamba-2 설계·시스템 최적화·실험으로 이동한다. 이는 문제→공통 표현→알고리즘→아키텍처→검증의 흐름이다.

초록과 본문은 SSD 핵심 계층이 Mamba의 선택적 scan보다 2–8배 빠르며 Transformer와 경쟁적인 언어모델링 성능을 보였다고 보고한다. 본문에는 특정 조건에서 FlashAttention-2와의 교차점과 긴 시퀀스 속도 비교, Pile 학습과 downstream 평가, scaling law 및 ablation이 포함된다. 그러나 이 수치는 원문이 설정한 구현·하드웨어·배치·길이 조건의 결과다. 이 글에서는 별도의 벤치마크를 수행하지 않았으므로 “모든 환경에서 2–8배”로 일반화하지 않는다.

실무적으로 무엇이 달라지는가

  • 추론 서버: 전체 KV cache 대신 고정 크기 상태를 유지하는 설계는 긴 입력이나 동시 사용자 수가 많은 서비스에서 메모리 계획을 단순화할 가능성이 있다. 다만 상태가 긴 문맥의 모든 정보를 보존한다는 뜻은 아니다.
  • 학습 스택: SSD의 chunkwise·block 구조는 GEMM과 tensor parallelism을 활용할 여지를 준다. 실제 도입 전에는 커널 구현과 통신 비용을 함께 프로파일링해야 한다.
  • 모델 선택: Mamba-2는 Transformer의 대체품이라는 한 문장보다, recurrent inference와 병렬 학습 사이의 절충점을 제공하는 계층으로 보는 편이 정확하다.
  • 평가: perplexity와 downstream 점수 외에 긴 문맥 회수, 상태 크기, batch 크기별 지연·처리량, 메모리 피크를 같은 조건에서 측정해야 한다.

한계와 남은 질문

논문은 SSM과 어텐션의 깊은 연결을 제시하지만, 그 연결이 모든 softmax attention의 동등한 대체를 의미하지는 않는다. 또한 reported speedup은 특정 최적화 구현의 결과이므로 새 GPU, 다른 정밀도, 작은 batch, 실제 serving workload에서 다시 확인해야 한다. recurrent state가 문맥을 압축하는 만큼, 복잡한 임의 회수나 장거리 상호작용에서 어떤 정보 손실 패턴을 보이는지도 애플리케이션별 검증이 필요하다.

제공된 자료에서 확인되는 범위에서 Mamba-2의 가장 중요한 기여는 “선형 복잡도”라는 표어가 아니다. 동일한 시퀀스 변환을 recurrence와 행렬곱 양쪽으로 바라보고, 그 선택을 하드웨어와 분산 학습의 언어로 연결한 점이다. 정량적 성능은 추가 검증이 필요하지만, 연구 방향은 분명하다. 새로운 아키텍처의 승부처는 수식의 우아함과 커널·메모리·통신의 현실을 함께 설명할 수 있는가에 있다.

Sources

// COMMENTS

댓글