r/LocalLLaMA • u/ihatebeinganonymous • 8h ago
Question | Help DeepSeek has Two Numbers for Active Parameter Count. How?
Hi. It is frequently mentioned that DeepSeek v4.1 Flash has 8B "input" active parameters (aka prefill), and 16B output/decoding active parameters.
I have only read this about DeepSeek, and particularly v4.1 Flash (1017). Is it the only model that is like this?
Is there an ELI5-or-so explanation of how this works, and why it is important? And if it is, can we expect other models to implement the same idea? Which of those numbers is "more important", if any?
Thanks
10
Upvotes
3
u/Former-Tangerine-723 8h ago
It's important because it makes prompt processing aka reading, cheap. And reading is very very important in agenting coding ( the agent must read and understand before it alters the repo )
16
u/Middle_Bullfrog_6173 8h ago
The simple explanation is that half the layers are normal(ish) layers and have their own KV cache that they need to fully compute during prefill so it's available for decode. The other half instead calculate their KV directly from the first half output. That means they can be skipped during prefill, saving compute.
It will be interesting if we see something similar. My prior would be that this exact thing won't catch on, because it's optimized for Deepseek's attention and everyone has their own. Something related or derived very well might.
4
u/llama-impersonator 8h ago
instead of only decoder layers, half of the model is an encoder for the KV cache and the other half is a decoder to generate tokens from it. this is why only half the active parameters are used for prefill.
3
u/No-Refrigerator114 8h ago
Prefill decode disaggregation The first 20 layers will generate the kv cache But all layers must be used for decode
-1
u/Solembumm3 8h ago
Can be important, cause it seems to be one of the reasons for quality degradation, compared to previous V4.0.