H
pending
Why Mixtral 8x7B's 47B Parameters Don't Mean What You Think They Mean
Grounded / Real
Inflated / Uruttu
Original Content
47B parameters.
Only about 13B of them are doing the heavy lifting for a token.
That is the part of Mixture of Experts that sounds wrong the first time you hear it.
Take Mixtral 8x7B.
It has 8 expert networks.
But a token doesn't get sent through all 8.
A router picks 2 experts for that token.
So:
47B parameters in the model
~13B active for a token
The rest sit out that particular computation.
And the router makes a different choice for the next token.
So the model might send one token to Expert 2 + Expert 7...
then the next token to Expert 1 + Expert 5.
The experts aren't manually assigned.
Nobody sits there and says:
Expert 1 = Python
Expert 2 = French
Expert 3 = Mathematics
The model learns how to specialize those networks during training.
That gives you something interesting:
A model can have a much larger total parameter capacity without making every token pay the compute cost of the entire model.
But there is a price.
Those unused parameters still have to live somewhere.
In a distributed setup, the router may need to send token representations to different GPUs.
Some experts can become overloaded.
Communication between devices becomes expensive.
Load balancing suddenly matters.
So MoE isn't:
"Build a huge model and magically make it cheap."
It's closer to:
"Build a huge model and learn which parts are worth using for each token."
That's why parameter count alone doesn't tell you how expensive a model is to run.
Two models can have very different total parameter counts...
and surprisingly similar compute per token.
That distinction becomes extremely important once you start looking seriously at modern LLM architectures.
Only about 13B of them are doing the heavy lifting for a token.
That is the part of Mixture of Experts that sounds wrong the first time you hear it.
Take Mixtral 8x7B.
It has 8 expert networks.
But a token doesn't get sent through all 8.
A router picks 2 experts for that token.
So:
47B parameters in the model
~13B active for a token
The rest sit out that particular computation.
And the router makes a different choice for the next token.
So the model might send one token to Expert 2 + Expert 7...
then the next token to Expert 1 + Expert 5.
The experts aren't manually assigned.
Nobody sits there and says:
Expert 1 = Python
Expert 2 = French
Expert 3 = Mathematics
The model learns how to specialize those networks during training.
That gives you something interesting:
A model can have a much larger total parameter capacity without making every token pay the compute cost of the entire model.
But there is a price.
Those unused parameters still have to live somewhere.
In a distributed setup, the router may need to send token representations to different GPUs.
Some experts can become overloaded.
Communication between devices becomes expensive.
Load balancing suddenly matters.
So MoE isn't:
"Build a huge model and magically make it cheap."
It's closer to:
"Build a huge model and learn which parts are worth using for each token."
That's why parameter count alone doesn't tell you how expensive a model is to run.
Two models can have very different total parameter counts...
and surprisingly similar compute per token.
That distinction becomes extremely important once you start looking seriously at modern LLM architectures.
Validated Content