개요
Mixture of Experts(MoE)는 하나의 입력에 모든 파라미터를 사용하는 대신 여러 전문가 모듈 중 일부를 선택적으로 활성화하는 구조를 말한다. 이런 희소 활성화는 전체 파라미터 규모를 키우면서도 각 입력에 사용하는 계산량을 제한하려는 목적에 활용된다.[1]
Transformer와 MoE
Switch Transformer 연구는 Transformer 계열 모델에서 라우팅을 단순화해 토큰을 선택된 전문가로 보내는 구조를 제시하고, 희소 모델의 통신 비용과 학습 안정성 문제를 다뤘다.[1]
한계
MoE는 총 파라미터가 많다고 해서 모든 파라미터가 매 입력마다 계산되는 것은 아니다. 대신 전문가 간 부하 균형, 통신 비용, 학습 안정성 같은 별도의 시스템 문제가 생길 수 있다.
라우터와 전문가 선택
MoE 구조에서는 라우터가 각 토큰이나 입력을 어떤 전문가 모듈에 보낼지 결정한다. Switch Transformer는 토큰마다 소수의 전문가를 활성화하는 희소 라우팅을 통해 전체 모델 용량과 실제 계산량을 분리하는 접근을 보여줬다.[1]
전체 파라미터와 활성 파라미터
MoE 모델의 총 파라미터 수와 한 번의 추론에서 실제 계산에 참여하는 파라미터 수는 다를 수 있다. 따라서 dense 모델과 비교할 때 총 파라미터 숫자 하나만으로 추론 비용이나 성능을 판단하면 오해가 생길 수 있다.
시스템 비용
전문가가 여러 장치에 분산되면 라우팅에 따른 통신과 메모리 배치가 중요한 운영 문제가 된다. 또 특정 전문가에 요청이 몰리면 부하 불균형이 생길 수 있다. MoE는 계산 효율을 얻을 가능성과 함께 라우팅·분산·서빙 복잡성을 추가하는 구조로 보는 것이 적절하다.
계산 예제: 총 1,100만과 활성 500만 파라미터
다음은 실제 모델 사양이 아닌 가정이다. 전문가 8개가 각각 100만 파라미터이고 라우터를 포함한 공유 부분이 300만이라면 총 파라미터는 8×100만 + 300만 = 1,100만이다. 한 토큰에서 전문가 두 개를 선택하면 활성 파라미터를 단순 합산한 값은 2×100만 + 300만 = 500만이다. 여러 토큰이 서로 다른 전문가를 선택하면 배치 전체에서는 더 많은 전문가가 사용될 수 있다.
모든 가중치를 메모리에 둔다는 조건에서 32비트 원시 가중치 용량은 1,100만×4바이트 = 4,400만 바이트, 즉 십진 MB 기준 44MB다. 활성 500만만 계산해 20MB면 충분하다고 판단하면 나머지 전문가를 놓친다. 캐시·활성값·학습 상태·실행 여유는 별도다. 정밀도, 캐시와 배치까지 봐야 실제 추론 메모리를 추정할 수 있다.
부하 예제: 빈 자리가 있어도 한 전문가가 넘칠 때
별도의 가상 top-1 라우팅에서 전문가 4개의 수용량이 각각 2토큰이고 배치 8토큰이 5·1·1·1개로 배분됐다고 하자. 총 수용량은 8이지만 첫 전문가에는 5 - 2 = 3토큰의 초과가 생긴다. 다른 전문가의 빈 자리가 자동으로 이 세 토큰을 해결한다는 뜻은 아니다.
초과 토큰을 다시 배분할지, 해당 전문가 계산을 건너뛸지 등은 구현에 따라 확인한다. 건너뛰었다면 요청이나 토큰 자체를 삭제했다는 뜻과도 구분한다. Switch Transformer 연구 ↗는 토큰당 한 전문가를 선택하는 라우팅과 수용량·부하 균형 문제를 다뤘다.[1] 위 예제의 개수와 정책은 논문의 모델 측정값이나 모든 MoE의 기본 설정이 아니다.
통신과 장치 배치가 실제 속도를 바꾸는 이유
전문가를 여러 장치에 분산하면 토큰 표현을 보내고 결과를 다시 모으는 비용이 생긴다. 전문가 계산이 줄어도 전송·대기·작은 배치의 활용도 때문에 완료 시간과 처리량이 예상만큼 개선되지 않을 수 있다. 같은 총 파라미터나 같은 활성 파라미터 숫자가 동일한 실행 시간을 뜻하지 않는다.
GShard 연구 ↗는 조건부 계산과 분산 분할을 연결하고 top-2 라우팅 구성을 사용했다.[2] Switch의 단일 선택과 구분해서 읽는다. 비교 기록에는 전문가 수·선택 수·장치 수·정밀도·배치·입출력 길이·라우팅 정책과 품질을 넣고, 장치가 달라진 연구의 속도 배수를 그대로 서비스에 적용하지 않는다.
전문가 이름과 모델 품질을 읽는 기준
전문가가 언제나 '수학 담당'·'한국어 담당'처럼 사람이 붙인 고정 역할을 갖는다고 가정하지 않는다. 실제 선택 빈도와 실패를 언어·업무별로 측정하고, 불균형이 낮아졌다는 사실과 답변 품질이 좋아졌다는 사실을 나눠 본다. 전체 구조에서 어느 층을 MoE로 바꿨는지도 확인한다.