Skip to content

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
Advanced
MoE Mathematics: Top-K Router + Softmax + Noise + Auxiliary Load-Balancing Loss

1. 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
  • capacity_factor = 1.0
    — minimum (overflow olası)
  • capacity_factor = 1.25-1.5
    — pratik
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
  1. 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