같은 파라미터 수인데 MoE 모델이 더 빠른 이유

Mixtral 8x7B를 처음 접했을 때 많은 사람들이 혼란을 겪는다. “총 47B 파라미터짜리 모델인데 왜 13B 모델 속도로 돌아간다는 거지?” 숫자가 안 맞는 것 같지만, 이게 바로 Mixture of Experts(MoE, 혼합 전문가 방식) 아키텍처의 핵심이다.

Dense 모델이 작동하는 방식

일반적인 트랜스포머 기반 언어 모델, 이른바 Dense 모델은 토큰 하나가 들어올 때마다 모든 레이어의 모든 파라미터가 관여한다. Llama 3 70B를 예로 들면, 단어 하나를 처리할 때 70B개의 파라미터 전부가 연산에 동원된다. 파라미터가 많을수록 모델이 더 풍부한 표현을 학습할 수 있지만, 그만큼 매 토큰마다 연산 부하도 비례해서 늘어난다.

여기서 자연스럽게 드는 의문이 있다. 모든 입력에 동일한 연산 경로를 강제해야 할 이유가 있을까? “파리의 에펠탑”을 처리하는 것과 “미적분 미분 공식”을 처리하는 데 완전히 동일한 뉴런 집합이 필요한가?

MoE가 다르게 접근하는 방법

MoE 아키텍처는 이 문제를 다르게 푼다. 피드포워드 레이어(FFN)를 여러 개의 독립적인 “전문가(expert)” 네트워크로 쪼갠 뒤, 토큰마다 그 중 일부만 선택적으로 활성화하는 방식이다. 어떤 전문가를 쓸지는 게이팅 네트워크(gating network) 또는 라우터(router)가 결정한다. 라우터는 입력 토큰을 분석해서 “이 토큰은 전문가 2번과 5번에게 맡기는 게 낫겠다”고 판단하고 신호를 보낸다.

Mixtral 8x7B의 구조가 그 예다. 이름에서 알 수 있듯 8개의 전문가 레이어가 있고, 각 전문가는 약 7B 파라미터 규모다. 합산하면 총 47B 파라미터지만, 실제 토큰 하나를 처리할 때는 8개 전문가 중 2개만 활성화된다. 결과적으로 한 번의 추론 패스에서 실제로 연산하는 파라미터는 약 13B 수준이다.

이것이 “희소 활성화(sparse activation)”다. 전체 모델 용량은 크지만, 실제 연산은 Dense 13B 모델과 비슷한 양만 수행한다.

왜 속도가 빨라지는가 — Arithmetic Intensity

속도 차이를 이해하려면 Arithmetic Intensity(연산 집약도)라는 개념을 알아야 한다. 이는 메모리에서 데이터를 1바이트 가져올 때 그 데이터로 몇 번의 부동소수점 연산을 수행하는지를 나타내는 비율이다.

언어 모델 추론, 특히 단일 토큰을 생성하는 오토리그레시브 디코딩(autoregressive decoding) 단계는 Arithmetic Intensity가 낮다. 대량의 파라미터를 메모리에서 읽어 와야 하는데 그에 비해 실제 연산량은 적기 때문이다. 이 상황에서 병목은 GPU의 연산 성능이 아니라 메모리 대역폭이다.

MoE 모델은 이 병목을 정면으로 완화한다. 전체 파라미터가 47B라도 실제 연산에 관여하는 파라미터가 13B밖에 안 된다면, 메모리에서 읽어와야 하는 가중치 데이터 양도 그만큼 줄어든다. 읽어오는 데이터가 줄면 메모리 대역폭 병목이 완화되고, 그 결과 토큰 생성 속도가 높아진다.

바꿔 말하면, MoE의 속도 이점은 “연산 자체를 건너뛰어서” 빠른 것이 아니라, “활성화 파라미터 수를 줄여 메모리 접근을 줄이기 때문에” 빠른 것이다.

희소 활성화와 AI 신경망 구조

이미지 출처: Unsplash

그렇다면 메모리는?

여기서 중요한 함정이 있다. 활성화 파라미터가 13B라고 해서 모델 전체를 13B 분량만큼의 메모리에 올릴 수 있는 게 아니다. 라우터가 어떤 전문가를 선택할지는 실시간으로 결정되기 때문에, 추론 시점에 어떤 전문가가 호출될지 미리 알 수 없다. 따라서 전체 전문가 레이어, 즉 47B 전부를 메모리에 상주시켜야 한다.

결국 MoE 모델의 메모리 요구량은 Dense 모델과 크게 다르지 않다. Mixtral 8x7B를 4비트 양자화(quantization)해도 VRAM(그래픽 메모리) 또는 통합 메모리(unified memory) 기준으로 24~26GB 이상이 필요하다. 같은 “품질 대비” 비교에서는 효율적이지만, 절대적인 메모리 점유는 그대로다.

이 특성은 실제 배포 환경에서 명확한 트레이드오프를 만든다. DeepSeek-V2가 236B 파라미터에 활성화는 21B만 하고, DeepSeek-V3가 671B에 37B만 활성화하는 구조인 것도 같은 원리다. 클라우드 서빙 환경에서는 이 트레이드오프가 꽤 유리하게 작동한다. 동일 메모리 자원으로 더 큰 모델 품질을 더 빠른 속도로 제공할 수 있기 때문이다. 반면 로컬 환경에서는 전체 47B 또는 671B를 통째로 메모리에 올려야 한다는 현실이 진입 장벽이 된다.

실무에서 MoE를 마주치는 순간들

MoE 아키텍처는 이미 여러 주요 모델에 채택되어 있다. Mixtral 8x7B와 8x22B는 가장 먼저 대중에게 알려진 오픈소스 MoE 모델이고, Qwen 계열도 MoE 변형 버전이 있다. 흥미롭게도 GPT-4나 Gemini 1.5 계열이 MoE 기반이라는 소문이 업계에 꾸준히 돌았다. 공식 확인은 없지만 성능과 속도의 균형을 감안하면 충분히 가능성 있는 추측이다.

로컬에서 MoE 모델을 쓸 때 체감할 수 있는 차이는 생각보다 뚜렷하다. 같은 M2 Max 맥북에서 Mistral 7B와 Mixtral 8x7B를 돌려 보면, 메모리 점유는 훨씬 크지만 토큰 생성 속도는 기대보다 빠르다. 이 경험이 MoE 구조의 트레이드오프를 직관적으로 이해하는 가장 좋은 방법이다.

앞으로 모델 크기를 보는 방식이 달라질 것이다. “총 파라미터”는 메모리 요구량의 척도이고, “활성화 파라미터”는 속도의 척도다. 이 두 숫자를 구분해서 읽는 습관이 생기면, 모델 스펙시트를 볼 때 훨씬 정확한 예측이 가능해진다. MoE 아키텍처가 확산될수록 이 구분은 더 자주 필요해질 것이다.


출처

댓글 남기기