[논문 리뷰] Memory-Efficient Looped Transformer: Decoupling Compute from Memory in Looped Language Models
TL;DR
최근 대형 언어 모델(LLM)은 긴 문맥을 처리할 때 메모리 사용량이 폭발적으로 증가하는 한계에 직면했습니다. 이를 해결하기 위해 Memory-Efficient Looped Transformer (MELT) 아키텍처가 제안되었습니다. MELT는 루프드 트랜스포머의 구조를 혁신하여, 고정된 크기의 공유 키-값(KV) 캐시와 학습 가능한 게이팅 메커니즘을 도입합니다. 이를 통해 추론 시 메모리 사용량을 시퀀스 길이에 관계없이 일정하게 유지하면서도, 기존 모델과 동등하거나 더 나은 성능을 달성합니다. 실험 결과, MELT는 베이스라인 모델 대비 최대 4배 적은 메모리로 32k 토큰 길이의 시퀀스를 처리하는 데 성공했으며, 이는 메모리 제약을 극복하고 긴 문맥을 처리하는 새로운 가능성을 제시합니다.
1. 연구 배경 및 동기
대형 언어 모델(LLM)은 자연어 처리 분야에서 놀라운 발전을 이끌었지만, 긴 시퀀스를 처리할 때 발생하는 메모리 문제는 여전히 큰 걸림돌입니다. 표준 트랜스포머 아키텍처에서 어텐션 메커니즘의 KV 캐시는 시퀀스 길이에 따라 메모리 사용량이 제곱으로 증가()하여 실용적인 한계에 부딪힙니다.
이를 개선한 **루프드 트랜스포머(Looped Transformer)**는 적은 수의 레이어를 반복 사용하여 파라미터 효율성을 높였지만, 각 반복마다 새로운 KV 캐시를 저장해야 하므로 메모리 사용량이 여전히 시퀀스 길이에 따라 선형적으로 증가()하는 문제를 안고 있었습니다.
MELT는 이러한 한계를 극복하기 위해 루프드 트랜스포머의 계산(compute)과 메모리(memory)를 분리하는 혁신적인 아이디어를 제안합니다. 이를 통해 시퀀스 길이에 관계없이 고정된 메모리()만 사용하도록 설계되었습니다.
2. 관련 연구
트랜스포머의 메모리 문제를 해결하기 위한 기존 연구들은 다음과 같습니다. MELT는 이들 연구와는 다른 독창적인 접근법을 취합니다.
| 연구 | 접근 방식 | MELT와의 차별점 |
|---|---|---|
| Universal Transformers | 소수 레이어의 반복적 사용 | MELT는 고정된 크기의 공유 KV 캐시를 사용 |
| Reformer | LSH를 이용한 효율적 어텐션 | MELT는 어텐션 자체가 아닌 캐시 관리 방식에 집중 |
| Linformer | 선형화(Linearized) 어텐션 | MELT는 표준 어텐션을 유지하며 메모리와 계산을 분리 |
| Longformer | 희소(Sparse) 어텐션 패턴 | MELT는 긴 문맥을 위한 고정 메모리 사용에 초점 |
3. 핵심 기여
- 고정 크기 공유 KV 캐시 (Fixed-Size Shared KV Cache): 모든 루프가 단 하나의 KV 캐시 슬롯을 공유하여, 시퀀스 길이에 관계없이 메모리 사용량을 로 고정시켰습니다.
- 학습 가능한 게이팅 메커니즘 (Learnable Gating Mechanism): 새로운 정보가 들어올 때 기존 캐시를 무조건 덮어쓰는 대신, 게이트를 통해 어떤 정보를 얼마나 유지하고 업데이트할지 동적으로 결정하여 정보 손실을 최소화합니다.
- 안정적인 2단계 학습 전략: 사전 학습된 모델에서 MELT로 안정적으로 전환하기 위해, **인터폴레이션 전환(Interpolation Transition)**과 **어텐션 정렬 증류(Attention Alignment Distillation)**라는 두 가지 기법을 도입하여 학습 안정성과 성능을 모두 확보했습니다.
4. 핵심 방법론: MELT의 작동 원리
MELT의 핵심은 고정된 메모리 공간 내에서 정보를 효과적으로 압축하고 갱신하는 것입니다.
4.1. 공유 KV 캐시와 게이팅 메커니즘
기존 루프드 트랜스포머가 각 루프마다 새로운 KV 캐시를 생성하는 것과 달리, MELT는 모든 레이어와 루프가 단 하나의 KV 캐시 슬롯을 공유합니다. 새로운 정보가 들어오면, 학습 가능한 게이팅 메커니즘이 이전 캐시 정보와 현재 생성된 정보를 조합하여 캐시를 업데이트합니다. 이 과정은 다음 수식으로 표현됩니다.
- : 이전 루프까지 유지되던 공유 KV 캐시
- : 현재 루프에서 계산된 새로운 KV 값
- : 0과 1 사이의 값을 가지는 학습 가능한 게이트 벡터. 가 0에 가까우면 이전 정보를 보존하고, 1에 가까우면 새로운 정보로 덮어씁니다.
- : 원소별 곱셈(Element-wise multiplication)
이 게이트 는 모델이 스스로 어떤 정보가 장기적으로 중요한지 학습하게 하여, 제한된 메모리 공간을 효율적으로 사용하도록 만듭니다.
4.2. MELT의 추론 과정 (의사코드)
MELT의 작동 방식을 의사코드로 표현하면 다음과 같습니다.
# 초기화
shared_kv_cache = initialize_cache()
hidden_states = initial_embeddings
# N번의 루프(반복) 수행
for i in range(N_loops):
# 1. 현재 상태와 공유 캐시를 이용해 어텐션 수행
attention_output = attention(hidden_states, shared_kv_cache)
# 2. FFN 등 나머지 레이어 연산 수행
hidden_states = feed_forward(attention_output)
# 3. 현재 루프의 새로운 KV 값 계산
current_kv = calculate_kv(hidden_states)
# 4. 게이팅 메커니즘으로 공유 캐시 업데이트
gate = calculate_gate(hidden_states)
shared_kv_cache = (1 - gate) * shared_kv_cache + gate * current_kv
# 최종 결과 반환
return hidden_states
4.3. 안정적인 학습 전략
사전 학습된 모델을 MELT 아키텍처로 바로 전환하면 학습이 불안정해질 수 있습니다. 이를 해결하기 위해 두 단계 전략을 사용합니다.
- 인터폴레이션 전환: 처음에는 게이트 값을 0에 가깝게 설정하여 기존 모델처럼 작동하게 하고, 점진적으로 게이트가 학습되도록 하여 부드러운 전환을 유도합니다.
- 어텐션 정렬 증류: 고정된 캐시가 중요한 정보를 잃지 않도록, 전체 시퀀스에 접근 가능한 '교사' 모델의 어텐션 분포를 MELT('학생' 모델)가 모방하도록 학습시킵니다. 이를 통해 압축된 캐시가 전체 문맥의 핵심 정보를 담도록 유도합니다.
5. 실험 설정 및 결과
- 베이스라인 모델: RecurrentGemma 아키텍처 기반의 28억 파라미터 모델인 Ouroboros-2.8B
- 평가 벤치마크: 수학 추론(GSM8K, SVAMP), 일반 추론(ARC, HellaSwag), 요약(XL-Sum) 등
- 평가 지표: 정확도, 메모리 사용량
5.1. 메모리 효율성
MELT는 긴 시퀀스 생성 시 메모리 사용량을 획기적으로 줄였습니다. 32k 토큰 시퀀스를 생성할 때, 베이스라인 모델이 약 75GB의 GPU 메모리를 사용한 반면, MELT는 약 20GB의 메모리만으로 추론을 완료하여 약 4배의 효율성을 보였습니다.
5.2. 성능 비교
메모리 사용량을 크게 줄였음에도 불구하고, MELT는 대부분의 벤치마크에서 베이스라인과 동등하거나 더 우수한 성능을 달성했습니다. 이는 게이팅 메커니즘과 증류 학습이 정보 손실을 효과적으로 방지했음을 보여줍니다.
| 모델 | 32k 토큰 생성 시 최대 GPU 메모리 | GSM8K (정확도) | ARC-c (정확도) |
|---|---|---|---|
| Ouroboros (Baseline) | ~75 GB | 75.1% | 76.8% |
| MELT (Ours) | ~20 GB | 75.5% | 77.1% |
6. 비판적 평가
- 강점: 메모리 효율성을 극대화하여 긴 시퀀스 처리에 대한 실용적인 해결책을 제시합니다. 특히, 제한된 하드웨어 환경에서의 LLM 구동 가능성을 열어줍니다.
- 한계:
- 게이팅 메커니즘과 증류 학습 과정이 추가되어 학습 파이프라인이 다소 복잡해질 수 있습니다.
- 고정된 캐시 크기가 특정 유형의 태스크(예: 극도로 긴 의존성을 요구하는 문제)에서는 정보 병목 현상을 일으킬 잠재적 가능성이 있습니다.
- 논문에서 제안된 2단계 학습 전략이 다른 모델 아키텍처에도 동일하게 효과적일지에 대한 추가 검증이 필요합니다.
7. 향후 연구 방향
- 동적 캐시 크기: 태스크의 복잡도에 따라 캐시 크기를 동적으로 조절하는 메커니즘을 연구할 수 있습니다.
- 다양한 아키텍처 적용: MELT의 아이디어를 비-루프드 트랜스포머나 멀티모달 모델에 적용하는 연구를 진행할 수 있습니다.
- 온디바이스 AI 최적화: 경량화된 MELT 모델을 개발하여 모바일 및 엣지 디바이스에서의 실시간 긴 문맥 처리 능력을 향상시킬 수 있습니다.
8. 실무 적용 가이드
MELT를 실제 프로젝트에 적용하려면 다음 단계를 고려할 수 있습니다.
- 기존 모델 준비: 사전 학습된 루프드 트랜스포머(또는 표준 트랜스포머를 루프드 형태로 변환)를 준비합니다.
- 게이트 추가 및 점진적 전환: 모델의 각 레이어에 게이팅 메커니즘을 추가하고, 학습 초기에는 게이트 값을 0에 가깝게 고정하여 안정성을 확보한 뒤 점진적으로 학습시킵니다.
- 어텐션 증류 적용: 고성능 '교사' 모델을 사용하여 MELT 모델의 어텐션 패턴을 정렬시키는 증류 단계를 추가하여 성능 손실을 최소화합니다.
- 메모리 프로파일링: 실제 추론 환경에서 메모리 사용량을 지속적으로 모니터링하며 캐시 크기 등 하이퍼파라미터를 최적화합니다.
9. 결론
MELT는 루프드 트랜스포머의 메모리 문제를 해결하는 독창적이고 실용적인 접근법을 제시합니다. 고정 크기의 공유 KV 캐시와 지능적인 게이팅 메커니즘을 통해, 모델의 파라미터나 계산량을 희생하지 않으면서도 메모리 효율성을 극대화했습니다. 이는 단순히 학술적 성과를 넘어, 제한된 메모리를 가진 소비자용 GPU나 모바일 기기에서도 긴 컨텍스트를 처리하는 강력한 LLM을 구동할 수 있는 중요한 가능성을 열어줍니다.

![[논문 리뷰] Memory-Efficient Looped Transformer: Decoupling Compute from Memory in Looped Language Models](/assets/images/blog/20260515-paper-2605-07721-memory-efficient-looped-transf.jpg)