MoE는 왜 같은 연산으로 더 큰 모델처럼 동작하는가
Sparse activation의 정식화부터 load balancing loss, token dropping, 그리고 scaling law까지 — MoE가 dense를 넘어서는 이유를 추적한다.
- 01 LLM Fine-Tuning의 메모리 문제는 어디서 오는가
- 02 LoRA는 왜 저차원 행렬 두 개로 충분한가
- 03 LLM Quantization의 설계 철학 — 무엇을 희생하고 무엇을 보호할 것인가
- 04 QLoRA는 어떻게 65B 모델을 GPU 한 장에 올렸나
- 05 MoE는 왜 같은 연산으로 더 큰 모델처럼 동작하는가
- 06 Flash Attention은 어떻게 T² 메모리 장벽을 넘었나
- 07 Speculative Decoding은 어떻게 분포를 보존하면서 빠른가
Dense FFN은 모든 토큰이 모든 파라미터를 통과한다. 수십억 파라미터 모델에서 이 구조는 attention보다 compute-dominant하고, 모델이 커질수록 비용은 선형으로 쌓인다. Mixture of Experts(MoE)는 단 하나의 질문으로 이 구조를 뒤집는다 — 각 토큰에 필요한 expert만 활성화하면 어떻게 될까?
Sparse Activation의 수학적 출발점
MoE layer의 출력은 다음과 같이 정의된다.
여기서 는 gating network, 는 번째 expert FFN이다. “soft” mixture는 모든 expert를 계산해야 하므로 sparsity가 없다. 실용적인 형태는 hard top- selection이다.
, 이면 active FLOPs는 dense 대비 으로 감소한다. 전체 파라미터는 이지만, 토큰당 실제 계산은 에 불과하다.
동일한 active parameter를 갖는 top-1 MoE는 dense FFN을 정확히 흉내낼 수 있다. 따라서 MoE의 표현력은 dense 이상이다.
Dense FFN을 expert 에 두고 나머지 개 expert를 zero로 초기화한다. Gating logits를 로 설정하면 (), top-1 selection은 항상 을 선택한다. 따라서 MoE output = = dense output. 추가 expert는 표현력을 더할 수 있으므로 관계가 성립한다.
Top- Routing과 Gradient Flow
Top- selection은 를 포함하므로 미분 불가능하다. 학습을 가능하게 하는 방법은 두 가지다.
Noisy top-k: training 시 Gumbel noise를 추가해 확률적으로 이완한다.
inference에서는 deterministic top-를 사용한다. **Straight-through estimator(STE)**는 backward pass에서 대신 softmax의 gradient를 그대로 흘린다.
residual connection이 없으면 unselected expert는 gradient를 전혀 받지 못한다. 에서 인 는 출력에 기여하지 않으므로 이다. residual을 추가하면 — — identity term을 통해 모든 expert에 간접적인 gradient가 흐른다. Switch Transformer와 Mixtral이 모두 residual을 유지하는 이유다.
Load Balancing과 Router Collapse
Sparse routing을 그냥 두면 feedback loop가 생긴다. 초기에 조금 더 많이 선택된 expert가 더 많은 gradient를 받고, gating network가 그 expert를 더 선호하게 된다. 결국 한 expert가 토큰의 90% 이상을 받고 나머지는 사실상 죽는다 — router collapse다.
Switch Transformer는 이를 막기 위해 auxiliary loss를 도입했다.
는 expert 가 실제로 선택된 비율(frequency), 는 gating softmax의 평균 확률이다. 두 양의 곱을 최소화하면 — AM-GM 부등식에 의해 — 최솟값은 , 인 균등 분포일 때 달성된다.
가 너무 작으면 collapse를 막지 못하고, 너무 크면 task loss를 희생한다. Switch Transformer의 기본값은 이며, expert 수가 많을수록() 더 큰 값이 필요하다. ST-MoE(Zoph et al. 2022)는 logit magnitude를 제어하는 router z-loss 를 추가해 안정성을 높인다.
Expert Capacity와 Token Dropping
GPU는 fixed-shape tensor 연산에 최적화되어 있다. expert별로 처리할 토큰 수가 달라지면 커널 효율이 급감한다. 이를 해결하기 위해 per-expert capacity를 정의한다.
는 batch 내 총 토큰 수, 는 capacity factor(일반적으로 1.25)다. capacity를 초과한 토큰은 MoE layer를 건너뛰고 residual connection으로 직접 통과한다 — token dropping이다.
dropped token도 로 gradient를 받는다(identity residual 덕분). Chernoff bound 분석에 따르면 drop rate는 에 비례하므로, 에서 대부분의 경우 1% 이하를 유지한다. dropped token은 평균적으로 gating logit이 낮은(낮은 confidence) 토큰이다 — 높은 confidence 순으로 capacity를 채우기 때문이다.
MoE Scaling Law — 왜 같은 연산으로 더 크게 동작하는가
Dense 모델의 scaling law는 다음과 같다.
MoE에는 두 개의 파라미터 차원이 있다 — active parameter (compute를 결정)와 total parameter (지식 용량을 결정). Clark et al.(2022)의 empirical 분석은 다음을 보인다.
가 effective parameter다. compute는 만 결정하므로, 동일한 compute budget 하에서 를 독립적으로 키울 수 있다. 인 dense와 달리, MoE는 로 설정해 를 달성한다.
Sparsity ratio 의 실용적 최적값은 이다(Krajewski 2024). 이면 의 이점이 부족하고, 이면 routing overhead와 communication cost가 이론적 이득을 잠식한다. Mixtral 8×7B(47B total, 13B active)는 으로 이 범위의 하한 근방이며, GPT-3.5에 준하는 성능을 3배 빠른 inference로 제공한다.
정리
- MoE는 top- routing으로 FLOPs를 으로 감소시키면서, 표현력은 dense 이상을 보장한다.
- Router collapse는 load balancing loss 로 막는다. 최솟값은 균등 분포에서만 달성된다.
- Token dropping은 capacity를 초과한 토큰을 residual로 bypass한다. 에서 drop rate는 대부분 1% 이하다.
- MoE의 effective parameter는 이며, 동일 compute 예산에서 dense보다 큰 를 달성한다.
- Sparsity ratio의 실용적 최적값은 이다.