HANA : Have A Nice AI

모두를 위한, 하나를 위한 AI

발전중인 AI/추천(Recommendation)

Mixture-of-Experts 추천 시스템 개요 - ①

KM-Hana 2025. 3. 14. 23:10

Mixture-of-Experts (MoE)는 1991년 Jacobs 등이 처음 제한한 고전적인 앙상블 기법입니다.

MoE는 모델 용량을 크게 확장할 수 있으며, 계산 오버헤드 가능성이 크지 않습니다. 이러한 능력은 최근 딥러닝 분야에서 혁신적으로 결합되어, 다양한 분야에서 MoE를 광범위하게 사용하게 되었습니다. 특히, LLM(Large Language Model)와 같은 대규모 어플리케이션에 성공적으로 활용되고 있습니다. 

Mixture-of-Experts (MoE)에 대한 소개와 중요하게 개선된 히스토리를 소개하고자 합니다.

 

https://blog.reachsumit.com/posts/2023/04/moe-for-recsys/

 

Mixture-of-Experts based Recommender Systems

The Mixture-of-Experts (MoE) is a classical ensemble learning technique originally proposed by Jacobs et. al1 in 1991. MoEs have the capability to substantially scale up the model capacity and only introduce small computation overhead. This ability combine

blog.reachsumit.com

를 기반으로 작성했습니다


Mixture-of-Experts(MoE) 소개

일반적으로 말해, MoE(Mixture-of-Experts) 구조는 다수의 모델을 결합한 앙상블(ensemble) 방식입니다.  MoE는 전문가(expert) 라고 불리는 여러 개의 하위 모델로 구성되어, 특정한 Task에 특화되어 훈련됩니다.

이러한 구조의 핵심 가정은 데이터가 서로 다른 여러 가지 상황(regime) 으로부터 생성된다는 점입니다. 많은 데이터는 자연스럽게 서로 다른 하위 작업(subtask)으로 나눌 수 있습니다. 예를 들어, 금융 데이터를 다룰 때 경제의 상황은 입력(Feature)을 출력(예측값)과 연결짓는데 큰 영향을 줍니다. 즉, 경제가 호황일 때와 불황일 때를 서로 다른 모델로 구분하여 사용하는 것이 더 좋을 수 있습니다.

 

 

MoE의 각각의 전문가는 반드시 복잡한 모델일 필요는 없으며, 다양한 머신러닝 알고리즘을 사용할 수 있습니다(예시 : SVM, Small neural network, 심지어 단순한 행렬 곱셈 등).  또한, 보통은 이러한 전문가들은 서로 동일 Architecture를 가지고 있고, 같은 학습 알고리즘으로 훈련됩니다. 또한, Gating(or routing) 구조를 통하여, 마치 "관리자(manager)"처럼 입력 데이터를 고려하여 가장 최적의 전문가에게 전달하는 역할을 수행합니다.

 

A simple classification example for MoE

 

위의 분류 예시에서 파란색 원(●)과 빨간색 다이아몬드(◆)는 두 개의 서로 다른 클래스를 나타냅니다.

MoE 모델에서 게이트(gate)는 입력 데이터의 공간(input space)을 명확하지 않은(soft) 형태로 나누어서 각각의 전문가(expert)들이 신뢰할 수 있는 영역을 정의합니다. 예를 들어, 전문가 1(Expert 1)은 게이트가 설정한 구분선 왼쪽의 데이터를 담당하고, 전문가 2(Expert 2)는 오른쪽 데이터를 담당합니다. 이러한 접근법은 원래는 비선형적(Non-linear)으로 복잡한 분류 문제를 두 개의 간단한 선형(linear) 분류 문제로 바꾸는 효과가 있습니다.

이처럼 복잡한 문제를 나누어서 해결하는 전략(divide-and-conquer)은 Boosting(부스팅) 같은 다른 앙상블 학습 기법에서도 널리 사용됩니다. 하지만 부스팅에서는 입력 데이터에 관계없이 훈련된 모든 모델이 각자 가중치를 가지고 동시에 결과에 기여합니다. 즉, 최종 결과가 모든 모델에서 계산된 값들의 조합으로 나옵니다.

  ※ 부스팅(Boosting)이란 

더보기

※ 부스팅(Boosting) 이란

 

부스팅(Boosting)이란 머신러닝에서 자주 사용하는 앙상블(ensemble) 학습 기법의 한 종류입니다.

  1) 부스팅은 약한 성능을 가진 여러 개의 모델(Weak learners)을 순차적으로 훈련

  2) 처음에 간단한 모델을 만들고 이 모델이 틀린 데이터에 더 집중해서 다음 모델을 만듭

  3) 이런 과정을 반복해 점점 정확도를 높이는 방식입니다.

https://data-analysis-science.tistory.com/61

 

1. 앙상블(Ensemble) 기법과 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking)

안녕하세요, 허브솔트에요. 저희 데이터맛집의 허브솔트 첫 글 주제로 앙상블이 당첨됐네요...! 요새 캐글의 상위권 메달을 휩쓸고 있는 대세 알고리즘이 앙상블 기법을 사용한 알고리즘의 한

data-analysis-science.tistory.com

 

반면 MoE에서는 입력 데이터에 따라 특정 전문가들만 선택하여 연산을 수행하므로, 선택된 전문가들에 대해서만 계산 비용(computational cost)이 발생합니다. 이런 특성 덕분에 MoE는 조건부 연산(Conditional Computation) 이라는 방식을 사용할 수 있게 해줍니다. 따라서 학습 데이터가 많은 환경에서 매우 효과적입니다.

하지만 MoE는 입력 데이터를 여러 전문가가 분할해 사용하기 때문에, 데이터가 충분히 많지 않은 소규모의 데이터셋에서는 성능이 잘 나오지 않을 가능성이 높습니다.


Make experts complete, not cooperate

단일 multilayer network가 서로 다른 하위 작업을 수행하면, 간섭효과로 학습이 느려지고 일반화가 어려울 수 있습니다. 즉, 서로 다른 작업을 학습할 때 서로 방해하게 되어 학습이 느리고 성능이 나빠질 수 있습니다.

Ec=yciwicoic2

가장 간단한 방법은 여러 개의 전문가 모델(expert)의 Loss를 선형적으로 결합하는 방법입니다. 이러한 방식의 문제점은, 하나의 전문가가 잘못 예측하면 전체 오류(Residual error)가 변화하고, 이것이 다시 다른 전문가의 학습에도 영향을 준다는 것입니다.

즉, 전문가들이 서로 협력해야 하는 상황이 발생하면 모델이 복잡해지고, 학습이 어려워집니다.

 

전문가들을 독립적으로 유지하기 위한 방법: Mixture-of-Experts (MoE)

이러한 간섭 효과를 줄이기 위해 Mixture-of-Experts (MoE)가 제안되었습니다.

MoE는 여러 개의 독립적인 전문가 네트워크와 각 상황마다 적합한 전문가를 선택하는 게이팅 네트워크(Gating Network)로 구성됩니다.

 

게이팅 네트워크는 각 입력 데이터에 대해, 여러 전문가 중 어떤 전문가를 선택해 활용할지 확률적(stochastic)으로 결정합니다.

  • 입력 벡터에 따라 전문가의 혼합 비율을 결정할 수 있습니다.

Local Expert 경쟁 시스템을 구축

  • 기존의 선형 조합 방식을 사용하지 않고, 대신 하나의 전문가가 입력 데이터에 대한 전체 출력을 완벽하게 만들어내도록 합니다.
  • 즉, 전문가들이 서로의 부족한 부분(잔차, residual)을 보완해주는 방식이 아니라, 각 전문가가 독립적으로 Output을 생성하도록 합니다.

초기 Mixture of Experts

 

Ec=ycoic2=ipic||ycoic||2

 

  • : 특정 입력 데이터(c)를 i번째 전문가가 처리할 확률 (게이팅 네트워크가 결정)
  • oic : 번째 전문가가 생성한 출력

 

한 전문가가 모든 전문가의 가중 평균보다 적은 오류를 제공하면 해당 사례에 대한 책임이 증가합니다. 이 방식의 장점은 각 전문가가 서로 간섭 없이 독립적으로 문제를 해결하면서 간접적인 결합(indirect coupling)은 존재하는데, 그 이유는 만약 어떤 다른 전문가(expert)가 자신의 가중치(weights)를 변경하면, 게이팅 네트워크(gating network)가 전문가들에게 할당된 책임(responsibilities)을 수정하게 만들 수도 있기 때문입니다.

하지만 최소한, 이러한 책임의 변화는 특정 학습 데이터(training case)에 대해 각 전문가(local expert)가 인지하는 오차(error)의 부호(sign)까지는 바꾸지 않습니다. 즉, 책임의 변화가 간접적인 영향을 미칠 수는 있지만, 적어도 한 전문가가 개별 훈련 사례(training case)에 대해 오차의 부호를 바꾸는 직접적인 영향을 미치지는 않는다는 것입니다.

 

 

Mixture-of-Experts(MoE)의 장점

  • 다양한 모델과 유연한 결합이 가능
    MoE는 다양한 머신러닝 모델과 결합하여 사용할 수 있는 높은 유연성을 제공합니다. 예를 들어, MoE를 SVM과 결합하면 입력 영역에 따라 서로 다른 커널(kernel) 함수를 적용할 수 있습니다.
  • 데이터 내의 자연스러운 패턴을 잘 발견함
    MoE는 데이터 내에 자연스럽게 존재하는 여러 하위 패턴을 효과적으로 찾아냅니다. 이를 통해 데이터를 더 잘 이해하고 정확한 예측을 가능하게 합니다.
  • 데이터의 하위 집합을 자동으로 나누어 활용함
    MoE는 입력 데이터를 자연스럽게 여러 하위 집합으로 나누어 각 전문가가 효과적으로 학습하게 합니다. 이는 특히 데이터가 복잡하거나 다양한 속성을 가질 때 효과적입니다.
  • 단일 모델로 붕괴(collapse)하지 않음
    MoE는 훈련 과정에서 전문가 모델이 단 하나의 모델로 축소되거나 결합되는 현상(model collapse)이 발생하지 않도록 안정적인 구조를 유지합니다.
  • 조건부 연산으로 효율적임
    MoE는 조건부 연산(Conditional Computation)을 사용하여, 모든 전문가 모델이 아닌 특정 전문가들만 활성화하여 효율적인 계산을 수행할 수 있습니다. 이는 특히 큰 규모의 데이터에서 강력한 성능을 보입니다.

Mixture-of-Experts(MoE)의 단점

  • 훈련 초반 게이팅 네트워크의 어려움
    MoE의 초기 훈련 단계에서는 모든 전문가가 랜덤하게 초기화되어 있으며, 동일한 구조와 알고리즘으로 훈련됩니다. 때문에 게이팅 네트워크가 각 전문가를 구별하는 데 어려움을 겪으며, 전문가들을 올바르게 할당하지 못하는 현상이 발생할 수 있습니다. 이는 게이팅 네트워크의 오류를 유발하여 초반 학습을 어렵게 만듭니다.
  • 전문가 간 간접적 상호작용(Indirect Coupling)
    전문가들은 독립적으로 작동하도록 설계되었지만, 한 전문가의 변화가 다른 전문가들에게 간접적인 영향을 줄 수 있습니다. 특히, 게이팅 네트워크가 특정 전문가의 가중치를 높이거나 낮추는 방향으로 바뀌면 전문가들 간 책임(responsibility)이 변동될 수 있습니다.
  • 데이터 크기 의존성 (소규모 데이터에 취약)
    MoE는 입력 데이터를 여러 전문가가 나누어 학습하기 때문에, 데이터셋의 크기가 작으면 각 전문가가 충분한 데이터를 얻지 못해 성능이 떨어질 가능성이 높습니다. 따라서 대규모 데이터에 적합한 방법입니다.

 

다양한 MoE(Mixture-of-Experts)의 변형들

Mixture-of-Experts(MoE)가 처음 등장한 지 30년이 넘는 기간 동안, MoE는 여러 번 개정되었고 다양한 개선 방안들이 제안되었습니다. 이번 섹션에서는 그 중 몇 가지 대표적인 변형들을 소개합니다.

 

Hierarchical MoE(계측적 MoE)

 

  • 계층적 MoE는 일반 MoE의 구조를 더 발전시킨 형태로, 게이팅 네트워크가 트리(tree) 형태로 여러 단계에 존재합니다.
  • 각 노드(게이트)는 입력 데이터에 따라 전문가들의 출력을 결합하며, 최종 출력은 다단계의 게이트 함수를 통해 결정됩니다.
  • 이는 더 복잡하고 다양한 데이터를 처리하는 데 유리하며, 단일 단계 MoE보다 더 세밀하고 유연한 결정을 내릴 수 있습니다.

최상위 게이트에서 하위 게이트의 잘못된 결정을 복구할 수 있습니다.

 

Two-level HME Architecture

 

 

DMoE (Deep Mixture of Experts) : 계층적 MoE의 발전 형태

계층적 Mixture-of-Experts(Hierarchical MoE)를 더 발전시킨 구조로 DMoE(Deep Mixture-of-Experts) 라는 형태가 제안되었습니다.

DMoE의 핵심 아이디어는 여러 개의 층(layer) 으로 구성된 MoE 구조를 사용하는 것입니다. 즉, 하나의 게이트(gating network)와 전문가(expert) 집합을 단순히 한 단계로 구성하는 것이 아니라, 여러 개의 층(layer)에 걸쳐 전문가와 게이팅 네트워크를 반복해서 쌓는 구조를 갖습니다.

이러한 구조는 각 층에서 입력 데이터가 오면, 이전 층의 결과에 따라 다음 층의 게이팅 네트워크와 전문가 모델들이 조건부로 선택됩니다. 이를 통해 DMoE는 다양한 상황에 대응하기 위한 전문가들의 조합을 동적으로 계산할 수 있게 됩니다.

 

DMoE의 특징과 장점:

  • 효과적인 경로(path)의 증가:
    여러 층에서 각각 서로 다른 전문가와 게이트가 존재하기 때문에, 가능한 처리 경로(effective path)의 수가 크게 증가합니다. 이는 모델의 표현력을 높이고 더 다양한 데이터 패턴을 학습할 수 있도록 합니다.
  • 효율적인 모델 크기 관리하지만 DMoE는 각 입력 데이터를 모든 전문가가 처리하는 게 아니라, 매 층(layer)에서 특정한 소수의 전문가(subset)만 선택하여 사용합니다. 이를 통해 효과적인 연산 경로는 많아지지만 전체 모델의 규모는 합리적으로 유지할 수 있습니다.

DMoE Architecture

이러한 구조 덕분에 DMoE는 동적(dynamic)으로 최적의 전문가 조합을 만들어낼 수 있으며, 더 복잡한 문제를 효율적으로 해결할 수 있게 됩니다.

 

Sparsely-gated Mixture-of-Experts 

Mixture-of-Experts(MoE)의 여러 변형 중에서 가장 영향력 있는 발전은 Shazeer 등이 제안한 희소 게이팅 MoE(Sparsely-gated Mixture-of-Experts)입니다. 이 방법은 계산량을 크게 증가시키지 않고도 모델의 용량(capacity)을 획기적으로 높일 수 있는 기법으로 잘 알려져 있습니다. 그들의 제안은 기존의 MoE에 비해 최대 1000배 이상의 모델 용량 증가 효과를 보였습니다.

 

희소 게이팅 모델은 다음과 같은 방식으로 작동합니다.

  1. 희소성(Sparsity)을 활용한 효율성 증대
    기존의 방법은 전체 Expert가 활성화 되지만, Sparsely-gated Mixture-of-Experts는 Sparse하게 선택합니다. 소수(top-k)의 전문가만 활성화하여, 대부분의 전문가들은 특정 입력에 대해 비활성화됩니다.
  2. 상위 k개 전문가만 선택
    게이팅 네트워크는 일반적인 소프트맥스(softmax) 함수튜닝 가능한 가우시안 노이즈를 더한 후, 상위 k개의 가장 높은 값을 제외한 나머지 전문가들의 값들을 로 설정하여 게이트 출력을 0으로 마스킹합니다.
  3. 순환 신경망(Recurrent Neural Network) 활용그림에서 게이트가 입력 데이터의 특성에 따라 최적이라고 판단된 전문가 두 개만 선택하는 모습을 볼 수 있습니다. 최근 대규모 언어 모델(LLM)에서 희소 게이팅 방식을 사용한 결과, 일반적인 밀집(Dense) 모델 대비 4배 적은 계산량으로도 비슷한 성능을 낼 수 있다는 연구 결과도 있었습니다.

Sparsely-gated MoE

요약하자면, 희소 게이팅 MoE는 필요한 전문가들만 선택하여 효율적으로 계산을 수행할 수 있게 하고, 동시에 모델의 성능과 용량을 크게 향상시킨 매우 중요한 발전 기법입니다.

 

다중 게이트 Mixture-of-Experts(MMoE)

Ma 등이 제안한 Multi-gate Mixture-of-Experts(MMoE)는 Mixture-of-Experts 구조를 다중 작업 학습(multi-task learning)에 맞게 발전시킨 모델입니다.

일반적으로 다중 작업 학습(multi-task learning)의 목표는 하나의 단일 모델을 이용하여 여러 가지 서로 다른 작업(task)을 동시에 학습하는 것입니다. 논문의 저자들은 이러한 다중 작업 학습이 각 작업 간 간섭에 민감(sensitive)할 수 있다고 가정했습니다.

이런 문제를 해결하기 위해 저자들은 MoE의 기본 구조를 다음과 같이 수정하였습니다.

  • 전문가 네트워크(Expert Networks) 는 모든 작업들 간에 공유됩니다.
  • 그러나 입력 데이터를 각 전문가에게 할당하는 게이팅 네트워크(gating networks) 는 Task별로 별도로 존재합니다. 즉, 각 작업마다 고유한 게이팅 네트워크를 가지고 있어서 작업 특성에 따라 최적의 전문가를 선택합니다.
  • 추가로, 각 작업은 자신만의 최종 출력을 생성하는 작업 특화 타워(tower) 를 가지고 있어, 서로 다른 작업 간 최적화를 효과적으로 분리(decoupling)합니다.

저자들이 제안한 핵심 아이디어는 다음과 같습니다.

기존에 다중 작업 학습에서 자주 사용하는 공유된 하단 구조(shared-bottom, 모든 Task가 공통으로 단일 모델을 공유하는 구조)을 MoE 방식으로 바꾸는 것입니다. 즉, 모든 작업이 공통으로 활용할 수 있는 여러 전문가들이 존재하고, 각 작업은 자신만의 게이팅 네트워크를 통해 적합한 전문가만을 선택하도록 합니다.

Multi-gate MoE model 비교

이를 통해 각 작업의 학습 과정이 상호 간섭 없이 더욱 유연해지고, 개별 작업에 특화된 성능 최적화가 가능해집니다.

 

  • 실험을 통해 저자들은 MMoE 아키텍처가 기존의 기본 베이스라인 방법들보다 성능이 우수하다는 것을 보여주었으며, 특히 작업 간 상관관계(correlation)가 낮을 때 더욱 뛰어난 성능을 보였습니다.
  • Task 별 전문가 활용을 최적화하면서도, 불필요한 파라미터 증가를 방지하여 효율적인 학습을 가능하게 합니다.

 


추천 시스템에서의 Mixture-of-Experts(MoE)

많은 추천 시스템(recommender system) 응용은 다중 작업 학습(Multi-task learning)  기반으로 구축됩니다. 이러한 접근법의 핵심 아이디어는 사용자 참여(user engagement), 사용자 만족(user satisfaction), 사용자 구매(user purchases) 등 여러 개의 관련 목표(objectives)를 함께 모델링하는 것입니다.

예를 들어:

  • 사용자 참여(user engagement): 클릭 수(clicks), 체류 시간(engagement time) 등
  • 사용자 만족(user satisfaction): 평점(ratings), 좋아요 비율(like rate) 등
  • 사용자 구매(user purchases): 실제 구매 여부 등

이러한 목표를 공동 모델링(joint modeling) 하면, 여러 작업 간의 데이터 및 지식 공유(data & knowledge sharing) 가 가능해져 보다 포괄적인 사용자 이해(holistic user view) 가 이루어집니다.

다중 작업 학습의 장점

  • 데이터가 희소한(sparse) 작업에서도 효과적
    다중 작업 학습은 데이터가 적은 작업에도 적용 가능합니다. 예를 들어, 특정 사용자 그룹에서 수집된 데이터가 적을 경우, 다른 관련 작업에서 학습된 정보를 공유하여 성능을 보완할 수 있습니다.
  • 정규화 역할을 수행(Regularization Effect) : 보조 작업(auxiliary tasks)의 학습 과정에서 발생하는 유도 편향(inductive bias) 이 주요 작업(Main task)의 일반화 성능을 향상시키는 정규화 효과를 가질 수 있습니다.

기존 다중 작업 학습 모델의 한계

일반적으로 널리 사용되는 다중 작업 학습 모델은 공유 하단(shared-bottom) 구조를 기반으로 합니다. 하지만 이러한 시스템은 다른 작업들이 동일한 파라미터를 공유해야 하기 때문에 최적화 충돌(Optimization Conflicts)이 발생할 가능성이 높습니다.

  • 데이터 희소성(Data Sparsity): 일부 작업에 대한 데이터가 부족할 경우 성능 저하 발생
  • 데이터 이질성(Data Heterogeneity): 서로 다른 유형의 데이터를 한 모델에서 학습하는 어려움
  • 사용자 의도 복잡성(Complex User Intents): 사용자의 의도가 다양하고 복잡하여 단순한 모델로 학습하기 어려움

위에 한계점에도 불구하고, 최근에는 대규모 추천 시스템에서 MMoE(Multi-gate Mixture-of-Experts)를 활용한 다중 작업 학습(Multi-task Learning) 이 증가하고 있으며, 이를 통해 최첨단(State-of-the-art) 성능을 달성하고 있습니다.

 

다음 섹션에서는 업계에서 MoE가 어떻게 활용되고 있는지에 대한 대표적인 사례들을 소개합니다.