ReleasedActive development
Developed byCommunity (Jacobs et al. 1991, Shazeer et al. 2017, Mistral, DeepSeek 등)
TypeTechnique
AliasesMoE, Mixture of Experts, 전문가 혼합 모델
RelatedGPT-5.5

무엇인가

전문가 혼합(Mixture-of-Experts, MoE)은 거대 신경망을 여러 개의 작은 "전문가" 네트워크로 나눠 두고, 입력이 들어올 때마다 그중 일부만 활성화해 사용하는 구조다. 마치 종합병원에서 모든 의사가 한 환자를 동시에 진료하지 않고, 증상에 맞는 전문의에게 안내되는 것과 비슷하다.

왜 이렇게 만들까

언어 모델은 보통 파라미터가 많을수록 더 똑똑해지지만, 그만큼 추론할 때 쓰는 계산량도 비례해서 늘어난다. MoE는 이 방정식을 깨려는 시도다. 전체 파라미터는 수천억 개로 거대하게 두되, 한 번 토큰을 처리할 때는 그중 일부 전문가만 깨우는 식이다.

예를 들어 총 4800억 파라미터짜리 모델이라도 토큰당 320억 개만 실제로 계산에 쓴다면, 학습·서빙 비용은 320억 짜리 모델 수준에 머문다. 그러면서도 모델이 외워둔 "지식 저장 용량"은 4800억 짜리에 가까운 효과를 노린다.

어떻게 동작하나

핵심은 라우터(router) 라는 작은 네트워크다. 토큰이 들어오면 라우터가 "이건 코드 잘 아는 전문가에게, 저건 수학 전문가에게" 식으로 점수를 매겨, 보통 상위 1-2명의 전문가에게만 일을 넘긴다. 나머지 전문가는 그 토큰에 대해 아예 계산을 하지 않는다.

이때 전문가들이 골고루 일하도록 균형을 맞추는 게 까다롭다. 한두 명에게 일이 몰리면 나머지는 학습이 잘 안 되고, GPU 자원도 낭비된다. 그래서 학습할 때 "load balancing loss"라는 보조 손실을 더해 라우터가 일을 분산하게 강제한다.

어디에 쓰이고 있나

2024년 이후 공개된 거의 모든 프런티어 모델이 MoE를 채택했다고 봐도 과장이 아니다. Mixtral, DeepSeek-V3, Qwen3-Coder 같은 오픈 모델은 물론, [[gpt-5-5]] 같은 비공개 프런티어 모델들도 대부분 MoE 기반으로 추정된다. 모델이 점점 커지는 시대에 "큰 용량을 싸게 굴리는" 사실상 표준 답안이 됐다.

한계

좋은 점만 있는 건 아니다. GPU 메모리에는 모든 전문가를 다 올려둬야 해서 VRAM 요구량은 총 파라미터 기준으로 크다. 또 라우터의 결정이 토큰마다 달라지기 때문에 GPU 간 통신 패턴이 불규칙해 분산 학습·서빙이 dense 모델보다 까다롭다. "큰데 싸다"는 매력 뒤에는 인프라 엔지니어링의 부담이 따라붙는다.

핵심 용어

  • Total params: 모델 가중치 파일 전체 크기. 메모리에 올려야 할 양.
  • Active params (per token): 토큰 하나 처리할 때 실제로 곱셈에 참여하는 파라미터 수. FLOPs와 throughput을 결정한다.
  • Top-k routing: 라우터가 토큰당 상위 k개 전문가를 골라 활성화. 보통 k=1 (Switch Transformer) 또는 k=2 (Mixtral).
  • Expert parallelism (EP): 여러 GPU/노드에 전문가를 나눠 두는 병렬화. all-to-all 통신이 필수.

비용 모델 직관

학습·추론 FLOPs는 active params에 비례한다. 480B total / 32B active 모델은 대략 다음과 같이 움직인다.

  • 학습 compute: 32B dense 모델 수준
  • 추론 latency: 32B dense 모델 수준 (전문가 통신 오버헤드 제외)
  • VRAM: 480B dense 모델 수준 (전체를 다 올려야 함)
  • 지식 용량과 quality: 32B보다 훨씬 위, 480B에는 못 미침

따라서 "GPU 메모리는 충분한데 throughput·latency는 짜내고 싶다"는 환경 — 클라우드 추론, 멀티테넌트 서빙 — 에 잘 맞는다. 반대로 메모리가 모자란 환경에서는 dense 모델이 더 합리적이다.

서빙 시 주의점

  • Hot expert 문제: 실 트래픽에서 라우터가 특정 전문가에 쏠리면 해당 GPU만 병목이 된다. capacity factor 튜닝이나 expert replication으로 완충한다.
  • Batch composition: 한 배치 안에 비슷한 토큰이 몰리면 expert 활용도가 떨어진다. 배치 셔플링·request mixing으로 분산.
  • KV 캐시 vs expert weights: 긴 컨텍스트와 MoE의 조합은 메모리 압박을 두 방향에서 동시에 받는다. context length, tensor parallel, expert parallel 사이즈를 함께 튜닝해야 한다.

어떤 모델이 MoE인가

오픈 모델 기준 Mixtral 8x7B / 8x22B (Mistral), DeepSeek-V2 / V3, Qwen3-MoE 계열, Grok-1 등이 대표적이다. 비공개 모델은 공식 발표가 없으면 추정만 가능하다. [[api]]를 쓰는 입장에서는 호출 시 가격표(prompt/completion token 단가)와 latency만 보면 충분하고, MoE 여부 자체는 가격에 이미 반영돼 있다.

언제 안 쓰나

  • 엣지·온디바이스 추론: VRAM 압박이 크고 라우팅 오버헤드가 부담.
  • 매우 작은 모델 (< 7B 급): expert를 나눠도 얻는 capacity 이득이 라우팅 비용을 못 넘는다.
  • Latency-critical 단일 요청: 분산 expert all-to-all 통신이 dense 모델보다 느릴 수 있다.

dense와 MoE는 경쟁 관계가 아니라 다른 운영 환경에 맞는 도구로 보는 게 정확하다.

기원과 발전

MoE의 개념은 Jacobs et al. (1991) "Adaptive Mixtures of Local Experts"까지 거슬러 올라가지만, 현대적인 sparsely-gated 형태는 Shazeer et al. (2017) "Outrageously Large Neural Networks"가 LSTM 위에 top-k gating을 얹으면서 부활했다1. Transformer 시대로 옮겨오면서 Lepikhin et al. (2020) "GShard"가 expert parallelism을 정식화하고, Fedus et al. (2021) "Switch Transformer"가 top-1 routing으로 단순화하며 1.6T 파라미터까지 확장 가능함을 보였다2. 2024-2025년에는 Mixtral, DeepSeek-V2/V3, Qwen3-MoE 등이 오픈 가중치로 공개되면서 MoE는 사실상 프런티어 표준 아키텍처가 됐다.

라우팅 메커니즘

가장 보편적인 형태는 token-choice top-k routing이다. 토큰 임베딩 $x$ 에 대해 라우터 $W_r$ 가 점수 $s = \mathrm{softmax}(W_r x)$ 를 뽑고, 상위 $k$ 개 전문가 $E_{i_1}, \dots, E_{i_k}$ 의 출력을 게이트 점수로 가중합한다:

$$y = \sum_{j=1}^{k} s_{i_j} \cdot E_{i_j}(x)$$

대안으로 expert-choice routing (Zhou et al. 2022)은 각 전문가가 자기 capacity 안에서 받을 토큰을 거꾸로 고르는 방식으로 load balancing을 routing 자체에 내장한다. 최근에는 fine-grained / shared expert (DeepSeekMoE)처럼 작은 expert를 더 많이 두고 일부를 shared로 둬 dense 잔여를 흡수하는 변종이 우세하다3.

Load Balancing

Naive top-k는 collapse — 소수 전문가에 트래픽이 몰리는 현상 — 으로 빠지기 쉽다. Switch Transformer는 보조 손실 $L_{\text{aux}} = \alpha \cdot N \sum_i f_i \cdot P_i$ 를 도입한다 ($f_i$: 전문가 $i$ 가 받은 토큰 비율, $P_i$: 라우터의 평균 게이트 확률). DeepSeek-V3는 보조 손실 없이 routing bias term을 점진적으로 조정해 collapse를 막는 "auxiliary-loss-free" 방식을 제안했다.

Capacity와 Scaling

MoE의 핵심 주장은 "capacity를 FLOPs와 디커플링한다"는 것이다. Clark et al. (2022) "Unified Scaling Laws for Routed Language Models"는 active params 대비 quality 곡선이 dense보다 위에 있되 total params를 키워도 quality 이득이 점차 saturate함을 보였다. 즉 sparsity ratio (total / active)에는 sweet spot이 있고, 무한히 키운다고 dense 8x보다 좋아지지 않는다. 실무적으로 1:8 ~ 1:32 비율이 자주 쓰인다.

한계와 열린 문제

  1. Memory ≠ FLOPs trade-off의 비대칭성: 학습 compute는 줄지만 VRAM은 그대로다. on-device 시나리오에는 부적합하다.
  2. Communication overhead: all-to-all 패턴은 대역폭에 매우 민감해서 네트워크 토폴로지가 곧 throughput을 결정한다. NVLink-bound 환경과 InfiniBand-bound 환경에서 성격이 전혀 다르게 바뀐다.
  3. Quantization 호환성: 라우터 결정은 sharp cutoff를 만들어 양자화 노이즈에 민감하다. expert 가중치 4-bit 양자화 시 라우터는 별도로 다뤄야 한다.
  4. Specialization 해석: expert가 실제로 의미적으로 특화되는지(예: "코드 전문가", "수학 전문가")는 논쟁적이다. 다수 분석은 expert 특화가 토큰 빈도·길이 같은 표층 통계를 따르는 경향이 있다고 보고한다.
  5. RL 단계 영향: [[reinforcement-learning-from-verifiable-rewards]] 같은 post-training이 routing 분포를 왜곡할 수 있어, base model의 load balance가 SFT/RL 후에는 보장되지 않는다. 이는 평가 시점과 학습 시점의 expert utilization 통계가 갈리는 원인이 된다.
  6. Shazeer et al. (2017), "Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer", ICLR 2017. 현대 sparse MoE의 출발점.
  7. Fedus, Zoph, Shazeer (2021), "Switch Transformer: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity". top-1 routing 단순화.
  8. Dai et al. (2024), "DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models". fine-grained + shared expert 구조.

이 용어를 언급한 기사