howtospark
models / ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF

197B params~14B activefp8MoE 384×6GQA 64:1MTP ×31.0M ctxmultimodalmitGGUF
Sparks
Users
~166 GB
~149 GB
~131 GB
~121 GB
110 usable
REAP dialno pruning · 384 experts
Spec decode
Context33K / 1.0MKV
On the Sparks — 1× · IQ4_NL · 33K ctx · FP16 KV~0 ctx fits usable · ~0 users fit
spark
Expert planes107.3* GBIQ4_NL
110 usable
+11 over
121* / 110 GB
110% 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
40 layersMoE FFN
in
out

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

each expert ≈ 12M params

resident: 40 MoE layers × 384 experts × 12M ≈ 190.7B

active/token: 40 × 6 × 12M ≈ 8.5B experts

+ 5.9B always-on dense (attention, embeddings, shared stack) = 14.4B active

Optimize
Quantized from

deepseek-ai/DeepSeek-V4.1-Flash-1017

Analyze the original repo for the full architecture picture.

Verdict

197B params, ~197 GB at already fp8-quantized — doesn't fit natively, but ~98 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 3 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.