AI VIDEO BRIEFING
전문가 혼합(MoE)이란? 라우터와 희소 모델로 거대 언어모델을 빠르게 만드는 원리
전문가 혼합(MoE)이 무엇이고 전문가와 라우터, 밀집·희소 모델, KeepTopK와 보조 손실 같은 부하 균형 기법이 어떻게 작동하는지, 믹스트랄 8x7B의 활성 파라미터 사례와 비전 모델 적용까지 시각적으로 풀어 정리했습니다.

핵심 메시지
쉽게 이해하기
전문가 혼합(Mixture of Experts, MoE)은 서로 다른 하위 모델, 즉 "전문가"를 활용해 거대 언어모델의 품질을 끌어올리는 기법이다. MoE는 두 가지 핵심 요소로 정의된다. 첫째는 전문가로, 각 전문가는 피드포워드 신경망이며 적어도 하나는 활성화된다. 둘째는 라우터(또는 게이트 네트워크)로, LLM의 각 층에서 어떤 토큰을 어떤 전문가로 보낼지 결정한다. 여기서 전문가는 심리학이나 생물학 같은 특정 분야의 전문가가 아니라, 기껏해야 토큰 수준의 구문 정보를 학습하는 존재라는 점을 기억해야 한다.
MoE가 무엇을 대체하는지 보면 이해가 쉽다. 표준 디코더 전용 트랜스포머는 층 정규화 뒤에 피드포워드 신경망을 둔다. 이 신경망은 어텐션이 만든 문맥 정보를 받아 복잡한 관계를 포착하는데, 모든 파라미터가 활성화되므로 "밀집(dense)" 모델이라 부른다. 이 밀집 모델을 여러 조각, 곧 전문가들로 쪼개 다시 학습시키고 한 번에 일부 전문가만 활성화하면 "희소(sparse)" 모델이 된다. 추론 시에는 입력에 가장 잘 맞는 전문가들만 선택되므로, 토큰마다 거쳐 가는 경로가 달라진다.
그렇다면 어떤 전문가를 쓸지는 어떻게 정할까. 바로 라우터가 그 역할을 한다. 라우터는 소프트맥스 함수로 각 전문가에 대한 확률을 만들고, 가장 적합한 전문가를 선택·활성화한다. 최종 출력은 라우터 확률과 전문가 출력을 곱한 가중 활성화로 만들어진다. 결국 MoE 층은 여러 개의 피드포워드 신경망과, 최적의 전문가를 고르는 라우터로 이뤄진 구조다. 모든 전문가에 토큰을 분배하는 밀집형 MoE와, 소수 전문가만 고르는 희소형 MoE가 있다.
MoE에는 큰 단점이 하나 있다. 학습 중 어떤 전문가는 더 빨리 더 많이 배워서, 입력과 무관하게 같은 전문가만 너무 자주 선택될 수 있다. 우리는 전문가들 사이의 중요도가 균등하기를 바라며 이를 "부하 균형(load balancing)"이라 한다. KeepTopK 기법은 학습 가능한 가우시안 노이즈를 더해 같은 전문가만 뽑히는 것을 막고, 상위 두 전문가를 제외한 나머지 가중치를 음의 무한대로 설정한 뒤 소프트맥스를 적용해 그 확률을 0으로 만든다. 또 보조 손실(load balancing loss)은 전문가별 중요도 점수의 변동계수(표준편차÷평균)를 낮추도록 학습돼 더 안정적인 훈련을 돕는다.
불균형은 선택되는 전문가뿐 아니라 전문가로 보내지는 토큰 분포에서도 생긴다. 한 전문가가 거의 모든 토큰을 받고 다른 전문가는 토큰을 너무 적게 받아 학습이 덜 되는 일이 생긴다. 이를 막기 위해 한 전문가가 처리할 수 있는 토큰 수를 제한하는데 이를 "전문가 용량(expert capacity)"이라 한다. 용량을 넘는 토큰은 다음으로 유력한 전문가로 보내지고, 모든 전문가가 가득 차면 그 토큰은 처리되지 않고 다음 층으로 넘어간다(토큰 오버플로). 따라서 처리 가능한 토큰 수와 버려지는 토큰 수 사이의 균형이 중요하다.
MoE가 흥미로운 큰 이유는 계산 요구량에 있다. 한 번에 일부 전문가만 쓰므로 실제 사용하는 것보다 더 많은 파라미터를 보유하게 된다. 전체를 메모리에 올려야 하는 "희소 파라미터"는 많지만, 추론에서 실제로 쓰는 "활성 파라미터"는 적다. 믹스트랄 8x7B를 보자. 이름은 7B 전문가 8개를 뜻하지만, 실제 각 전문가는 약 5.6B 파라미터다. 어텐션이 10억 개가 넘는 큰 비중을 차지하고 라우터는 전문가당 약 3만 2천 개로 작다. 전체는 약 47B지만, 한 번에 두 전문가만 활성화하므로 추론 시 약 13B만 쓰여 크기에 비해 훨씬 빠르다. 마지막으로 이 구조는 비전 모델로도 옮겨갈 수 있다. 비전 트랜스포머에서 피드포워드 신경망을 MoE 층으로 바꾸면 비전 MoE가 되고, 패치가 버려지는 문제를 줄이기 위해 우선순위 점수를 쓰거나, 패치를 이산적으로 배정하는 대신 선형 결합으로 섞는 소프트 MoE를 쓴다.
주요 인사이트
- MoE의 전문가는 특정 학문 분야 전문가가 아니라, 토큰 수준의 구문 정보를 학습하는 피드포워드 신경망이다.
- 밀집 모델은 모든 파라미터를 활성화하지만, 희소 MoE는 입력마다 일부 전문가만 활성화해 같은 크기 대비 더 빠르다.
- 라우터는 소프트맥스로 전문가 확률을 만들고, 최종 출력은 그 확률과 전문가 출력의 가중 곱으로 결정된다.
- 부하 균형(KeepTopK의 노이즈, 보조 손실, 전문가 용량)이 없으면 소수 전문가만 학습돼 모델이 망가진다.
- 핵심 이점은 희소 파라미터(전체 적재량)와 활성 파라미터(실사용량)의 분리 — 믹스트랄은 47B를 적재하되 13B만 쓴다.
자주 묻는 질문
전문가 혼합(MoE)에서 전문가는 분야별 전문가인가요?
아닙니다. 각 전문가는 피드포워드 신경망이며, 심리학·생물학 같은 특정 분야가 아니라 기껏해야 토큰 수준의 구문 정보를 학습합니다. 입력에 가장 잘 맞는 전문가를 라우터가 고를 뿐입니다.
밀집 모델과 희소 모델의 차이는 무엇인가요?
밀집 모델은 모든 파라미터를 활성화하고, 희소 모델은 전체를 메모리에 올리되 추론 시 일부 전문가만 활성화합니다. 그래서 파라미터 수에 비해 더 빠르게 동작합니다.
특정 전문가만 자주 선택되는 문제는 어떻게 막나요?
KeepTopK로 학습 가능한 가우시안 노이즈를 더하고 상위 K개 외 확률을 0으로 만들며, 중요도 점수의 변동계수를 낮추는 보조 손실과, 전문가당 토큰 수를 제한하는 전문가 용량으로 부하를 균형 있게 맞춥니다.
믹스트랄 8x7B는 파라미터를 얼마나 사용하나요?
전체 약 47B 파라미터를 메모리에 올리지만, 한 번에 두 전문가만 활성화해 추론 시 약 13B만 사용합니다. 그래서 크기에 비해 훨씬 빠릅니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗