Yolo 비전 선전
선전
지금 참여하기
용어집

전문가 혼합(MoE)

NLP, 비전, 로봇 공학 등을 위한 확장 가능하고 효율적인 모델을 지원하는 획기적인 AI 아키텍처인 MoE(Mixture of Experts)를 알아보세요.

전문가 혼합(Mixture of Experts, MoE)은 딥러닝에서 모델이 계산 비용을 비례적으로 증가시키지 않으면서도 대규모로 확장할 수 있도록 하는 특수한 아키텍처 설계입니다. 모든 입력에 대해 모든 매개변수가 활성화되는 표준 밀집 신경망(NN)과 달리, MoE 모델은 조건부 계산이라는 기법을 사용합니다. 이 접근법은 입력 데이터의 특정 특성에 따라 네트워크 구성 요소 중 소수 부분집합(일명 "전문가")만을 동적으로 활성화합니다. 이를 통해 MoE 아키텍처는 훨씬 작은 시스템의 추론 지연 시간과 운영 속도를 유지하면서도 수조 개의 매개변수를 보유할 수 있는 강력한 기초 모델을 구축할 수 있게 합니다.

교육부의 핵심 메커니즘

전문가 혼합 모델의 효율성은 표준 밀집 레이어를 스파스 MoE 레이어로 대체함으로써 비롯됩니다. 이 레이어는 일반적으로 정보를 효율적으로 처리하기 위해 함께 작동하는 두 가지 주요 요소로 구성됩니다:

  • 전문가: 이들은 독립적인 하위 네트워크로, 종종 단순한 전이 신경망(FFN)입니다. 각 전문가는 데이터의 서로 다른 측면을 처리하는 데 특화되어 있습니다. 자연어 처리(NLP)의 맥락에서, 한 전문가는 문법 처리에 능숙해질 수 있는 반면, 다른 전문가는 사실 검색이나 코드 구문에 집중할 수 있습니다.
  • 게이팅 네트워크(라우터): 라우터는 데이터의 트래픽 컨트롤러 역할을 합니다. 이미지 패치나 텍스트 토큰과 같은 입력값이 레이어에 들어오면, 라우터는 소프트맥스 함수를 사용하여 확률 점수를 계산합니다. 그런 다음 해당 입력값을 가장 높은 점수를 받은 "상위 K개" 전문가(보통 한두 개)에게만 전달합니다. 이를 통해 모델이 가장 관련성이 높은 매개변수에만 에너지를 소비하도록 보장합니다.

모델 앙상블과의 구별

두 개념 모두 여러 하위 모델을 사용하지만, 전문가 혼합(Mixture of Experts)과 모델 앙상블을 구분하는 것이 중요하다. 전통적인 앙상블에서는 그룹 내 모든 모델이 동일한 입력을 처리하며, 정확도를 극대화하기 위해 결과들을 평균화하거나 투표한다. 이 접근법은 모델 수에 비례하여 계산 비용을 선형적으로 증가시킨다.

반대로, MoE는 서로 다른 입력값이 서로 다른 경로를 통과하는 단일 통합 모델입니다. 스파스 MoE는 주어진 추론 단계에서 전체 매개변수의 일부만 실행함으로써 확장성과 효율성을 추구합니다. 이는 밀집형 앙상블과 관련된 막대한 비용 없이도 방대한 양의 훈련 데이터로 학습할 수 있게 합니다.

실제 애플리케이션

MoE 아키텍처는 특히 다중 작업 처리 능력과 광범위한 지식 보존이 필요한 시나리오에서 현대 고성능 AI의 핵심 토대가 되었다.

  1. 다국어 언어 모델: Mistral AI의 Mixtral 8x7B와 같은 주요 모델들은 MoE(모델-in-model) 방식을 활용하여 다양한 언어 작업에서 탁월한 성능을 발휘합니다. 토큰을 전문화된 전문가 모듈로 라우팅함으로써, 이러한 시스템은 단일 모델 구조 내에서 번역, 요약, 코딩 작업을 처리할 수 있으며, 유사한 활성 매개변수 수를 가진 고밀도 모델보다 우수한 성능을 보입니다.
  2. 확장 가능한 컴퓨터 비전: 컴퓨터 비전(CV) 분야에서 연구자들은 대규모 비전 백본을 구축하기 위해 모듈러 에이전트(MoE)를 적용합니다. 비전 모듈러 에이전트(V-MoE) 아키텍처는 전문가들이 서로 다른 시각적 특징을 인식하는 데 특화될 수 있으며, 이를 통해 ImageNet과 같은 벤치마크에서 성능을 효과적으로 확장하는 방법을 보여줍니다. ImageNet과 같은 벤치마크에서 성능을 효과적으로 확장하는 방법을 보여줍니다. 예측 가능한 메모리 사용량으로 인해 YOLO26과 같은 고도로 최적화된 밀집 모델이 실시간 가장자리 감지의 표준으로 남아 있지만, MoE 연구는 서버 측 시각적 이해의 한계를 계속해서 넓혀가고 있습니다.

라우팅 로직 예시

게이팅 네트워크가 전문가를 선택하는 방식을 이해하려면 이 단순화된 PyTorch 예시를 살펴보자. 이는 주어진 입력에 대해 가장 관련성 높은 전문가를 선택하는 라우팅 메커니즘을 보여준다.

import torch
import torch.nn as nn

# A simple router deciding between 4 experts for input dimension of 10
num_experts = 4
input_dim = 10
router = nn.Linear(input_dim, num_experts)

# Batch of 2 inputs
input_data = torch.randn(2, input_dim)

# Calculate scores and select the top-1 expert for each input
logits = router(input_data)
probs = torch.softmax(logits, dim=-1)
weights, indices = torch.topk(probs, k=1, dim=-1)

print(f"Selected Expert Indices: {indices.flatten().tolist()}")

훈련 및 배치의 과제

MoE 모델은 장점에도 불구하고 훈련 과정에 고유한 문제를 야기합니다. 주요 쟁점은 부하 분배입니다. 라우터가 소수의 '인기 있는' 전문가만을 선호하고 다른 전문가들을 무시함으로써 용량 낭비가 발생할 수 있습니다. 이를 완화하기 위해 연구자들은 보조 손실 함수를 활용하여 모든 전문가의 균등한 사용을 유도합니다.

또한 이러한 대규모 모델을 배포하려면 정교한 하드웨어 설정이 필요합니다. 총 매개변수 수가 많기 때문에(활성 매개변수가 적더라도) 모델은 상당한 VRAM을 요구하는 경우가 많으며, 이로 인해 여러 GPU에 걸친 분산 훈련이 필요합니다. Microsoft 같은 프레임워크는 이러한 시스템을 효율적으로 훈련하는 데 필요한 병렬 처리를 관리하는 데 도움을 줍니다. 이러한 복잡한 아키텍처를 위한 데이터셋 및 훈련 워크플로우 관리를 위해 Ultralytics 같은 도구는 로깅, 시각화 및 배포를 위한 필수 인프라를 제공합니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기