Documents
Home>Documents>AI>Inference

Mixture of Experts vs Mixture of Tokens: 두 희소성 전략의 차이와 추론 비용

10 min readAug 28, 2026Aug 28, 2026

Dense 모델은 단순하다. 토큰이 하나 들어오면 모든 파라미터가 깨어나 계산에 참여한다. Llama 3 70B를 single request로 돌리면 70B 파라미터가 전부 메모리에 올라가야 하고, 매 토큰마다 그 전체가 활성화된다. 모델이 커질수록 추론 비용이 그대로 따라 오른다.

희소 활성화(sparse activation)는 이 구조를 깨려는 시도다. 파라미터를 다 올려놓되, 실제로 계산에 쓰는 건 그 일부만. 이 아이디어를 구체화한 두 방향이 MoE(Mixture of Experts)와 MoT(Mixture of Tokens)다. 이름이 비슷하고 둘 다 희소 활성화 LLM으로 분류되지만, 희소성을 적용하는 단위가 전혀 다르다. 그리고 그 단위 차이가 추론 시점의 병목을 완전히 다른 방향으로 만든다.

MoE — expert routing의 이론과 현실

Mixtral 8x7B(Mistral AI, 2024)가 MoE를 메인스트림으로 올려놨다. FFN 레이어를 8개 expert로 교체하고, 각 토큰마다 router가 top-2를 골라 출력을 가중합하는 구조다. 전체 46.7B 파라미터 중 활성화되는 건 12.9B. 토큰 하나를 처리하는 FLOP은 dense 13B 모델과 비슷하다.

이론상 FLOP이 줄면 latency도 줄어야 한다. 실제로는 두 가지 문제가 끼어든다.

첫 번째가 load imbalance다. Router는 학습 과정에서 특정 expert를 선호하는 방향으로 수렴하는 경향이 있다. 배치 내 어떤 expert는 토큰의 30%를 받고 어떤 expert는 5%만 받는다. Expert capacity를 초과한 토큰은 드롭되거나 다른 expert로 넘긴다. Switch Transformer(Fedus et al., 2021)는 이 문제를 auxiliary loss로 완화했다. 배치 내 각 expert의 토큰 비율 f_i와 router probability P_i의 내적 합 ∑(f_i × P_i)를 손실 항으로 추가해 균등 분포를 유도하는 방식이다. 그래도 inference 시점에는 auxiliary loss 없이 router가 자유롭게 동작하므로 불균형이 다시 나타난다.

두 번째가 all-to-all 통신이다. Expert 수가 많아지면 single GPU에 다 올릴 수 없어 여러 GPU에 expert를 분산한다. 이 expert parallelism 구조에서는 토큰을 담당 expert GPU로 보내고 결과를 다시 받아오는 all-to-all 통신이 필수다. 실측 데이터에 따르면 동기식 expert parallelism에서 all-to-all 통신이 전체 추론 시간의 최대 79.2%를 차지한다. 배치 크기가 커질수록 이 비율이 높아진다. FLOP을 절반으로 줄여도 통신 overhead 때문에 latency가 그에 비례해 줄지는 않는다.

DeepSeek-V3 기술 보고서는 이 문제를 두 방향에서 공략한다. 671B 전체, 37B 활성, 256개 expert 중 top-8이라는 극단적인 구성을 쓰면서도, 토큰당 최대 4개 노드로 라우팅 범위를 제한해 all-to-all 통신 범위를 묶었다. Load balancing은 auxiliary loss 대신 expert마다 학습 가능한 bias를 라우팅 스코어에 더하는 방식으로 대체했다. H800 기준 prefill 9,213 tokens/s, decode 1,850 tokens/s다.

MoT — 라우팅 없이 토큰을 섞으면

Mixture of Tokens(NeurIPS 2024)는 아이디어 자체가 다르다. 각 토큰이 expert를 선택하는 대신, 각 expert가 배치 내 토큰들의 가중합을 입력으로 받는다. Controller(FC 레이어)가 연속적인 가중치로 각 expert에 어느 토큰을 얼마나 섞을지 결정한다. 특정 토큰이 특정 expert에 "배정"되는 개념 자체가 없다.

이 구조에서 routing은 discrete하지 않다. 모든 expert가 모든 토큰을 보되 가중치가 다를 뿐이다. 모든 expert가 항상 동일한 수의 혼합 입력을 처리하므로 load imbalance가 구조적으로 발생하지 않는다. 라우팅 결정이 미분 가능해 auxiliary loss 없이 end-to-end 학습이 되고, 학습 안정성은 vanilla Transformer와 동등하다.

MoE와의 계산 그래프 차이를 한 줄로: MoE는 "토큰 → expert" 배정이 sparse하고, MoT는 "expert → 토큰 혼합" 가중치가 dense하다. MoE에서는 어떤 토큰이 특정 expert에 들어가지 못하고 드롭되는 일이 생기지만, MoT에서는 어떤 토큰도 드롭되지 않고 어떤 expert도 비어 있지 않다.

NeurIPS 2024 논문의 보고 수치는 vanilla Transformer와 동등한 loss에 wall-clock 기준 33% 시간, FLOP 기준 25% 시점에서 도달한다는 것이다. 3배 wall-clock 속도 향상, 4배 FLOP 감소.

추론 비용 비교

항목MoEMoT
희소성 단위Expert 선택 (discrete)토큰 혼합 가중치 (continuous)
Load imbalance구조적으로 발생구조적으로 없음
분산 추론 통신All-to-all (최대 79% latency)해당 없음
KV 캐시 구조표준 attention과 동일표준 attention과 동일
Auxiliary loss필요 (또는 learnable bias)불필요
프레임워크 지원vLLM/SGLang 공식 지원없음
실배포 모델Mixtral, DeepSeek-V3 등 다수없음

KV 캐시는 두 아키텍처 모두 attention 구조를 건드리지 않으므로 차이가 없다. paged attention, prefix caching 같은 최적화는 양쪽 다 그대로 적용된다. 서빙 스택 관점에서 두 방식의 차이가 나타나는 건 FFN 레이어 처리 부분에서만이다.

실배포 판단

지금 당장 서빙하기 쉬운 쪽은 MoE다. vLLM은 expert parallelism을 공식 지원하고, NCCL EP와 DeepEP 같은 all-to-all backend를 플러그인 방식으로 바꿀 수 있다. Mixtral 8x7B, DeepSeek-V2/V3, Qwen MoE 계열 등 프로덕션 검증이 된 모델이 이미 다수 존재한다.

MoT는 다르다. NeurIPS 2024 논문 기준으로 프로덕션 배포를 지원하는 서빙 프레임워크가 없다. Cross-example aggregation 방식은 배치를 구성하는 방식 자체를 바꿔야 하고, 이는 기존 prefill/decode 분리 구조와 맞지 않는다. 실배포 사례도 없다.

MoE를 선택하더라도 load imbalance 튜닝을 빼먹으면 GPU 활용률이 예상보다 크게 낮아진다. Expert 불균형이 심하면 한 GPU가 나머지를 기다리는 동안 idle 상태로 있게 된다. DeepSeek-V3처럼 learnable bias 방식을 도입하거나, inference 시점에 별도 routing constraint를 추가하지 않으면 이론 throughput과 실측 throughput 사이에 큰 괴리가 생긴다.

MoT가 이 문제를 구조적으로 우회한다는 건 사실이지만, cross-example 혼합이 실제 대규모 autoregressive 생성과 어떻게 맞물리는지, 서빙 스택에 어떻게 통합되는지는 아직 열린 질문이다.

Tags
LLMInference아키텍처서빙GPUKV 캐시