혼합 전문가 모델 (Mixture of Experts)

컴퓨터과학·AI
한 줄 정의: 입력마다 여러 개의 "전문가" 서브 네트워크 중 일부만 선택적으로 작동시켜, 계산량은 아끼면서 모델의 전체 용량은 크게 키우는 신경망 구조입니다.

쉽게 풀면

큰 병원에 내과, 외과, 피부과 등 여러 전문의가 있다고 생각해봅시다. 환자가 오면 모든 의사가 다 진료하는 게 아니라, 접수처(라우터)가 증상을 보고 필요한 전문의 한두 명에게만 보냅니다. Mixture of Experts(MoE)도 똑같은 방식입니다. 모델 안에 "전문가"라 불리는 작은 신경망 여러 개를 두고, 입력이 들어올 때마다 라우터가 가장 적합한 전문가 몇 개만 골라 계산을 맡깁니다. 전체 전문가 수는 매우 많아 모델 용량(파라미터 수)은 크지만, 실제로 한 번에 쓰이는 전문가는 일부뿐이라 계산 비용은 훨씬 작게 유지됩니다.

왜 중요한가

모델 성능을 높이려면 일반적으로 파라미터 수를 늘려야 하지만, 이는 학습과 추론에 드는 계산 비용도 함께 늘리는 문제로 이어집니다. Mixture of Experts는 전체 파라미터 용량과 실제 연산량을 분리함으로써 이 딜레마를 완화하는 구조로, 제한된 계산 예산 안에서 더 큰 모델 용량을 확보하려는 최근 대형 언어 모델 연구의 핵심 축 중 하나로 다뤄집니다.

논문에서는 이렇게 쓰입니다

"본 모델은 Mixture of Experts 구조를 채택하여 토큰당 8개의 전문가 중 상위 2개만 활성화함으로써 추론 비용을 크게 절감했다."

이 문장은 모델이 전체 파라미터를 다 쓰지 않고, 입력마다 필요한 일부 전문가만 골라 써서 성능은 유지하면서 계산 자원을 아꼈다는 뜻입니다. 최근 대형 언어 모델들이 성능과 효율을 동시에 확보하기 위해 자주 채택하는 구조입니다.

"전문가 간 부하가 특정 전문가에 편중되는 것을 막기 위해 보조 손실 함수(auxiliary loss)를 도입하여 라우팅을 안정화하였다."

MoE 학습 과정에서 일부 전문가에만 입력이 몰리는 불균형 문제를 방지하기 위한 정규화 기법을 설명할 때 흔히 등장하는 표현입니다.

"비전 트랜스포머에 Mixture of Experts를 적용하여 이미지 패치별로 서로 다른 전문가를 활성화함으로써 모델 용량을 확장하였다."

MoE 구조는 언어 모델뿐 아니라 비전 분야에서도 활용되며, 이 경우 입력 이미지의 패치 단위로 라우팅이 이루어진다는 점을 보여주는 예시입니다.

조금 더 깊게 보면

MoE의 핵심 구성 요소인 라우터(게이팅 네트워크)는 입력에 따라 어떤 전문가를 활성화할지 결정하는데, 이 과정에서 특정 전문가에게만 입력이 쏠리는 불균형이 생기기 쉽습니다. 이를 막기 위해 보조 손실이나 용량 제한(capacity factor) 같은 부하 분산 기법이 함께 쓰이는 경우가 많습니다. 또한 전문가들을 여러 장치에 나누어 배치하는 방식이 흔해 학습·추론 시 장치 간 통신 비용이 성능에 큰 영향을 미치며, 이는 MoE 모델을 설계할 때 중요한 고려 사항으로 다뤄집니다.

주의할 점

MoE는 전체 파라미터 수는 늘어나지만 추론 시 실제로 활성화되는 파라미터는 일부라는 점에서, 파라미터 수만 보고 "이 모델이 그만큼 무겁다"고 단순 비교하면 오해가 생길 수 있습니다. 또한 여러 전문가를 병렬로 서비스하려면 로드밸런싱과 통신 비용 관리가 별도로 필요합니다.

관련 용어