* segment sizes marked with an asterisk are estimates pending a measured run
Estimated per-node footprint, weights + KV sharded across the Spark (tensor parallel). Overhead ~8 GB/node; KV at FP16.
one MoE layer · 256 experts, 6+1 fire per token
each expert ≈ 25M params
resident: 43 MoE layers × 256 experts × 25M ≈ 275.8B
active/token: 43 × 6 × 25M ≈ 6.5B experts
+ 8.5B always-on dense (attention, embeddings, shared stack) = 15.0B active
Optimize
deepseek-ai/DeepSeek-V4-Flash-0731
Analyze the original repo for the full architecture picture.
284B params, ~284 GB at already fp8-quantized and still ~142 GB at 4-bit — one Spark can't hold it; you need surgery or more Sparks.
Make it fit
Get the weights (and headroom for KV) inside the 128 GB pool — the hard gate.
Prune experts (then quantize)
With 256 routed experts and only 6 firing per token, REAP-style pruning cuts total params without touching active compute.
pruning to half the experts ≈ halves the routed-expert weights, ~78 GB at 4-bit
Split or stream it
Even 4-bit is ~142 GB against a 110 GB usable budget; shard across ≥2 Sparks or stream cold weights from NVMe.
Go below 4 bits
Codebook/outlier methods reach 2–3 bpw when 4-bit still overflows. — for MoE, the proven shape is a 2-bit sign-symmetric codebook on the routed experts with the dense stack kept at FP8 (vLLM-Moet).
~77 GB with 2-bit experts + FP8 dense (est.)
Make it fast
Once it fits: fewer bytes per token and fewer decode steps against 273 GB/s.
Use its MTP heads
Ships 1 multi-token-prediction layer(s) — self-speculative decode with no separate draft model; check vLLM/SGLang support for this arch.
Make it yours
Change what the model does — adapt, edit, or steer it — independent of size.
Fine-tune it
LoRA/QLoRA adapts behavior on one Spark without touching the base weights.
Edit or steer it
One-shot weight math — no gradients, no corpus.