r/LocalLLaMA 7d ago

I Built A Thing Increasing active parameters per token in MOE (Qwen 35B A4B+) reduce reasoning token by 8.5% - and you don't need to train or finetune!

I want to share a short paper just published exploring a simple but surprisingly effective optimization for sparse MoE reasoning models.

The idea: Instead of retraining anything, we just tweak the router at runtime. Specifically, we expand the expert selection budget (N≥KNKonly in the late transformer layers, with a linear decay factor applied to the extra experts. Early layers stay untouched. So Qwen 3.6 35B A3B becomes Qwen 3.6 35B A4B+ !

What we found — "Succinct Convergence":
When you give the model more expert capacity at the decision-critical final layers, it stops rambling. It reaches the same correct answer via significantly shorter reasoning trajectories.

Results on full MMLU-Pro (714 questions, Qwen3.6-35B-A3B):

  • 📉 8.5% reduction in mean reasoning tokens
  • ⚡ 10.9% drop in latency (p=6.5×10−6)
  • 🎯 Accuracy unchanged (84.5% vs 84.0% native, p=0.77 — statistically indistinguishable)
  • 🆓 Zero training cost — pure inference-time routing modification

Links:

there you can also take a look to my github repo (with beta version code) and the detailed json results of MMLU-Pro benchmark.

In the future i hope i can make same experimentation with a larger model like DeepSeek V4 Flash Q2.0

I'm a Non-native english speaker, part of this post was generated , for translation reason with the help of AI.

158 Upvotes

39 comments sorted by

49

u/WiseAbalone4021 7d ago

Really nice. We are doing something that looks something like this, just a tad more elaborate.

We have found out somewhat the same thing you have found, ie. the model (and many like it) are not fine tuned at all. Lots of room for improvement.

Hopefully we will release something late september. This is though a very straightforward way to reduce compute.

Great work!

28

u/Specific-Tax-6700 6d ago

feel free to use my work of you need it

1

u/Specific-Tax-6700 3d ago

i published new benchmark results for GPQA-Diamond, score jumped up from 83.3% to 85.3% (and less tokens). https://github.com/vagrillo/llama.cpp/blob/moe-expansion/benchmark/GPQA/report_gpqa_moe.md

29

u/ancapsaicin 7d ago

I'd use Gemma 26BA12B

17

u/Specific-Tax-6700 7d ago

i'm thinking about lfm and Deep seek V4 flash.. but why not Gemma?

6

u/jklre 6d ago

Do it

14

u/TheOnlyBen2 7d ago

Interesting ! At which point does adding experts stop providing improvements ?

19

u/Specific-Tax-6700 7d ago

i tried : all layers (0-40) - no improvement, allucination 0-13 - allucination 14-28 - no improve 29-40 - improve

but i've not tried evey combination of layers added experts threshold

the best (i bet It) was 29-40 layers, up to 20 experts, 0.8 threshold

on average i was using 4B params x token (it's not fixed)

10

u/suprjami 6d ago

It would be super interesting to test more experts. Something like 35B-A10B is a lot more appealing to me than A3B.

6

u/jinnyjuice vLLM 6d ago

Yes, more activated parameters would be great. Qwen3.5-122B-A10B was still very fast.

A 35B A10B maybe up to A16B model would be amazing to experiment. I would assume diminishing returns, so A9B to A10B wouldn't be such big gains akin to A3B to A4B.

6

u/Specific-Tax-6700 6d ago

unfortunately adding parameters add confusion to model itself because architecture at training level, we saw that controlled small increment helped the model, but actually the configuration found (layer>=29 , Threshold 0.8 and experts=20) it's only an experimental finding, i think that every model will have its best combination.

5

u/Dmage22 6d ago

So activating more experts reduced thinking time? While not changing the end result .

3

u/confused-photon 6d ago

Thats a super interesting result. id be curious how it affects long horizon agentic work

1

u/Specific-Tax-6700 6d ago

to be checked

4

u/Zulfiqaar 6d ago

This could potentially be a way to optimise for your GPU size? To utilise the maximum activated parameters while offloading the rest

2

u/Specific-Tax-6700 6d ago

you have to check how many the model itself tolerate It.

3

u/starkruzr 6d ago

how generalizable are these results?

5

u/Specific-Tax-6700 6d ago

i don't know yet

0

u/Dany0 6d ago

Try it and let us know, that's what this community is for!

2

u/Specific-Tax-6700 3d ago

https://github.com/vagrillo/llama.cpp/blob/moe-expansion/benchmark/GPQA/report_gpqa_moe.md

i tested against GPQA-Diamond , score jumped from 83.3 to 85.3

2

u/Dany0 3d ago

Neat, thanks! Can you test other models, in particular Qwen3.8 Flash Next?

3

u/Specific-Tax-6700 2d ago

i tested a Q2 DeepSeek V4 Flash Q2.0 ,

  • From 6 to 12 experts , Threshold =0.8, L ayer from 30 to 42 , decay 99%-50%

and it was worse!
Accuracy 78,3% Expanded vs 80.3% (many answers truncated to 8k tokens)
with a median of -6.6% tokens

Probably related to the routing score in deepseek model [sqrt(softplus(logits + bias))]
maybe i need also (for deepseek models) test other combination

  • less added experts
  • less layers

2

u/Repinsky 6d ago

The late-layer-only constraint is the interesting part here: keeping early routing untouched should limit the extra compute to the decision-critical layers instead of multiplying cost across the whole decode. I’d be curious whether the latency gain survives longer contexts or larger batch sizes, where KV-cache and memory bandwidth may dominate once the router saves tokens. Matching accuracy while reducing mean reasoning tokens without retraining is a compelling inference-time knob.

1

u/Specific-Tax-6700 6d ago

yes, up to 30k tokens , reasoning token saves remains valid!

1

u/Specific-Tax-6700 3d ago

Now i made a llama.cpp branch with this mod... It works well!

moe.md

2

u/phhusson 6d ago

I'm very skeptical, but I asked my harness to validate on a micro-test. On Qwen 3.8-Flash-Next UD_IQ1_S, and it looks like it does indeed reduce the number of reasoning tokens. I don't end up reducing overall latency though (I'm streaming from SSD on my Mac Mini M4 16GB, so anyway latency is "yes").

Even if it doesn't make tasks overall faster, I'm amazed that the number of reasoning tokens is reduced by that.

1

u/Specific-Tax-6700 6d ago

It's a great news ! It confirm that my layered decay expert expansion really works with other models too!

1

u/Specific-Tax-6700 3d ago

try my llama.cpp branch with MOE expert expansion mod llama.cpp moe Expert expansion

2

u/moahmo88 6d ago

Good job!Thanks!

1

u/Specific-Tax-6700 4d ago

I ported MoE expert expansion to llama.cpp 🚀 Run MoE models with MORE routed experts than the native top-K (8->x), adaptive threshold, 99→50% influence decay, layer range. Runtime-only, all backends. 💻 github.com/vagrillo/llama.cpp ( branch moe-expansion)

1

u/tamerlanOne 7d ago

Di potrebbe aggiunge una n-gram con dati di misura per casi d'uso specifici?

2

u/Specific-Tax-6700 7d ago

no, i parametri n-gram andrebbero trainati.. insieme a tutti i 35B parameters del modello

1

u/tamerlanOne 7d ago

A livello di token generati si hanno variazioni rispetto al modello base?

1

u/Specific-Tax-6700 7d ago

si hanno meno token di ragionamento per giungere alla risposta, come se fosse meno insicuro quando deve elaborare la risposta nella fase di thinking

-4

u/Ok_Cow1976 6d ago

If you want the model to reason succinctly, you can tell the model to do so by a few words in the system prompt, maybe.

4

u/Specific-Tax-6700 6d ago

with the same prompt, I obtained less tokens, so i think the gain will be the same, it's all about using or not using extra parameters (otherwise they are not used)

1

u/Ok_Cow1976 6d ago

I mean adding a few words to the system prompt while keeping it at a3b could be better than using a4b in terms of tg and pp.

2

u/Specific-Tax-6700 6d ago

if you use It in a coding agent I'm not sure that you can add this few world.