AI VIDEO BRIEFING
전문가 혼합(MoE) 원리: 라우터·희소 활성화·로드 밸런싱까지 한 번에
DeepSeek·Mixtral이 채택한 전문가 혼합(MoE)의 원리를 코드 수준까지 풀었다. 라우터로 토큰을 전문가에 분배하는 방식, 희소 활성화로 연산을 줄이는 이유, 로드 밸런싱 기법을 정리했다.

핵심 메시지
쉽게 이해하기
일반 트랜스포머는 모든 토큰을 동일한 계산 그래프로 처리한다. 전문가 혼합(MoE)은 이 전제를 뒤집어, 여러 개의 작은 전문가 네트워크를 두고 토큰의 성격에 따라 알맞은 전문가로 보낸다(라우팅). 장점은 전문가를 여러 GPU에 나눠 병렬 처리할 수 있고, 토큰당 활성화되는 가중치가 줄어 연산량이 감소한다는 점이다. 다만 모든 전문가를 메모리에 올려야 하므로 총 메모리는 줄지 않는다.
일반 LLM 디코더는 인과적 어텐션, 피드포워드 신경망, 잔차 연결의 세 요소로 이뤄진다. MoE는 이 중 토큰별로 독립 적용되는 피드포워드 층만 교체한다. 어텐션과 잔차 연결 등 나머지 구조는 그대로 둔 채, 피드포워드 자리에 전문가들과 라우터를 넣는 것이다.
가장 단순한 형태인 '밀집(dense) MoE'는 라우터가 각 토큰에 대해 전문가별 확률을 내고, 모든 전문가가 모든 토큰을 처리한 뒤 그 확률로 가중평균한다. 표현력은 높아지지만 모든 전문가가 항상 계산되므로 연산이 절감되지 않는다.
이 한계를 푸는 것이 '희소(sparse) MoE'다. 라우터 확률 상위 k개(보통 2개 이상) 전문가만 골라 실행한다. 전문가 하나만 쓰면 라우터가 특정 전문가만 반복 선택하는 '라우터 붕괴'에 빠지므로, 탐색과 활용의 균형을 위해 최소 두 전문가를 비교하도록 한다.
실제로는 특정 전문가에 토큰이 쏠리지 않도록 로드 밸런싱이 중요하다. 전문가·장치·통신 균형을 위한 보조 손실, DeepSeek-V3가 도입한 동적 전문가 바이어스, 모든 토큰이 거치는 공유 전문가, 스위치 트랜스포머의 '전문가 용량'과 '남는 토큰 재배정' 같은 기법이 쓰인다.
주요 인사이트
- MoE는 총 메모리를 줄이지 않는다. 모든 전문가를 장치에 적재해야 하며, 토큰 처리 시 선택된 전문가만 활성화해 '연산량'만 줄인다.
- 토큰당 전문가를 하나만 쓰면 라우터 붕괴로 실패한다. 최소 2개를 선택해야 어느 전문가가 더 나은지 비교하는 탐색이 가능하다.
- 전문가는 수학·코드처럼 도메인별로 깔끔히 나뉘지 않는다. 오히려 들여쓰기나 특정 단어 같은 구문 패턴에 따라 같은 전문가로 라우팅되는 경향이 관찰됐다.
- DeepSeek-V3는 성능을 해칠 수 있는 보조 손실 대신, 매 학습 단계마다 전문가 바이어스를 조절해 부하를 균형화하고, 공유 전문가로 문장 구조 같은 공통 지식을 학습하게 했다.
- 스위치 트랜스포머는 전문가마다 처리 가능한 토큰 수 상한(전문가 용량)을 두고, 넘친 토큰은 다음 순위 전문가로 재배정해 분산 학습의 병목을 막는다.
자주 묻는 질문
밀집(dense) MoE와 희소(sparse) MoE의 차이는 무엇인가요?
밀집 MoE는 모든 전문가가 모든 토큰을 처리하고 가중평균하므로 연산이 절감되지 않습니다. 희소 MoE는 토큰당 소수의 전문가만 활성화해 연산량을 크게 줄입니다.
MoE가 메모리를 줄여주나요?
아니요. MoE는 토큰당 활성화되는 연산량만 줄일 뿐, 모든 전문가를 장치 메모리에 함께 올려야 하므로 총 메모리는 줄지 않습니다.
왜 토큰당 2개 이상의 전문가를 선택하나요?
전문가 하나만 반복 선택되는 라우터 붕괴를 막고, 어떤 전문가가 더 적합한지 비교·탐색하기 위해서입니다. 최소 2개를 골라야 학습이 제대로 이뤄집니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗