howtospark
models / deepseek-v4-flash-dspark

165B params~11B activefp8MoE 256×6GQA 64:1MTP ×11.0M ctxmit
Sparks
~176 GB
~94 GB
~58 GB
~56 GB
~53 GB
110 usable
REAP dialno pruning · 256 experts
Spec decode
Context33K / 1.0MKV
On the Sparks — 1× · 2-bit experts + NVFP4 dense · 33K ctx · FP16 KV~675K ctx fits usable
spark
57 GB free
Expert planes40.1* GB2-bit
110 usable
54* / 110 GB
49% of usable
Expert planesDense weightsKV cacheActivations + graphsOS reserve

* 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.

layer map
43 layersMoE FFN
in
out

one MoE layer · 256 experts, 6+1 fire per token

each expert ≈ 15M params

resident: 43 MoE layers × 256 experts × 15M 160.3B

active/token: 43 × 6 × 15M 6.5B experts

+ 5.0B always-on dense (attention, embeddings, shared stack) = 11.5B active

Recipes (all recipes)

Worked deployments that run this model on DGX Spark — each shows how it fills each node's unified memory.

Optimize
Verdict

165B params, ~165 GB at already fp8-quantized — doesn't fit natively, but ~83 GB at 4-bit does.

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.

Prune experts for speed

Fewer experts ⇒ smaller working set ⇒ better cache/page behavior, even when it already fits.

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.