챕터별 상세
MoE 레이어의 구조와 기본 개념
Transformer 아키텍처 내에서 기존의 MLP(Multi-Layer Perceptron) 레이어를 여러 개의 전문가(Expert) 레이어로 대체하는 MoE 구조를 설명했다. 각 토큰은 모든 전문가를 거치지 않고 라우팅 알고리즘에 의해 선택된 일부 전문가에게만 전달된다. 이를 통해 모델의 전체 파라미터 수는 늘리면서도 실제 추론 시 활성화되는 파라미터 수를 제한하여 연산 효율성을 확보했다.
라우터 로짓(Router Logits) 계산 과정
입력 토큰 임베딩을 전문가 수만큼의 차원으로 투영하는 선형 레이어(Linear Layer)를 통해 라우터 로짓을 생성했다. 이 과정에서 Bias는 단순화를 위해 생략할 수 있으며, 결과값은 각 토큰이 특정 전문가와 얼마나 적합한지를 나타내는 점수가 된다. PyTorch의 torch.nn.Linear를 활용하여 구현하며, 입력 텐서의 형태는 [Batch Size, Num Tokens, Embedding Dim]에서 [Batch Size, Num Tokens, Num Experts]로 변환되었다.
Top-K 선택과 희소성(Sparsity) 구현
계산된 로짓 중 상위 K개의 전문가만 선택하는 Top-K Selection 과정을 시연했다. 선택되지 않은 전문가의 로짓은 음의 무한대(-inf)로 마스킹 처리하여 Softmax 계산 시 확률값이 0이 되도록 유도했다. 이를 통해 모델은 전체 전문가 중 가장 적합한 소수의 전문가에게만 연산을 집중하며, 이는 MoE의 핵심적인 효율성 원천이 되었다.
전문가 용량(Expert Capacity)과 슬롯 선택
각 전문가가 한 번에 처리할 수 있는 토큰의 최대 개수인 전문가 용량(Expert Capacity) 개념을 도입했다. Capacity Factor를 사용하여 전문가당 할당 가능한 슬롯(Slot) 수를 계산하며, 이는 하드웨어 연산의 균형을 맞추기 위해 필수적이다. 토큰들은 자신의 우선순위에 따라 전문가의 빈 슬롯을 차지하게 되며, 이 과정은 누적 합계(Cumulative Sum)를 통해 관리되었다.
토큰 드롭(Token Dropping) 메커니즘
특정 전문가에게 너무 많은 토큰이 몰려 용량을 초과할 경우 발생하는 토큰 드롭 과정을 상세히 다뤘다. 슬롯 번호가 Capacity를 초과하는 토큰은 유효하지 않은 할당으로 간주되어 마스킹 처리되었다. 드롭된 토큰은 해당 레이어의 전문가 연산을 거치지 않게 되며, 이는 모델 성능에 영향을 줄 수 있으므로 적절한 Capacity Factor 설정이 중요하다는 점을 확인했다.
최종 가중치 행렬 및 전문가 배치 구성
선택된 전문가, 할당된 슬롯, 그리고 정규화된 라우팅 가중치를 결합하여 최종 연산 행렬을 구축했다. 3차원 또는 4차원 텐서 연산을 통해 각 전문가가 처리해야 할 토큰들을 모으는(Gather) 과정을 수행했다. 최종적으로 각 전문가는 자신에게 할당된 토큰 배치에 대해 MLP 연산을 수행하고, 그 결과에 라우팅 확률을 곱하여 원래의 토큰 순서대로 복원했다.
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 01. 23.수집 2026. 02. 21.출처 타입 YOUTUBE
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
