Mixture-of-Experts (MoE) (KO)

From Systems analysis Wiki
Jump to navigation Jump to search

Mixture-of-Experts (MoE) (영어로 «전문가 혼합»을 의미) — 조건부 연산 원리와 «분할 정복» 패러다임에 기반한 신경망 아키텍처이다. 모든 파라미터가 각 입력 신호 처리에 동원되는 단일 단일체적(«밀집») 모델 대신, MoE 아키텍처는 작업을 분해하여 «전문가»라 불리는 특화된 하위 네트워크의 부분 집합에 위임한다. 특수 구성 요소인 라우터 네트워크(gating network 또는 라우터)가 각 입력 token을 처리할 전문가를 동적으로 결정한다[1][2].

이 접근 방식은 추론 단계에서의 연산 비용(FLOPs)을 훨씬 작은 밀집 모델 수준으로 유지하면서도 엄청난 수의 파라미터(수천억 또는 수조)를 갖는 모델을 만들 수 있게 해준다[3]. 이 덕분에 MoE는 현대 대형 언어 모델(LLM) 확장을 위한 핵심 기술이 되었으며, Mixtral 8x7B, Grok-1, 그리고 널리 알려진 바에 따르면 GPT-4와 같은 최첨단 시스템에서 활용되고 있다[1].

핵심 원리: 조건부 연산과 희소성

MoE의 근본적인 메커니즘은 조건부 연산(conditional computation)이다. 모든 token 처리 시 모든 파라미터가 활성화되는 밀집 모델과 달리, MoE 모델은 입력 데이터에 따라 파라미터의 일부만 활성화한다. 이 과정은 활성화 희소성(sparsity in activation)을 유발하며, 이것이 전통적인 아키텍처와의 가장 큰 차이점이다[4].

이러한 접근 방식을 통해:

  • 모델 용량 확장: 전체 파라미터 수(따라서 모델의 «지식»)를 연산 부하의 비례적 증가 없이 크게 늘릴 수 있다.
  • 효율성 향상: 모델이 각 token당 더 적은 연산을 수행하여, 고정된 연산 예산 하에서 더 빠른 추론과 학습 비용 절감을 실현한다[5].

따라서 MoE는 병목을 연산 능력에서 메모리 요구량(VRAM)으로 이동시키는데, 이는 매 순간 일부만 사용되더라도 모든 전문가의 파라미터가 메모리에 로드되어 있어야 하기 때문이다[6].

MoE 아키텍처의 구성 요소

1. 전문가 하위 네트워크 (Experts)

전문가는 일반적으로 독립적인 신경망이다. transformer 아키텍처의 맥락에서 MoE 레이어는 보통 밀집 완전 연결 블록(Feed-Forward Networks, FFN)을 대체하며, 각 전문가 자체가 FFN이다[1]. 학습 과정에서 각 전문가는 특정 분야에서 «전문성»을 발전시킬 수 있는데, 예를 들어 하나는 구문론에, 다른 하나는 특정 지식 분야의 사실에, 또 다른 하나는 특정 언어나 문체에 특화될 수 있다[7].

2. 관리 네트워크 (Gating Network / Router)

라우터 네트워크는 지능적인 작업 분배를 수행하는 소규모이지만 매우 중요한 구성 요소이다. 각 입력 token에 대해 라우터는 점수(가중치)를 계산하여 어떤 전문가가 처리에 가장 적합한지 결정한다. 라우팅 결정은 동적이며 문맥에 의존적이다[8].

가장 일반적인 전략은 Top-K 라우팅으로, token 처리를 위해 가장 높은 점수를 가진 K개의 전문가가 선택된다. K 값은 보통 작으며(예: 1 또는 2), 이것이 희소성을 보장한다.

3. 출력 데이터 결합

선택된 K개의 전문가가 token을 처리한 후, 각각의 출력이 결합되어 MoE 레이어의 최종 결과를 형성한다. 일반적으로 이는 가중 합산 방식으로 이루어지며, 가중치는 라우터가 생성한 정규화된 점수이다[1].

MoE의 발전

MoE 개념은 1991년 Robert Jacobs, Geoffrey Hinton, Michael Jordan의 논문 «지역 전문가의 적응적 혼합»에서 처음 제안되었다[3]. 그러나 연산 제약과 학습의 복잡성으로 인해 딥러닝 시대 이전까지는 널리 보급되지 못했다.

전환점은 transformer 아키텍처의 등장과 함께 찾아왔다. 2010~2015년의 조건부 연산 관련 연구(Yoshua Bengio 등)가 이론적 기반을 마련했으며, Shazeer 등(2017)의 연구는 MoE를 1,370억 파라미터 LSTM 모델로 확장할 수 있음을 증명했다[8].

MoE의 현대적 부흥은 단순하지만 효과적인 Top-1 라우팅을 사용하여 1.6조 파라미터까지 확장한 Google의 Switch Transformer(2021)와 연관된다[9]. 2023년 Mistral AI의 오픈 모델 Mixtral 8x7B의 성공은 MoE를 고성능 LLM 구축을 위한 주요 아키텍처 중 하나로 최종적으로 확립시켰다[1].

과제와 최적화 방법

부하 균형

MoE의 핵심 문제 중 하나는 부하 불균형으로, 라우터가 지속적으로 동일한 «인기 있는» 전문가를 선택하고 다른 전문가들은 활용이 부족한 상태에 놓이는 현상이다. 이는 비효율적인 학습과 «전문가 붕괴»로 이어진다.

  • 보조 손실 함수 (Auxiliary Loss): token의 불균등 분배에 «페널티»를 기본 손실 함수에 추가하는 전통적인 방법이다. 균형 잡기에는 도움이 되지만, 이 방법은 «방해 그래디언트»를 도입하여 전반적인 성능을 저하시킬 수 있다[10].
  • 손실 없는 균형 (Loss-Free Balancing): 기본 학습 작업에 간섭하지 않고 더 균형 잡힌 결정을 내리도록 라우터 점수에 동적으로 편향(bias)을 적용하는 최신 접근 방식이다[11].
  • 전문가 선택 라우팅 (Expert Choice Routing): token이 전문가를 선택하는 것이 아니라 각 전문가가 배치에서 `top-k`개의 token을 선택하는 대안적 접근 방식이다. 완벽한 균형을 보장하지만 구현이 더 복잡할 수 있다[1].

Fine-tuning과 Quantization

  • Fine-tuning: 역사적으로 MoE 모델은 많은 파라미터 수로 인해 과적합 경향이 있었다. 이 문제를 완화하기 위해 «전문가 dropout»과 같은 방법이 사용된다[12].
  • Quantization: 모델 크기 축소와 추론 가속을 위해 가중치의 수치 정밀도를 낮추는 방법이다. MoE에서는 전문가 간 불균형으로 인해 이것이 복잡한 과제이다. MoEQuant과 같은 방법은 각 전문가에 대한 균형 잡힌 보정을 기반으로 한 해결책을 제안한다[13].

시스템 최적화

MoE의 효율적인 배포는 다음을 포함하는 전체적인 시스템 접근 방식을 필요로 한다:

  • 병렬 처리 전략: 전문가 병렬 처리(서로 다른 GPU에 전문가 분산), 모델 병렬 처리 및 데이터 병렬 처리[14].
  • 특화된 커널 (Kernels): 희소 연산을 위한 행렬 곱셈을 최적화하는 Mixtral용 Megablocks와 같은 예시[15].
  • 하드웨어 공동 설계 (Hardware Co-design): MoE 워크로드에 특별히 최적화된 하드웨어 솔루션 개발.

주요 MoE 모델

주요 MoE 아키텍처 비교
모델 개발사 전체 파라미터 수 활성
파라미터
전문가 수 선택되는
전문가 수 (k)
Switch Transformer C-2048 Google 1.6조 전문가 크기에 따라 상이 2048 1
Mixtral 8x7B Mistral AI ~470억 ~130억 8 2
Grok-1 xAI 3,140억 860억 8 2
GPT-4 (추정) OpenAI >1조 - 16 (추정) 2 (추정)
Qwen 2 MoE Alibaba 570억~900억 140억 64 4 또는 8
DeepSeekMoE 16B DeepSeek-AI 164억 ~28억 64 (2개 활성) 2 (6개 중)[16]

다양한 분야에서의 응용

MoE는 LLM의 맥락에서 가장 잘 알려져 있지만, 그 응용은 자연어 처리에 국한되지 않는다:

  • 시계열 예측: Time-MoE 모델은 예측 모델 사전 학습을 위한 확장 가능한 아키텍처를 제시한다[17].
  • 취약점 탐지: MoEVD는 MoE를 활용하여 취약점 탐지 작업을 CWE 유형별 분류로 분해하며, 각 전문가가 자신의 유형에 특화된다[18].
  • 블록체인 기술과의 통합: MoE는 스마트 계약 최적화 및 사기 탐지에서 응용되며, 전문가들이 다양한 거래 패턴을 분석한다[19].
  • 멀티모달 모델: MoE는 서로 다른 모달리티(텍스트, 이미지, 오디오)에 특화된 전문가를 결합하여 더욱 범용적인 시스템을 만드는 데 사용된다[20].

각주

  1. 1.0 1.1 1.2 1.3 1.4 1.5 «Applying Mixture of Experts in LLM Architectures». NVIDIA Technical Blog. [1]
  2. «Mixture of Experts (MoE): A Big Data Perspective». arXiv. [2]
  3. 3.0 3.1 «Mixture-of-Experts (MoE): что это такое и как работает». LLM Studio. [3]
  4. «Serving Mixtral MoE Model». Friendli.ai Blog. [4]
  5. «What is Mixture of Experts (MoE)? How it Works and Use Cases». Zilliz Learn. [5]
  6. «Mixture of Experts (MoE) vs Dense LLMs». Maximilian Schwarzmüller's Blog. [6]
  7. «Understanding Mixture of Experts in Deep Learning». VE3. [7]
  8. 8.0 8.1 «Mixture of Experts Explained». Hugging Face Blog. [8]
  9. «Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity». arXiv. [9]
  10. «Auxiliary-Loss-Free Load Balancing Strategy for Mixture-of-Experts». OpenReview. [10]
  11. «DeepSeek-V3 Explained: 3. Auxiliary-Loss-Free Load-Balancing». gopubby.com. [11]
  12. «Switch Transformers: Scaling to Trillion Parameter Models with...». cse.ust.hk. [12]
  13. «MoEQuant: Enhancing Quantization for Mixture-of-Experts...». arXiv. [13]
  14. «A Survey of Mixture of Experts Models: Architectures and Applications in Business and Finance». Preprints.org. [14]
  15. «Mixtral of Experts». arXiv. [15]
  16. «A Survey on Inference Optimization Techniques for Mixture of Experts Models». arXiv. [16]
  17. «Time-MoE: A Scalable and Unified Framework for Pre-training Time Series Foundation Models». arXiv. [17]
  18. «MoEVD: A Mixture of Experts-based Framework for Vulnerability Detection». Semantic Scholar. [18]
  19. «What a Decentralized Mixture-of-Experts (MoE) Is and How It Works». Gate.io Learn. [19]
  20. «LLaMA-MoE: Building Mixture-of-Experts from Open-source LLMs». arXiv. [20]