Mixture of experts(MoE)는 여러 전문가 네트워크 또는 학습자가 문제 공간을 동질적인 영역으로 분할하는 머신 러닝 기법으로, 앙상블 학습의 한 형태를 나타낸다. 이러한 시스템에서 라우팅 메커니즘 - 종종 게이팅 함수 또는 가중치 함수라고 불림 - 은 입력이 전문가에게 어떻게 할당되고 출력이 어떻게 결합되는지를 결정한다. 따라서 Mixture of experts 라우팅은 이 선택 및 가중치 부여 과정을 제어하는 특정 알고리즘과 설계 선택을 의미하며, 이는 모델 용량, 계산 비용 및 출력 품질의 균형을 맞추는 데 중요하다. 이 개념은 1990년대의 초기 통계 모델에서 현대 대규모 언어 모델에 사용되는 희소 라우팅 방식으로 진화했으며, 여기서 토큰당 상대적으로 낮은 계산으로 방대한 매개변수 수를 가능하게 한다.
모든 mixture of experts 시스템의 핵심 아키텍처는 각각 동일한 입력 \(x\)를 받아 출력을 생성하는 일련의 전문가 함수 \(f_1, ..., f_n\)와 \(x\)를 음수가 아닌 가중치 벡터 \((w(x)_1, ..., w(x)_n)\)로 매핑하는 가중치 함수 \(w\)를 포함한다. 최종 출력은 일반적으로 가중 합으로 계산된다: \(f(x) = \sum_i w(x)_i f_i(x)\). 전문가와 가중치 함수는 모두 손실 함수를 최소화하여 공동으로 훈련되며, 일반적으로 경사 하강법을 사용한다. 라우팅 메커니즘은 이러한 가중치가 어떻게 계산되는지, 밀집(모든 전문가가 기여)인지 희소(소수의 전문가만 활성화)인지, 그리고 시스템이 부하 균형과 훈련 안정성을 어떻게 처리하는지를 결정한다.
초기 라우팅 설계
가장 초기의 라우팅 공식 중 하나는 1990년대 초 Hampshire와 Waibel이 보고한 메타-pi 네트워크였다. 이 설계에서 출력은 전문가 출력의 가중 합이며, 훈련은 평균 제곱 오차 손실에 대한 경사 하강법으로 진행된다. 전문가는 임의의 함수일 수 있으며, 게이팅 네트워크는 입력에 따라 가중치를 할당하도록 학습되었다. 원래 출판물에서 연구자들은 이를 일본인 화자 6명(여성 2명, 남성 4명)의 음성 신호에서 음소를 분류하는 데 적용했다. 그들은 각각 멜 스펙트로그램에서 작동하는 시간 지연 신경망인 6개의 전문가를 훈련시켰다. 주목할 점은 학습된 라우팅이 5명의 개별 화자에게 5개의 전문가를 할당한 반면, 여섯 번째 남성 화자의 목소리는 다른 세 명의 남성 화자에 대한 전문가의 선형 조합으로 분류되어, 라우팅이 일대일 매핑보다는 공유된 부분 공간을 발견할 수 있음을 보여주었다.
또 다른 초기 접근 방식은 가우시안 혼합 모델을 게이팅 함수로 사용하는 적응형 로컬 전문가 혼합이었다. 여기서 각 전문가는 출력에 대한 가우시안 분포를 예측했으며, 종종 입력을 완전히 무시하고 평균 벡터만 학습했다. 가중치 함수는 선형-소프트맥스 함수였으며, 전문가 \(i\)에 대한 가중치는 \(w(x)_i = \exp(k_i^T x + b_i) / \sum_j \exp(k_j^T x + b_j)\)로 계산되었다. 이 소프트맥스 라우팅은 전문가에 대한 정규화된 확률 분포를 생성했으며, 전체 모델 출력은 가우시안 예측의 혼합이었다. 이 공식은 확률적 해석을 가능하게 했고 최대 우도로 훈련되어 이후 확률적 라우팅 방법의 기초를 제공했다.
희소 라우팅과 트랜스포머 시대
현대 mixture of experts 라우팅은 Transformer (architecture) 아키텍처가 Deep learning에서 부상하면서 두드러지게 되었다. 대규모 모델에서 모든 전문가가 모든 입력을 처리하는 밀집 라우팅은 전문가 수가 증가함에 따라 계산적으로 불가능해진다. 2017년 논문 "Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer"에서 Noam Shazeer와 Google DeepMind의 동료 연구자들이 도입한 희소 라우팅은 입력 토큰당 소수의 전문가 하위 집합만 활성화하여 이 문제를 해결했다. 게이팅 함수는 전문가 점수에 대해 소프트맥스를 계산하지만 상위-k 선택을 적용하여 가장 높은 점수의 전문가(일반적으로 k = 1 또는 2)만 유지하고 나머지는 0으로 설정한다. 이를 통해 모델은 수십억 개의 매개변수를 가지면서 각 순방향 패스에서 그 중 일부만 계산할 수 있다.
희소 게이팅 함수는 일반적으로 입력 토큰 표현을 전문가당 하나씩 로짓 벡터로 매핑하는 훈련 가능한 가중치 행렬을 사용한다. 이러한 로짓은 소프트맥스를 통과하여 확률을 생성하고 상위-k 전문가가 선택된다. 선택된 전문가의 출력은 정규화된 확률로 가중되고 합산된다. 이 라우팅 메커니즘은 게이팅 매개변수에 대해 미분 가능하여 역전파를 통한 종단 간 훈련을 가능하게 한다. 그러나 희소 라우팅은 소수의 전문가가 지배하고 다른 전문가가 거의 훈련 신호를 받지 못하는 부하 불균형과 같은 문제를 도입하여 보조 부하 균형 손실의 개발로 이어졌다.
부하 균형과 보조 손실
mixture of experts 라우팅의 지속적인 문제는 게이팅 네트워크가 대부분의 입력을 소수의 전문가 집합으로 라우팅하여 다른 전문가를 충분히 활용하지 못하게 하는 전문가 붕괴이다. 이를 방지하기 위해 현대 구현은 균일한 라우팅을 장려하는 보조 손실을 추가한다. Google DeepMind가 2021년에 도입한 Switch Transformer와 같은 모델에서 사용되는 일반적인 접근 방식 중 하나는 전문가에게 할당된 토큰의 분포가 균일에서 벗어날 때 게이팅 함수를 페널티하는 부하 균형 손실을 추가하는 것이다. 이 손실은 일반적으로 평균 라우팅 확률과 각 전문가에게 라우팅된 토큰의 비율 사이의 스케일된 내적으로 계산되며 작은 계수로 주요 훈련 손실에 추가된다. 또 다른 기술은 전문가 용량 제한을 사용하는 것으로, 각 전문가는 배치당 고정된 수의 토큰만 처리할 수 있으며, 이 용량을 초과하는 토큰은 삭제되거나 잔여 연결로 라우팅되어 단일 전문가가 병목 현상이 되는 것을 방지한다.
DeepSeekMoE 아키텍처와 같은 더 최근의 방법은 세분화된 전문가 분할과 공유 전문가를 사용하여 부하 균형을 개선한다. 이 설계에서 전문가는 더 작은 단위로 분할되고 소수의 공유 전문가는 항상 활성화되는 반면 나머지 라우팅된 전문가는 게이팅 함수를 통해 선택된다. 이는 전문가 전문화의 중복을 줄이고 매개변수 효율성을 향상시킨다. 이러한 모델의 라우팅은 종종 소프트맥스 대신 시그모이드 기반 게이팅을 사용하여 여러 전문가가 독립적으로 활성화될 수 있게 하며, 주요 손실 경사에 간섭하지 않고 훈련 중에 부하를 균형 조정하기 위해 조정되는 편향 항을 사용한다.
대규모 언어 모델에서의 라우팅
Mixture of experts 라우팅은 Large language model을 확장하는 초석이 되었다. Mistral AI가 개발한 Mixtral 8x7B와 같은 모델은 각 토큰이 8개의 전문가 중 2개로 라우팅되는 희소 MoE 레이어를 사용하며, 각 전문가는 피드포워드 네트워크이다. 이를 통해 모델은 총 470억 개의 매개변수를 가지면서 토큰당 약 130억 개만 사용하여 훨씬 더 작은 밀집 모델의 추론 비용과 일치한다. 유사하게, Switch Transformer는 희소 라우팅으로 수조 개의 매개변수로 확장이 가능하며 자연어 작업에서 밀집 기준선보다 속도 향상을 달성함을 보여주었다. 이러한 모델에서 라우팅 결정은 시퀀스가 아닌 토큰별로 이루어지며, 모델이 입력의 다른 부분에 다른 전문가를 할당할 수 있게 한다.
대규모 언어 모델의 라우팅 메커니즘은 종종 Multi-Head Attention 레이어에서 생성된 숨겨진 상태에서 작동한다. 게이팅 함수는 선형 투영 후 소프트맥스 또는 시그모이드이며 네트워크의 나머지 부분과 공동으로 훈련된다. 주요 설계 선택 중 하나는 선택 전에 로짓에 훈련 가능한 가우시안 노이즈를 추가하여 훈련 중 탐색을 장려하고 게이팅이 초기에 너무 결정적으로 변하는 것을 방지하는 노이즈가 있는 상위-k 게이팅을 사용할지 여부이다. 또 다른 선택은 전문가 병렬 처리를 사용하는 것으로, 전문가가 여러 장치에 분산되고 라우팅이 통신 오버헤드를 최소화하도록 조정되어야 한다. 이는 Amazon Web Services SageMaker 및 Google Cloud TPU 환경과 같은 프레임워크에서 특수 구현으로 이어졌다.
과제와 최근 발전
효과성에도 불구하고 mixture of experts 라우팅은 여러 공개 과제에 직면해 있다. 하나는 라우팅 세분성과 계산 효율성 사이의 균형이다: 너무 많은 전문가는 메모리 오버헤드와 통신 비용을 초래할 수 있는 반면, 너무 적은 전문가는 용량을 제한한다. 또 다른 하나는 훈련의 불안정성으로, 이산적인 상위-k 선택이 경사 문제를 일으킬 수 있지만 직선 추정기와 소프트맥스 완화가 탐구되었다. 최근 연구는 시간에 따라 적응하는 학습된 라우팅 정책도 조사했으며, 라우팅 결정을 최적화하기 위해 강화 학습을 사용하는 것도 포함되지만 생산 시스템에서는 덜 일반적이다.
또 다른 활발한 연구 영역은 라우팅의 해석 가능성이다. 연구에 따르면 대규모 모델의 전문가는 종종 구두점, 수학적 추론 또는 코드와 같은 의미적 또는 구문적 범주에서 전문화되지만 매핑이 항상 깨끗한 것은 아니다. 전문가당 토큰 분포를 시각화하는 라우팅 분석과 같은 기술이 이러한 패턴을 이해하는 데 사용되었다. 또한 일부 모델은 계층적 라우팅 방식을 사용하는데, 여기서 1차 라우터가 전문가 그룹을 선택하고 2차 라우터가 그룹 내에서 선택하여 필요한 비교 수를 줄인다. 이는 수천 개의 전문가가 있는 모델의 경우처럼 전문가 수가 매우 많을 때 특히 유용하다.
밀집 모델과의 비교
Mixture of experts 라우팅은 모든 입력에 대해 모든 매개변수가 사용되는 밀집 모델에 대한 근본적인 대안을 제공한다. 원래 Transformer (architecture) 아키텍처와 같은 밀집 모델은 토큰당 고정된 계산 비용을 가지는 반면, MoE 모델은 라우팅 결정에 따라 가변 비용을 가진다. 이를 통해 MoE 모델은 추론 비용의 비례적 증가 없이 더 높은 용량을 달성할 수 있어 자원이 제한된 환경에서 배포에 매력적이다. 그러나 밀집 모델은 부하 균형 손실이나 신중한 용량 조정이 필요하지 않으므로 훈련 및 미세 조정이 더 쉬운 경우가 많다. 밀집 및 MoE 아키텍처 간의 선택은 특정 응용 프로그램에 따라 달라지며, MoE는 고정된 계산 예산으로 품질을 최대화하는 것이 목표인 대규모 훈련에 특히 적합하다.
실제로 OpenAI, Anthropic 및 Google DeepMind를 포함한 많은 조직이 생산 모델에서 MoE 레이어를 채택했지만 정확한 라우팅 세부 사항을 공개하지 않는 경우가 많다. 이 기술은 언어 외에도 컴퓨터 비전 및 음성 인식에도 적용되어 유사한 이점을 보여주었다. AWS Trainium 및 Groq와 같은 특수 가속기가 희소 계산을 최적화함에 따라 하드웨어가 계속 진화함에 따라 MoE 라우팅의 효율성은 더욱 향상되어 미래 Artificial intelligence 시스템의 표준 구성 요소가 될 가능성이 높다.
미래 방향
Mixture of experts 라우팅의 미래는 더 적응적이고 효율적으로 만드는 데 있다. 한 방향은 이산적인 상위-k 선택을 연속 근사로 대체하여 더 부드러운 경사와 잠재적으로 더 나은 최적화를 가능하게 하는 완전 미분 가능한 라우팅의 개발이다. 또 다른 방향은 입력 복잡성에 따라 활성 전문가 수를 동적으로 조정하여 간단한 입력에 대한 계산을 줄이고 복잡한 입력에 대한 계산을 늘리는 학습된 라우팅 정책의 사용이다. 또한 훈련 후 중복 전문가를 결합하거나 제거하는 전문가 병합 및 가지치기 연구는 품질을 희생하지 않고 메모리 공간을 줄일 수 있다. 모델이 계속 확장됨에 따라 라우팅 메커니즘은 성능과 실용성을 결정하는 데 점점 더 중심적인 역할을 할 것이며, 이론 및 응용 연구 모두에서 풍부한 영역이 될 것이다.