용어집
GEO·AI 검색

Mixture of Experts

Mixture of Experts(MoE)는 여러 개의 전문가(expert) 서브네트워크를 두고, 라우터(router)가 입력 토큰마다 그중 일부만 활성화해 처리하는 신경망 구조입니다. 전체 파라미터 수는 크게 늘리면서도 토큰당 실제 연산량은 일부 전문가에만 들도록 해, 효율적으로 대형 모델을 구성하는 방식입니다.

  • MoE는 하나의 거대한 신경망 대신 여러 전문가(expert) 서브네트워크를 두고, 라우터가 토큰마다 일부 전문가만 골라 활성화하는 희소(sparse) 구조입니다.
  • 전체 파라미터는 많지만 토큰당 연산은 선택된 소수 전문가에만 들기 때문에, 같은 연산 비용으로 훨씬 큰 모델 용량을 확보할 수 있습니다.
  • 핵심은 라우터의 top-k 라우팅과 전문가 간 부하 균형(load balancing)이며, 한쪽 전문가로 토큰이 몰리지 않도록 보조 손실(auxiliary loss)을 함께 학습합니다.
  • Mixtral 8x7B는 전문가 8개 중 토큰마다 2개만 쓰며, 총 46.7B 파라미터지만 토큰당 12.9B만 활성화해 Llama 2 70B 대비 약 6배 빠른 추론을 보였습니다.
  • 대형 언어모델 시대에 모델 용량과 연산 비용을 분리하는 핵심 기법으로, GPT·Mixtral·Switch Transformer 등 여러 프런티어 모델 설계에 쓰입니다.

Mixture of Experts란 무엇인가

Mixture of Experts(MoE)는 모델을 하나의 통짜 신경망으로 두는 대신, 여러 개의 전문가(expert) 서브네트워크와 이들을 선택하는 라우터(router, 게이팅 네트워크)로 구성하는 구조입니다. 입력이 들어오면 라우터가 토큰마다 어떤 전문가에게 보낼지 결정하고, 선택된 일부 전문가만 연산에 참여합니다. 모든 파라미터를 매번 켜는 밀집(dense) 모델과 달리, 토큰당 일부 전문가만 켜지는 희소 활성화(sparse activation)가 MoE의 핵심입니다.

이 구조의 장점은 모델 용량과 연산 비용을 분리할 수 있다는 점입니다. 전체 파라미터 수는 전문가를 늘리는 만큼 크게 키우면서도, 토큰 하나를 처리할 때 드는 실제 연산은 선택된 소수 전문가에만 한정됩니다. 트랜스포머 기반 LLM에서는 보통 각 층의 피드포워드(FFN) 블록을 여러 전문가 FFN으로 교체하는 형태로 적용됩니다.

작동 방식

작동의 중심에는 라우터가 있습니다. 라우터는 입력 토큰 벡터 x에 대해 게이팅 가중치 행렬 Wg를 곱한 뒤 소프트맥스를 적용해 각 전문가에 대한 점수를 만들고, 그중 점수가 높은 상위 k개 전문가만 선택합니다. 이를 top-k 라우팅이라고 합니다. Switch Transformer는 k=1(전문가 1개만 선택), Mixtral은 k=2(전문가 2개 선택)를 사용합니다. 선택되지 않은 전문가는 해당 토큰에 대해 순전파를 수행하지 않으므로 연산이 절약됩니다.

# 개념적 라우팅 (top-k)
gates = softmax(x @ W_g)        # 각 전문가에 대한 점수
top = topk(gates, k)           # 상위 k개 전문가 선택 (예: k=2)
y = sum( gates[i] * expert_i(x) for i in top )  # 선택된 전문가만 연산

희소 라우팅에는 한 가지 문제가 따라옵니다. 학습이 진행되면 일부 인기 전문가에게만 토큰이 몰리고 나머지 전문가는 거의 쓰이지 않는 쏠림이 생길 수 있습니다. 이를 막기 위해 MoE는 전문가들이 고르게 쓰이도록 유도하는 부하 균형(load balancing) 보조 손실을 추가합니다. Hugging Face의 MoE 해설에 따르면 "모든 전문가에 동일한 중요도를 부여하도록 보조 손실을 더한다"고 설명하며, 라우터로 들어가는 큰 로짓을 억제하는 router z-loss 같은 기법으로 학습 안정성을 높입니다.

밀집(Dense) 모델과의 비교

구분밀집(Dense) 모델MoE(희소) 모델
활성화 범위모든 파라미터가 매 토큰에 사용토큰당 선택된 일부 전문가만 사용
파라미터 대비 연산파라미터가 커지면 연산도 비례 증가총 파라미터는 크지만 토큰당 연산은 일정 수준 유지
사전학습 속도기준같은 품질에 더 빠르게 도달(Switch Transformer 기준 약 7배)
메모리(VRAM)활성 파라미터만 적재실제로 쓰지 않는 전문가까지 모두 메모리에 적재 필요
파인튜닝상대적으로 안정적과적합에 더 취약, 별도 하이퍼파라미터 필요

의의와 근거

MoE 개념 자체는 1991년 Jacobs 등의 "Adaptive Mixture of Local Experts"로 거슬러 올라가지만, 현대 대형 신경망에 본격 적용된 전환점은 2017년 Shazeer 등의 논문 "Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer"(arXiv:1701.06538)입니다. 이 논문은 수천 개의 전문가로 구성된 희소 게이팅 MoE 층을 제안하며, 연산 효율의 큰 손실 없이 모델 용량을 1000배 이상 키울 수 있음을 보였습니다.

이후 Google의 Switch Transformer(Fedus 등, arXiv:2101.03961)는 top-k를 가장 단순한 k=1로 바꿔 라우팅 연산과 통신 비용을 줄이면서 품질을 유지했고, 최대 1.571조(trillion) 파라미터 규모의 Switch-C 모델을 학습했습니다. 같은 연산 예산에서 밀집 T5-XXL 대비 약 7배의 사전학습 속도 향상을 보고했습니다.

실제 공개 LLM에서 MoE의 효과를 잘 보여준 사례가 Mistral AI의 Mixtral 8x7B(arXiv:2401.04088)입니다. 각 층이 전문가 8개로 구성되고 토큰마다 라우터가 2개를 선택하며, 총 파라미터는 46.7B지만 토큰당 활성화되는 파라미터는 12.9B에 그칩니다. Mistral 공식 발표에 따르면 Mixtral은 32k 토큰 컨텍스트를 처리하고, 대부분의 벤치마크에서 Llama 2 70B를 "6배 빠른 추론"으로 능가하며 GPT-3.5와도 대등하거나 더 나은 성능을 보였습니다. 즉, 12.9B 밀집 모델 수준의 속도와 비용으로 훨씬 큰 모델의 품질을 얻은 셈입니다.

다만 트레이드오프도 분명합니다. 추론 시 실제로 쓰지 않는 전문가까지 모두 메모리에 올려야 해 VRAM 부담이 크고, 파인튜닝에서는 밀집 모델보다 과적합에 취약합니다. Hugging Face MoE 해설은 "같은 사전학습 perplexity에서도 희소 모델이 추론 중심 다운스트림 과제에서는 밀집 모델보다 떨어질 수 있다"고 지적하며, 동시에 인스트럭션 튜닝에서는 MoE가 밀집 모델보다 더 큰 개선을 얻는다는 점도 함께 언급합니다.

참고·출처

Mixture of Experts란? | Search OS