AI VIDEO BRIEFING
전문가 혼합 MoE 구조 완전 정리: 라우터·로드 밸런싱·DeepSeek V3까지
DeepSeek V3·Qwen 3 같은 최신 AI를 떠받치는 전문가 혼합(MoE) 구조를 트랜스포머 FFN부터 라우터, 로드 밸런싱, 학습 안정화까지 쉽게 풀어 설명합니다.

핵심 메시지
쉽게 이해하기
전문가 혼합(Mixture of Experts, MoE)은 오늘날 가장 앞선 AI 모델들을 떠받치는 핵심 설계다. 핵심 발상은 단순하다. 모델 안에 여러 개의 전문가 신경망을 두되, 입력 토큰 하나하나를 모든 전문가가 아니라 일부 전문가에게만 보내 처리한다는 것이다. 덕분에 전체 파라미터 수는 크게 늘리면서도, 실제 한 토큰을 처리할 때 드는 계산량과 메모리는 그대로 유지할 수 있다.
이를 이해하려면 먼저 트랜스포머의 구조를 봐야 한다. 트랜스포머는 어텐션과 피드포워드 신경망(FFN)이 번갈아 쌓인 층으로 이뤄진다. 어텐션은 문장 안에서 각 토큰이 어떤 토큰과 관련 있는지 문맥적 의존성을 잡아준다. 하지만 '대만의 수도는?' 같은 질문에 정확히 답하려면 문맥만으로는 부족하고, 모델의 가중치 안에 저장된 사실 지식을 꺼내와야 한다. 그 역할을 하는 것이 바로 FFN이다.
FFN은 세 단계로 작동한다. 먼저 업 프로젝션(보통 입력 차원의 4배 크기)으로 차원을 키우는데, 영상은 이 행렬의 각 행을 '하나의 의미적 질문'으로, 입력과의 내적을 '그 질문에 얼마나 들어맞는지'로 해석한다. 이어 ReLU 같은 비선형 활성화로 관련 없는 질문을 걸러내고, 다운 프로젝션으로 다시 원래 차원으로 되돌린 뒤 잔차 연결로 원래 토큰 표현에 더한다. 이렇게 모델은 문맥 이해에 더해 사실 지식을 끌어와 보강한다.
성능을 높이려면 FFN의 은닉 차원을 키워 더 다양한 질문과 더 세밀한 지식을 담으면 되지만, 그러면 학습·추론이 느려지고 메모리도 더 든다. MoE는 이 딜레마를 푼다. 큰 FFN을 여러 개의 작고 전문화된 전문가로 나누고, 각 토큰에 대해 라우터가 가장 적합한 일부 전문가만 골라 활성화한다. 라우터는 전문가마다 점수를 내고 소프트맥스로 확률을 구한 뒤 상위 K개(예: 2개)를 선택하며, 최종 출력은 그 확률을 가중치로 한 전문가 출력들의 가중 평균이다.
다만 학습 초기에는 모든 전문가가 똑같이 형편없기 때문에, 우연히 먼저 선택된 전문가만 계속 갱신되어 잘해지고 라우터가 그쪽으로만 토큰을 몰아주는 자기강화가 일어난다. 결국 나머지 전문가는 거의 쓰이지 않고 '죽어버리는' 로드 밸런싱 문제가 생긴다. 또 소프트맥스는 모든 로짓에 상수를 더해도 결과가 변하지 않는 성질(이동 불변) 때문에 로짓이 무한정 커질 수 있고, 이는 fp16 같은 반정밀도 연산에서 오버플로를 일으켜 학습을 망가뜨린다.
주요 인사이트
- MoE의 본질은 '큰 FFN을 작은 전문가들로 쪼개고, 토큰마다 일부만 켠다'는 희소 활성화다. 그래서 파라미터는 늘려도 토큰당 연산량은 일정하게 유지된다.
- DeepSeek V3는 전문가를 256개까지 잘게 나누고 토큰당 8개만 활성화하는 세밀한 전문가 방식을 채택했으며, Qwen 3·Kimi K2 등 여러 오픈소스 모델이 이를 따랐다.
- 항상 켜져 있는 '공유 전문가'는 모든 토큰에 공통 지식을 제공하자는 아이디어지만 실험 결과는 엇갈린다. DeepSeek은 효과를 봤으나 OLMoE 실험에서는 개선이 없었다.
- 전문가 용량을 넘는 토큰은 버려지지만(잔차 연결로 다음 층에 그대로 전달), 용량을 키우면 패딩 낭비가 생긴다. 블록 대각 행렬 기반의 '드롭리스' 방식은 토큰을 버리지도, 메모리를 낭비하지도 않게 해준다.
- 로드 밸런싱 손실(전문가 중요도와 부하의 변동을 줄임)과 라우터 Z 손실(로짓이 커지는 것을 억제)은 최신 MoE 학습의 두 핵심 안전장치이며, 표준 다음 토큰 예측 손실과 함께 쓰인다.
자주 묻는 질문
MoE는 왜 모델을 키워도 추론이 느려지지 않나요?
모든 전문가를 다 거치는 게 아니라 라우터가 토큰마다 상위 K개 전문가만 골라 활성화하기 때문입니다. 전체 파라미터(전문가 수)는 늘어나도 한 토큰이 실제로 통과하는 계산량은 일정하게 유지됩니다.
전문가가 골고루 쓰이지 않는 문제는 어떻게 해결하나요?
라우터에 가우시안 노이즈를 더하는 노이지 top-K 게이팅, 전문가 중요도와 실제 부하(토큰 수)의 변동을 함께 줄이는 로드 밸런싱 손실을 씁니다. DeepSeek V3는 소프트맥스 대신 시그모이드를 쓰고 과·소부하 전문가에 바이어스를 동적으로 조정하는 손실 없는 방식을 적용합니다.
라우터 Z 손실은 왜 필요한가요?
소프트맥스는 로짓에 상수를 더해도 확률이 그대로라 로짓이 무한정 커질 수 있는데, 이는 fp16 연산에서 오버플로를 일으킵니다. 세이프 소프트맥스는 증상만 막을 뿐이라, 정규화 항의 로그를 제곱해 페널티로 더하는 라우터 Z 손실로 로짓을 안전한 범위에 묶어둡니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗