MoE Mathematics: Top-K Router + Softmax + Noise + Auxiliary Load-Balancing Loss
Router is the heart of MoE. Top-K routing math derivation (Shazeer 2017, Switch Transformer 2021), token-to-expert assignment, expert capacity factor (overflow vs underutilization), load balancing loss, softmax temperature, top-K=2 vs top-K=1. Mixtral 8×7B's actual router config.
Şükrü Yusuf KAYA
34 min read
Advanced1. MoE'nin Çekirdek Fikri#
Dense transformer: her token, FFN'in tüm parametrelerinden geçer.
MoE: her token, N expert'ten K tanesinden geçer (top-K). Compute K/N × dense, kapasite N × dense.
Mixtral 8×7B: - 8 expert per FFN layer - Top-K = 2 (her token 2 expert'e gider) - Active params per token: 12.9B (out of 46.7B total) - Compute: 12.9B model gibi - Kapasite: 46.7B model gibi
Niye? Aynı compute bütçesinde model'in knowledge capacity'sini 3-4× artırır.
2. Router Math — Top-K Routing#
Input: x ∈ R^h (token embedding) # Router weights — küçük linear layer g(x) = softmax(W_g · x + ε) # ε = Gaussian noise (load balance için) # Top-K seçimi indices = topk(g(x), k=K) # k=2 Mixtral weights = g(x)[indices] # gating weights # Expert outputs out = Σ_{i in indices} weights[i] × E_i(x) # Σ weights = 1 değil (top-K sonrası), bu yüzden: weights = weights / sum(weights) # renormalize
Top-K=1 (Switch Transformer): En basit, en hızlı, ama kalite biraz düşük.
Top-K=2 (Mixtral): Daha iyi kalite, 2× expert call.
Top-K=8 (DeepSeek-V3): Çok fine-grained routing, daha iyi kalite.
3. Expert Capacity Factor#
Bir expert "kapasite"si:
capacity = (tokens × K / experts) × capacity_factor- — minimum (overflow olası)
capacity_factor = 1.0 - — pratik
capacity_factor = 1.25-1.5
Eğer bir expert'e kapasiteden fazla token gelirse:
- Overflow tokens: Silinir veya residual'a kayar (loss kaybı)
Eğer az gelirse:
- Padding: Boş slot'lar dolduruluyor (compute kaybı)
Dengeyi sağlayan: Auxiliary load-balancing loss.
4. Auxiliary Load-Balancing Loss#
L_aux = α · N · Σ_i (f_i × P_i) f_i = fraction of tokens routed to expert i P_i = average router probability for expert i N = number of experts α = 0.01-0.1 (sweet spot 0.01)
Sezgi: Eğer expert i ne sık seçiliyor (f_i yüksek) ne yüksek prob alıyor (P_i yüksek) → çift cezalı. Bu loss minimize edildiğinde router uniform-ish dağılım öğrenir.
FT'de dikkat: çok yüksek → router uniform'a forced, expert specialization öğrenmez. Çok düşük → bir expert dominates, capacity overflow.
αMixtral default: α=0.001 (training). FT'de aynı bırakılır.
✅ Teslim
- Mixtral config dosyasındaki router parametrelerini oku. 2) Top-K=1 vs K=2 karşılaştır (paper sayıları). 3) Sonraki ders: 5.2 — Mixtral 8×7B / 8×22B FT.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
Part 0 — Engineering Foundations
Welcome to the Fine-Tuning Cookbook: System, Stage Taxonomy, and the Reproducibility Contract
Start LearningPart 0 — Engineering Foundations
Reproducibility Stack: Seeds, cuDNN Flags, and Deterministic CUDA — End the 'Works on My Machine' Problem
Start LearningPart 0 — Engineering Foundations