SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2604.04230 · 2026

Three Phases of Expert Routing: How Load Balance Evolves During Mixture-of-Experts Training

Charafeddine Mouzouni

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 21 functions out of this paper's own repositories and ran 18 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
Cmouzouni/three-phases-moe canonical 18 of 21
FunctionStatusWhere it lives
compute_gamma_layer Ran Cmouzouni/three-phases-moe/experiments/aws_quality_robustness.py
code served (permissive licence) · get_code("d8d4269c8c734c90")
compute_gamma_layer_split Ran Cmouzouni/three-phases-moe/experiments/aws_quality_robustness.py
code served (permissive licence) · get_code("84a88b95d8196d1f")
entropy_norm Ran Cmouzouni/three-phases-moe/experiments/exp3b_multi_model.py
code served (permissive licence) · get_code("ecf3322ebee8d2d2")
fit_gamma Ran Cmouzouni/three-phases-moe/experiments/aws_olmoe_dense.py
code served (permissive licence) · get_code("b6fc027d85d02c48")
fit_gamma Ran Cmouzouni/three-phases-moe/experiments/aws_openmoe_dynamics.py
code served (permissive licence) · get_code("d643137b9a8db451")
fit_gamma Ran Cmouzouni/three-phases-moe/experiments/aws_quality_robustness.py
code served (permissive licence) · get_code("1460c2c62a70e31e")
fit_gamma_simple Ran Cmouzouni/three-phases-moe/experiments/exp10b_cluster_baselines.py
code served (permissive licence) · get_code("2f0aa4101587772e")
fit_mixture_softmax Ran Cmouzouni/three-phases-moe/experiments/exp10_definitive.py
code served (permissive licence) · get_code("dd49203038d1cfee")
fit_temperature Ran Cmouzouni/three-phases-moe/experiments/exp10_definitive.py
code served (permissive licence) · get_code("98d36b41ed3f1a21")
fit_temperature Ran Cmouzouni/three-phases-moe/experiments/exp10b_cluster_baselines.py
code served (permissive licence) · get_code("62c1457f1d24c547")
maxvio Ran Cmouzouni/three-phases-moe/experiments/exp3b_multi_model.py
code served (permissive licence) · get_code("3ed98a39aaeae94e")
mfg_social_cost Ran Cmouzouni/three-phases-moe/moe/theory.py
code served (permissive licence) · get_code("445f9db95ecf2b66")
per_cluster_softmax Ran Cmouzouni/three-phases-moe/experiments/exp10b_cluster_baselines.py
code served (permissive licence) · get_code("274d79df20322837")
show_c1_equivalence Ran Cmouzouni/three-phases-moe/moe/theory.py
code served (permissive licence) · get_code("e6962f8185e939c0")
softmax Ran Cmouzouni/three-phases-moe/moe/costs.py
code served (permissive licence) · get_code("6a18510b8fe51466")
switch_aux_loss Ran Cmouzouni/three-phases-moe/moe/theory.py
code served (permissive licence) · get_code("9beb8cc0dfae2b64")
synthetic_quality Ran Cmouzouni/three-phases-moe/moe/params.py
code served (permissive licence) · get_code("377318b5516d076e")
top_k_softmax Ran Cmouzouni/three-phases-moe/moe/costs.py
code served (permissive licence) · get_code("9d18b1ead51e244e")
extract_and_analyze Not yet run Cmouzouni/three-phases-moe/experiments/aws_openmoe_dynamics.py
code served (permissive licence) · get_code("642a49f96f69862d")
extract_per_text_stats Not yet run Cmouzouni/three-phases-moe/experiments/exp11b_dynamics_scaled.py
code served (permissive licence) · get_code("f9db0ee626816365")
process_checkpoint Not yet run Cmouzouni/three-phases-moe/experiments/aws_olmoe_dense.py
code served (permissive licence) · get_code("5b20d854dd88346d")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

We model Mixture-of-Experts (MoE) token routing as a congestion game with a single effective parameter-the congestion coefficient γ eff -that quantifies the balance-quality tradeoff. Tracking γ eff across training checkpoints of two open-source MoE models-OLMoE-1B-7B (20 checkpoints, with dense sampling in the surge region) and OpenMoE-8B (6 checkpoints)-reveals a three-phase trajectory: a surge phase where the router learns to balance load (γ eff : 14 → 36-39, peaking in the step 30K-40K region), a stabilization phase where experts specialize under steady balance (B 0 : 2.4 → 2.3, steps 100K-400K), and a relaxation phase where the router trades balance for quality as experts differentiate (γ eff : 27 → 9, steps 400K-1.2M). This non-monotone trajectory-invisible to post-hoc analysis of converged models-reveals that early MoE training prioritizes balance while late training prioritizes quality. The theoretical framework is honest about its limits: the single-type equilibrium reduces to temperature-scaled softmax (held-out L 1 : MFG = 0.199 vs. softmax = 0.200). The game is not a better predictor; it reveals what the temperature means and, critically, how that temperature evolves. Annealing checkpoints confirm that the three phases are pretrainingspecific: γ eff is stable during fine-tuning. We complement the dynamics with an effective congestion decomposition (γ eff = γ explicit +γ implicit ), a multi-type extension that improves load prediction via token clustering on all 16 layers (mean: 30%; robust to cluster count K = 2, 4, 8), and scope diagnostics (K/M, ε l ) that characterize where the per-layer model applies. All confidence intervals are from bootstrap resampling over 50 independent text batches. Code and data: https://github.com/Cmouzouni/three-phases-moe.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2604.04230")
get_code_for_paper("2604.04230")
have("2604.04230")

Connect an agent — have() is free.