Routing Drift Alone Does Not Diagnose Failure in Merged MoE LLMs
Organizations: The Hong Kong Polytechnic University, PolyU
Abstract
Model merging efficiently combines specialized large language models (LLMs) without joint retraining, but can substantially alter expert routing in Mixture-of-Experts (MoE) models. Such routing drift is often interpreted as routing failure, raising a fundamental question that remains unclear: does routing drift after MoE merging actually indicate routing failure, and what evidence should justify repair? We investigate these questions across DeepSeekMoE, OLMoE, and Qwen3-MoE proposing a routing analysis toolkit for controlled counterfactual interventions and token-level analysis. By crossing source and merged router inputs and parameters, we attribute most expert reassignments to input shifts rather than parameter changes at the same layer. However, source-relative routing differences poorly predict next-token likelihood gains from source-route restoration, and different expert selections can produce directionally similar mixture outputs. We therefore operationalize routing failure as task loss recoverable under a specified routing intervention, with non-routing parameters fixed. These tests detect recoverable loss under deliberate router corruption, whereas source-route restoration does not establish reliable task benefits in the evaluated merged models. Motivated by these, we propose Selective Router Repair (SRR) as a case study, and find that source-specialist token-likelihood advantages do not reliably identify beneficial local corrections. Together, these findings show that routing drift alone is insufficient evidence of routing failure: source-informed corrections must be judged by their task-level intervention effects. The analysis toolkit and SRR code are released.
Figures & tables
| Model / merge | (pp) | ( ) | |
|---|---|---|---|
| Source-route replay: science | |||
| DeepSeekMoE / Avg. | 256 | ||
| DeepSeekMoE / TA | 256 | ||
| OLMoE / Avg. | 256 | ||
| OLMoE / TA | 256 | ||
| Qwen3-MoE / Avg. | 64 | ||
| Benchmarks (%) | Summary | 95% CI (pp) | ||||||||||
| Method | MMLU | Hella Swag | ARC-C | ARC-E | PIQA | Wino Grande | BoolQ | GSM8K | Avg. | Avg. | Lower | Upper |
| DeepSeekMoE-16B-A3B | ||||||||||||
| Average | 57.60 | 80.02 | 57.68 | 83.50 | 82.48 | 76.09 | 81.74 | 48.67 | 70.97 | — | — | — |
| + HARC | 57.58 | 80.05 | 57.68 | 84.01 | 82.32 | 76.48 | 82.05 | 49.51 | 71.21 | +0.236 | — | — |
| + SRR | 57.68 | 79.99 | 57.68 | 83.50 | 82.48 | 76.09 | 81.80 | 48.67 | 70.99 | +0.015 | -0.011 | +0.041 |
| Task Arithmetic | 58.04 | 80.03 | 58.11 | 83.92 | 82.32 | 76.48 | 80.83 | 45.26 | 70.62 | — | — | — |
| Contrast | Estimate | 95% CI |
|---|---|---|
| Native ( ) | ||
| Opposite ( ) |
Appendix figures & tables33 assets
Supplementary material from the paper’s appendix.
Appendix
| Analysis | Sampling frame | Record / inference unit |
|---|---|---|
| Natural route origin | 256 prompts (64/domain); all continuation tokens and sparse layers | Token–layer event / prompt UUID |
| Structural diagnostic | Same 256 prompts; final five sparse layers; eight hash-selected events per prompt (2,048/cell) | Counterfactual event / prompt UUID |
| Token-local route patch | 80 changed-route events per architecture–parent cell | Counterfactual event / prompt UUID |
| Local reference and redundancy | One hash-selected event per prompt (256/cell); 112–149 changed-route events/cell | Prompt event / prompt UUID |
| Task-grounded route patch | 256 fixed items/domain/cell; every non-padding question–choice token and sparse layer | Multiple-choice item / item |
| Matched random routes | 32 matched alternatives for each changed-route event | Prompt event / prompt UUID |
| Architecture / Parent | Changed route (%) | Representation (%) | Router parameters (%) |
|---|---|---|---|
| DeepSeekMoE / Average | |||
| DeepSeekMoE / Task Arithmetic | |||
| OLMoE / Average | |||
| OLMoE / Task Arithmetic |
| Architecture / Parent | Route / Top- | Route / JS | State / Top- | State / JS |
|---|---|---|---|---|
| DeepSeekMoE / Average | ||||
| DeepSeekMoE / Task Arithmetic | ||||
| OLMoE / Average | ||||
| OLMoE / Task Arithmetic |
| Architecture / Parent | [95% CI] | Events / prompts |
|---|---|---|
| DeepSeekMoE / Average | 80 / 71 | |
| DeepSeekMoE / Task Arithmetic | 80 / 74 | |
| OLMoE / Average | 80 / 66 | |
| OLMoE / Task Arithmetic | 80 / 68 |
| Model / Parent | Domain | Margin [95% CI] | Accuracy [95% CI] |
|---|---|---|---|
| DS / Average | Science | ||
| Mathematics | |||
| Computer science | |||
| DS / Task Arithmetic | Science | ||
| Mathematics | |||
| Computer science |
| Parent | Distance | Spearman [95% CI] | AUROC [95% CI] |
|---|---|---|---|
| Average | Full-routing JS | ||
| Top- set | |||
| Selected-weight JS | |||
| Task Arithmetic | Full-routing JS | ||
| Top- set | |||
| Selected-weight JS |
| Quantity | Average | Task Arithmetic |
|---|---|---|
| Overall flip rate | ||
| Representation-induced | ||
| Router-parameter-induced | ||
| Interaction-required | ||
| Redundantly sufficient |
| Parent | Margin [95% CI] | Accuracy [95% CI] |
|---|---|---|
| Average | ||
| Task Arithmetic |
| Model / Parent | Source wins [95% CI] | Ties | Merged best [95% CI] | Candidates, mean [range] |
|---|---|---|---|---|
| DS / Average | ||||
| DS / Task Arithmetic | ||||
| OL / Average | ||||
| OL / Task Arithmetic |
| Model / Parent | Events | Best expert pair | Source-route mixture | One-swap mixture |
|---|---|---|---|---|
| DS / Average | 115 | |||
| DS / Task Arithmetic | 149 | |||
| OL / Average | 112 | |||
| OL / Task Arithmetic | 142 | |||
| QW / Average | 91 | |||
| QW / Task Arithmetic | 118 |
| Architecture | Average | Task Arithmetic |
|---|---|---|
| DeepSeekMoE | ||
| OLMoE | ||
| Qwen3-MoE |
| Architecture / Parent | Observed source | Matched random | Difference [95% CI] |
|---|---|---|---|
| DeepSeekMoE / Average | 0.902 | 0.769 | |
| DeepSeekMoE / Task Arithmetic | 0.895 | 0.748 | |
| OLMoE / Average | 0.976 | 0.855 | |
| OLMoE / Task Arithmetic | 0.966 | 0.854 | |
| Qwen3-MoE / Average | 0.953 | 0.840 | |
| Qwen3-MoE / Task Arithmetic | 0.957 | 0.841 |
| Contrast | DeepSeekMoE | OLMoE |
|---|---|---|
| Source–Average | ||
| Source–TA | ||
| Base–source | ||
| Source–source router only |
| Parent | Accuracy change [interval] | Margin change [interval] |
|---|---|---|
| Injected corruption clean-native routing replay | ||
| Average | ||
| Task Arithmetic | ||
| Native merged routing frozen LC routing replay | ||
| Average | ||
| Task Arithmetic | ||
| Parent | Permutation seed | Corrupted | Replay | Recovery [95% CI] | Holm | |
|---|---|---|---|---|---|---|
| Average | 17017 | 1 | 53.12 | 50.78 | No | |
| 4 | 38.28 | 50.78 | Yes | |||
| 16 | 17.97 | 50.78 | Yes | |||
| 29029 | 1 | 49.22 | 50.39 | No | ||
| 4 | 37.89 | 50.78 | Yes | |||
| 16 | 23.44 | 50.78 | Yes |
| Quantity | Value | Quantity | Value |
|---|---|---|---|
| Likelihood temperature | Relative ridge | ||
| Sign consistency | Update scale | ||
| Minimum activity | Profile/activity floor | ||
| Pairs per domain/layer | Ridge energy floor | ||
| Eligible router layers | Final | PCG iteration limit | |
| True-residual tolerance |
| Cell | Weighted positive | Uniform positive | All uniform | Shuffled positive |
|---|---|---|---|---|
| DS / Average | .01774 | .01682 | .01624 | .01761 |
| DS / TA | .05171 | .05065 | .04973 | .05406 |
| OL / Average | .06645 | .05756 | .05471 | .06211 |
| OL / TA | .11473 | .10365 | .09864 | .10738 |
| Setting | Source | Source | Fitted | Fitted | |
|---|---|---|---|---|---|
| Positive support | |||||
| OL / Average | 101 | [-1pt] | [-1pt] | [-1pt] | [-1pt] |
| OL / TA | 122 | [-1pt] | [-1pt] | [-1pt] | [-1pt] |
| QW / Average | 117 | [-1pt] | [-1pt] | [-1pt] | [-1pt] |
| QW / TA | 131 | [-1pt] | [-1pt] | [-1pt] | [-1pt] |
| Pooled | 471 | [-1pt] | [-1pt] | [-1pt] | [-1pt] |
| Merge | Layer | Direct [95% CI] | Input response [95% CI] | Executed [95% CI] |
|---|---|---|---|---|
| Avg | 11 | |||
| 12 | ||||
| 13 | ||||
| 14 | ||||
| 15 | ||||
| TA | 11 |
| Merge | Layer | Direct [95% CI] | Input response [95% CI] | Executed [95% CI] |
|---|---|---|---|---|
| Avg | 43 | |||
| 44 | ||||
| 45 | ||||
| 46 | ||||
| 47 | ||||
| TA | 43 |
| Merge | Layer | Cross | Top- change (%) | Weight /2 | Native–FP64 | Algebra resid. | |
|---|---|---|---|---|---|---|---|
| Avg | 11 | 0 | 0.781 | 0.00042 | 0 | 0.0185 | 0 |
| 12 | -1.8e-07 | 0.781 | 0.000836 | 0.00363 | 0.0211 | 0 | |
| 13 | -6.54e-08 | 3.91 | 0.00198 | 0.00643 | 0.0247 | 0 | |
| 14 | 3.36e-07 | 2.34 | 0.00173 | 0.00947 | 0.0208 | 0 | |
| 15 | -1.13e-07 | 4.69 | 0.00255 | 0.0112 | 0.0291 | 0 | |
| TA | 11 | 0 | 1.56 | 0.000725 | 0 | 0.0207 | 0 |
| Merge | Layer | Cross | Top- change (%) | Weight /2 | Native–FP64 | Algebra resid. | |
|---|---|---|---|---|---|---|---|
| Avg | 43 | 0 | 3.91 | 0.00558 | 0 | 0.0451 | 0 |
| 44 | -7.73e-08 | 7.03 | 0.00772 | 0.00338 | 0.0526 | 6.87e-18 | |
| 45 | -4.01e-07 | 7.81 | 0.00846 | 0.00635 | 0.0476 | 0 | |
| 46 | -2.88e-07 | 3.12 | 0.00635 | 0.00871 | 0.0543 | 0 | |
| 47 | -2.05e-07 | 7.03 | 0.00794 | 0.00917 | 0.0613 | 0 | |
| TA | 43 | 0 | 3.91 | 0.00417 | 0 | 0.0434 | 0 |
| Benchmark | Items | Scoring field |
|---|---|---|
| MMLU | 14,042 | acc,none |
| HellaSwag | 10,042 | acc_norm,none |
| ARC-Challenge | 1,172 | acc_norm,none |
| ARC-Easy | 2,376 | acc_norm,none |
| PIQA | 1,838 | acc_norm,none |
| WinoGrande | 1,267 | acc,none |
Expert Routing
Expert routing in mixture-of-experts models selects which subnetworks process each input, balancing accuracy, computation, and expert workload.
See all 119 papers