주제: 5-3 효율화/서빙 (MoE: Switch Transformer / Mixtral)

분류: llm

타입: concept

난이도:

선수지식: 있음 — Transformer, Feed Forward Network, Distributed Training

문제 설정

LLM 성능을 높이기 위해 일반적으로 모델 크기를 증가시킵니다.

하지만 dense Transformer는 다음 문제가 있습니다.

이를 해결하기 위해 등장한 구조가 Mixture of Experts (MoE)입니다.

직관 비유

즉 모델 파라미터는 크지만 활성 파라미터(active parameters)는 작습니다.

1. Dense Transformer FFN

일반 Transformer의 FFN:

FFN(x)=W2σ(W1x)

기호 의미

왜 문제인가

모든 토큰에 대해 동일 FFN이 계산됩니다.

2. MoE 구조

MoE는 여러 FFN expert를 사용합니다.

Input token
↓
Router
↓
Expert 선택
↓
Expert FFN

수식:

y=Σgi(x)Experti(x)

기호 의미

왜 필요한가

모델 capacity를 크게 늘릴 수 있습니다.

3. Switch Transformer

Switch Transformer는 가장 단순한 MoE 구조입니다.

각 토큰은 1개의 expert만 선택합니다.

수식:

expert=argmaxg(x)

출력:

y=Expertselected(x)

기호 의미

왜 중요한가

계산 비용을 크게 줄입니다.

주의점

expert imbalance 문제가 발생할 수 있습니다.

4. Router 함수

router는 softmax 기반 gating을 사용합니다.

g(x)=softmax(Wrx)

기호 의미

왜 필요한가

어떤 expert가 적합한지 결정합니다.

5. Load Balancing 문제

MoE에서는 일부 expert에 트래픽이 집중될 수 있습니다.

이를 방지하기 위해 auxiliary loss를 사용합니다.

Ltotal=Ltask+λLbalance

기호 의미

왜 필요한가

expert utilization을 균등하게 유지합니다.

6. Mixtral 구조

Mixtral은 MoE 구조의 개선된 모델입니다.

특징:

수식:

y=giExperti(x)+gjExpertj(x)

기호 의미

왜 중요한가

Switch보다 안정적인 학습이 가능합니다.

7. Dense vs MoE

모델 계산 방식
Dense 모든 파라미터 사용
MoE 선택된 expert만 사용

8. MoE 장점

9. MoE 단점

10. 실제 모델 예

모델 구조
Switch Transformer Top-1 MoE
Mixtral 8x7B Top-2 MoE

코드-수식 연결

개념 코드 설명
router torch.nn.Linear() expert selection
expert MLP() FFN expert
top-k routing torch.topk() expert 선택

자주 하는 오해 5개

체크리스트 (스스로 설명 가능해야 하는 질문)