본문 바로가기
AI 생성 글 정리/modeling

The Sparsely-Gated Mixture-of-Experts Layer 논문 정리

by Honbul 2026. 4. 21.

한 줄 요약

이 논문은 모든 파라미터를 매번 실행하지 않고도 거대한 신경망을 학습하는 방법을 제시한다.

핵심은 Sparsely-Gated Mixture-of-Experts Layer다.

입력마다 필요한 전문가 네트워크 일부만 선택한다.
나머지 전문가는 건너뛴다.

그 결과, 계산량은 크게 늘리지 않으면서 모델 용량을 수십억~수천억 파라미터까지 확장했다.


왜 이 논문이 중요한가

딥러닝 성능은 보통 세 가지와 함께 좋아진다.

  • 더 큰 데이터
  • 더 큰 모델
  • 더 많은 계산량

문제는 세 번째다.

일반적인 신경망은 입력 하나를 처리할 때 모델 전체를 실행한다.
모델을 키우면 계산 비용도 같이 커진다.

이 논문은 다른 방향을 택한다.

모델은 크게 만든다.
하지만 입력마다 그중 작은 부분만 실행한다.

이 접근을 논문에서는 조건부 계산으로 설명한다.


핵심 아이디어: 많은 전문가 중 일부만 호출하기

MoE 레이어는 두 부분으로 구성된다.

  • 전문가 네트워크: 각각 독립된 작은 피드포워드 신경망
  • 게이팅 네트워크: 현재 입력에 맞는 전문가를 고르는 라우터

입력이 들어오면 게이팅 네트워크가 전문가들을 점수화한다.
그중 일부만 선택한다.
선택된 전문가의 출력만 섞어서 다음 레이어로 보낸다.

선택되지 않은 전문가는 계산하지 않는다.

 

 

Crop point: 입력이 게이트를 지나 일부 전문가에게만 분배되는 경로가 “큰 모델이지만 일부만 실행한다”는 설계를 보여준다.

이 구조의 장점은 명확하다.

 

모델 안에는 수천 개 전문가를 둘 수 있다.
하지만 실제 입력 하나가 사용하는 전문가는 몇 개뿐이다.

즉, 모델 용량실제 계산량을 분리한다.


수식 없이 이해하는 동작 방식

MoE는 다음 흐름으로 작동한다.

  1. 입력을 게이팅 네트워크에 넣는다.
  2. 게이트가 전문가별 점수를 만든다.
  3. 점수가 높은 일부 전문가만 남긴다.
  4. 남은 전문가들이 입력을 처리한다.
  5. 전문가 출력에 게이트 가중치를 반영해 합친다.

직관은 단순하다.

모든 문제를 한 명의 거대 전문가가 풀게 하지 않는다.
문제 성격에 맞는 몇 명의 전문가에게만 맡긴다.

이때 게이트도 함께 학습된다.
어떤 입력을 어느 전문가에게 보낼지 사람이 정하지 않는다.

모델이 학습 중에 스스로 라우팅 방식을 찾는다.


게이트가 무너지지 않게 만드는 방법

단순히 게이트를 학습시키면 문제가 생긴다.

게이트가 일부 전문가만 계속 고를 수 있다.
그러면 그 전문가만 빠르게 학습된다.
다른 전문가는 거의 쓰이지 않는다.

이 논문은 이를 전문가 쏠림 문제로 본다.

해결책은 두 가지다.

  • 전문가별 중요도가 비슷해지도록 보조 손실을 추가한다.
  • 전문가별 실제 처리량도 비슷해지도록 별도 보조 손실을 둔다.

핵심은 품질만 보는 것이 아니다.

분산 학습에서는 특정 전문가에 입력이 몰리면 메모리와 속도가 무너진다.
따라서 정확도와 부하 균형을 동시에 맞춰야 한다.


성능 병목: 이론보다 어려운 부분

조건부 계산은 오래된 아이디어다.
하지만 이 논문 이전에는 대규모 효과를 안정적으로 보이기 어려웠다.

이유는 실용적인 병목 때문이다.

  • GPU는 작은 분기보다 큰 행렬 연산을 잘한다.
  • 전문가가 많아지면 전문가별 배치가 작아진다.
  • 분산 환경에서는 네트워크 통신이 병목이 된다.
  • 게이트가 특정 전문가에게 쏠리면 학습이 불안정해진다.
  • 거대한 모델은 거대한 데이터가 있어야 제대로 학습된다.

논문은 이 문제들을 엔지니어링 관점에서 다룬다.

가장 중요한 전략은 세 가지다.

  • 여러 GPU의 배치를 MoE 레이어 앞에서 합친다.
  • 전문가는 여러 장치에 나눠 저장한다.
  • 입력과 출력보다 전문가 내부 계산이 충분히 크도록 설계한다.

이렇게 해야 sparse 구조가 실제 속도 이득으로 이어진다.


실험 1: 1 Billion Word 언어 모델링

첫 번째 주요 실험은 1 Billion Word Benchmark다.

목표는 명확하다.

계산량을 거의 고정한 상태에서 모델 용량만 늘리면 품질이 좋아지는가?

논문은 MoE 전문가 수를 늘리며 비교했다.
각 전문가는 약 백만 개 파라미터를 가진다.
입력 하나는 그중 일부만 사용한다.

 

결과는 뚜렷하다.

계산 예산이 비슷해도 전문가 수가 늘수록 perplexity가 낮아졌다.
perplexity는 언어 모델이 다음 단어를 얼마나 헷갈리는지 나타내며, 낮을수록 좋다.

 

 

Crop point: 왼쪽 그래프의 하강 구간은 계산량을 거의 고정해도 용량 증가만으로 perplexity가 낮아지는 지점을 보여준다.

주요 결과는 다음과 같다.

모델 모델 용량 계산 예산 테스트 perplexity
기존 최고 공개 모델 151M 151M ops/timestep 34.7
Low-Budget MoE 4.3B 8.9M ops/timestep 34.1
Medium-Budget MoE 4.3B 33.8M ops/timestep 31.3
High-Budget MoE 4.4B 142.7M ops/timestep 28.0

 

해석은 간단하다.

Low-Budget MoE는 기존 최고 공개 모델보다 훨씬 적은 계산으로 비슷하거나 더 나은 성능을 냈다.
High-Budget MoE는 비슷한 계산 예산에서 더 낮은 perplexity를 기록했다.

MoE가 단순히 파라미터 수만 늘린 장식이 아니라는 뜻이다.


실험 2: 100 Billion Word 대규모 언어 모델링

1B 단어 데이터에서는 용량 증가 효과가 어느 순간 줄어든다.

논문은 더 큰 데이터에서 다시 실험했다.
이번에는 약 100B 단어 규모의 뉴스 코퍼스를 사용했다.

전문가 수는 최대 131,072개까지 늘렸다.
MoE 레이어의 파라미터 수는 최대 137B까지 커졌다.

결과는 더 큰 데이터에서 더 큰 용량이 유리하다는 점을 보여준다.

 

 

Crop point: 아래쪽 곡선이 수십억 파라미터 이후에도 계속 내려가는 구간은 대규모 데이터가 추가 용량을 흡수한다는 점을 보여준다.

핵심 수치는 다음과 같다.

모델 총 파라미터 테스트 perplexity
4xLSTM baseline 0.1B 47.0
MoE-4,096 4.4B 30.9
MoE-16,384 17.3B 29.7
MoE-65,536 68.9B 28.9
MoE-131,072 137.7B 29.2

 

가장 좋은 결과는 68.9B 파라미터 모델에서 나왔다.

137.7B 파라미터 모델은 더 크지만 약간 나빠졌다.
논문은 이를 지나친 희소성이나 배치 설계의 한계와 관련 있을 수 있다고 본다.

중요한 메시지는 이것이다.

용량은 클수록 무조건 좋은 것이 아니다.
데이터, 라우팅, 배치, 통신 구조가 함께 맞아야 한다.


실험 3: 기계 번역

논문은 MoE를 언어 모델링에만 적용하지 않았다.
기계 번역에도 적용했다.

기본 구조는 GNMT를 변형한 모델이다.

  • 인코더와 디코더의 LSTM 층 수를 줄인다.
  • 중간에 MoE 레이어를 넣는다.
  • 인코더와 디코더 모두에서 MoE를 사용한다.
  • 각 MoE는 최대 2,048개 전문가를 가진다.

결과는 WMT’14 번역 벤치마크에서 강하게 나타났다.

데이터셋 MoE BLEU GNMT BLEU 차이
WMT’14 English → French 40.56 39.22 +1.34
WMT’14 English → German 26.03 24.91 +1.12
Google Production English → French 36.57 35.56 +1.01

 

BLEU는 번역 품질 지표이며, 높을수록 좋다.

MoE 모델은 더 큰 파라미터 용량을 갖지만, 실제 계산 예산은 GNMT보다 작다.
특히 Google Production 데이터에서는 더 짧은 학습 시간으로 더 높은 BLEU를 얻었다.

 

 

Crop point: 전문가 수가 많아질수록 학습 곡선이 아래로 내려가며, 번역에서도 용량 증가가 실제 품질 개선으로 이어지는 구간을 보여준다.


실험 4: 다국어 번역

논문은 하나의 모델로 12개 언어쌍을 학습하는 실험도 수행했다.

일반적으로 하나의 다국어 모델은 언어쌍별 단일 모델보다 불리하다.
단일 모델 하나가 여러 작업을 나눠 처리해야 하기 때문이다.

MoE는 이 상황에서 특히 잘 맞는다.

언어쌍마다 필요한 전문가 조합이 달라질 수 있기 때문이다.

결과는 다음과 같다.

  • MoE 다국어 모델은 GNMT 다국어 모델보다 개발셋 perplexity를 19% 낮췄다.
  • 12개 언어쌍 중 11개에서 GNMT 다국어 모델보다 BLEU가 높았다.
  • 12개 언어쌍 중 8개에서는 언어쌍별 단일 GNMT 모델보다도 높았다.
  • English → Korean은 예외적으로 성능이 낮았다.

논문은 English → Korean 결과를 드문 언어쌍의 과도한 반복 학습과 관련 있을 수 있다고 설명한다.


전문가들은 실제로 분화되는가

MoE가 의미 있으려면 전문가가 서로 다른 역할을 가져야 한다.

논문은 번역 모델의 인코더 MoE에서 전문가별로 어떤 입력 문맥을 많이 받는지 살펴봤다.

그 결과, 전문가들은 문법적·의미적 패턴에 따라 분화되는 모습을 보였다.

예를 들어 한 전문가는 연구와 혁신 관련 문맥을 많이 받았다.
다른 전문가는 “핵심 역할”, “리더십”, “중요성”을 나타내는 구문을 자주 받았다.
또 다른 전문가는 속도나 변화 정도를 나타내는 표현을 많이 받았다.

 

 

Crop point: 각 열의 반복되는 단어군은 전문가별로 다른 문맥을 맡는다는 점을 보여준다.

이 결과는 게이트가 무작위로 전문가를 고르는 것이 아님을 시사한다.

모델은 입력의 성격에 따라 전문가를 나누는 방향으로 학습된다.


이 논문의 핵심 기여

이 논문의 기여는 네 가지로 정리할 수 있다.

1. Sparse MoE를 범용 레이어로 제안

MoE를 모델 전체가 아니라 중간 레이어로 넣었다.
덕분에 LSTM 같은 기존 구조와 결합할 수 있었다.

2. 파라미터 용량과 계산량을 분리

수천 개 전문가를 두면서도 입력마다 일부만 실행했다.
이로써 모델 용량을 크게 키워도 계산량 증가를 제한했다.

3. 분산 학습 문제를 실제로 해결

배치 축소, 네트워크 통신, 전문가 쏠림 문제를 모두 다뤘다.
이 점이 논문의 실용적 핵심이다.

4. 대규모 텍스트 작업에서 성능 향상을 입증

언어 모델링과 기계 번역 모두에서 기존 강한 기준선을 넘어섰다.


한계와 주의점

MoE는 공짜 확장이 아니다.

다음 조건이 맞아야 한다.

  • 학습 데이터가 충분히 커야 한다.
  • 전문가별 부하 균형이 필요하다.
  • 분산 시스템의 통신 비용을 관리해야 한다.
  • 전문가 수가 너무 많아지면 희소성이 과해질 수 있다.
  • 작은 배치나 작은 장비에서는 효율이 크게 떨어질 수 있다.

따라서 이 논문의 메시지는 “무조건 크게 만들라”가 아니다.

정확한 메시지는 다음에 가깝다.

충분히 큰 데이터와 적절한 라우팅이 있다면, sparse activation으로 매우 큰 모델을 실용적으로 학습할 수 있다.


이후 연구 맥락

이 논문은 현대 MoE 기반 대형 언어 모델의 중요한 출발점 중 하나다.

오늘날의 MoE 모델들도 같은 핵심 아이디어를 공유한다.

  • 전체 모델은 매우 크다.
  • 입력마다 일부 전문가만 실행한다.
  • 라우터가 전문가 선택을 학습한다.
  • 품질과 부하 균형을 함께 관리한다.

이 논문이 중요한 이유는 단순히 MoE 개념을 소개했기 때문이 아니다.

대규모 분산 환경에서 sparse MoE가 실제로 작동한다는 것을 실험적으로 보였기 때문이다.


Source

  • Noam Shazeer, Azalia Mirhoseini, Krzysztof Maziarz, Andy Davis, Quoc Le, Geoffrey Hinton, Jeff Dean. “Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer.” arXiv:1701.06538v1, 2017.
  • Original PDF: https://arxiv.org/pdf/1701.06538v1