Model datasheet · Spark-X2.5
Spark-X2.5 1.7B
The case for this one is narrow. On the four rows both vendors publish (AIME 2026, BFCL v4, SWE-bench Verified, IFBench), it trails MiniCPM5-2B on three and ties IFBench at 66.3. MiniCPM5-2B's Q4_K_M file is only 0.5GB larger. What it has is size: 1.1GB at Q4_K_M, with a full-context cache about a third of MiniCPM5-2B's per token (about 1.9GB at 128K). It is for machines where those gigabytes decide. It is ahead of Gemma 4 E2B on nearly every row of its own table. Quantization costs it more than most models: see the known issues before going below Q8_0, which is 1.8GB.
- Vendor
- SparkLLM (XHToken)
- Architecture
- Dense · 1.7B
- Context
- 1,048,576 tokens
- License
- Apache-2.0
- Released
- 2026-08-24
- Vision
- No
Architecture, from its own config.json
28 layers · 21 sliding window · 7 full attention
8 attention heads over 2 KV heads (GQA 4:1), head dim 256 · dense feed-forward · vocabulary 131,072
Where the memory goes: weights by band above, plus a KV cache of 154MB at 8K · 490MB at 32K · 1.8GB at 128K, plus the runtime's own working memory — dominated by the output projection over that vocabulary.
Inside one layer, from its own tensors
28 × layer
21 sliding-window layers, 7 full-attention layers — the same block either way. What differs is how far back the mask lets attention look, not what the layer is built from.
The green line down the right of each half is the residual: it leaves the spine above the norm, skips the operation entirely and rejoins at the +. Where attention is drawn open, q, k and v are scaled to their real output widths — a model that shares key and value heads across many query heads shows one wide box beside two narrow ones.
Around the stack: an embedding of 131,072 × 2,048, a final norm, and an output projection that reuses the embedding (tied weights).
On the norm names: despite what it is called, post_attention_layernorm is drawn after the residual add here, which is where this family applies it — it normalises the input to the feed-forward, not the output of attention. Models that carry a separate pre_feedforward_layernorm use it the other way, and are drawn that way.
Also in every block and not drawn, because their tensor names do not fix where they belong: g_proj, out_proj. Guessing an order is the one thing this diagram will not do.
§1 Characteristics by quantization band
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q3_K_M · aggregated · 2026-10-04
Editorial derivation: two points down. In the same table, the 3.5-bpw mix reaches a mean KLD of 1.20, and MMLU-Redux falls to 26.4, near chance for four choices. The stock Q3_K_M is about 4.4 bpw and saves 0.17GB over Q4_K_M.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q3_K_M · aggregated · 2026-10-04
Editorial derivation: two points down.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q3_K_M · aggregated · 2026-10-04
Editorial derivation: two points down.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q4_K_M · aggregated · 2026-10-04
Editorial derivation: one point down. The same table puts a 4.5-bpw mix at a mean KLD of 0.43, with MMLU-Redux 32.4 against 46.9 at Q8_0, and a 5.5-bpw mix at 0.25, where MMLU-Redux is back to 46.1. The stock Q4_K_M is 1.11GB, about 5.2 bpw, so it should be nearer the second. These are custom mixes, not stock quants.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q4_K_M · aggregated · 2026-10-04
Editorial derivation: one point down, as for math.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q4_K_M · aggregated · 2026-10-04
Editorial derivation: one point down, as for math.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q4_K_M · aggregated · 2026-10-04
Editorial derivation: carried. Format compliance survives 4-bit better than arithmetic does.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q8_0 · aggregated · 2026-10-04
Editorial derivation: carried. eaddario's KL-divergence table has Q8_0 at a mean KLD of 0.015 against F16, and a 6.5-bpw mix at 0.090.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q8_0 · aggregated · 2026-10-04
Editorial derivation: carried from full precision.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q8_0 · aggregated · 2026-10-04
Editorial derivation: carried from full precision.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q8_0 · aggregated · 2026-10-04
Editorial derivation: carried from full precision.
FP16 — full precision (fp16/bf16)
3.4GB weights · e.g. bf16 + KV: 154MB at 8K · 490MB at 32K · 1.8GB at 128Kdata checked Oct 2026
- vendor-model-card — AIME 2026 = 69.4 @ bf16 · vendor-reported · 2026-10-04
Vendor table; the card says all evaluations are in thinking mode. The same table has Spark-X2.5-4B at 90.7 and Gemma4-E2B at 37.5.
- vendor-model-card — HMMT Feb 2026 = 48.4 @ bf16 · vendor-reported · 2026-10-04
Same table.
- vendor-model-card — IMO-AnswerBench = 45.4 @ bf16 · vendor-reported · 2026-10-04
Same table.
data checked Oct 2026
- vendor-model-card — SWE-Bench Verified = 28.3 @ bf16 · vendor-reported · 2026-10-04
Vendor table; the card says all evaluations are in thinking mode. Qwen3.5-2B 6.8 on the same row.
- vendor-model-card — SWE-Bench Multilingual = 23.3 @ bf16 · vendor-reported · 2026-10-04
Same table.
- vendor-model-card — SWE-Bench Pro = 10.4 @ bf16 · vendor-reported · 2026-10-04
Same table.
- vendor-model-card — SciCode = 18.2 @ bf16 · vendor-reported · 2026-10-04
Same table. Gemma4-E2B 20.5.
data checked Oct 2026
- vendor-model-card — BFCL-V4 = 46.9 @ bf16 · vendor-reported · 2026-10-04
Vendor table; the card says all evaluations are in thinking mode. Qwen3.5-2B 43.6 (quoted), Gemma4-E2B 30.2.
- vendor-model-card — τ²-bench = 65.3 @ bf16 · vendor-reported · 2026-10-04
Same table. Qwen3.5-2B 48.8 (quoted).
- vendor-model-card — MCP-Atlas = 23.4 @ bf16 · vendor-reported · 2026-10-04
Same table.
data checked Oct 2026
- vendor-model-card — IFEval = 89.5 @ bf16 · vendor-reported · 2026-10-04
Vendor table; the card says all evaluations are in thinking mode.
- vendor-model-card — IFBench = 66.3 @ bf16 · vendor-reported · 2026-10-04
Same table. Qwen3.5-2B 41.3 (quoted).
§2 Known issues & what fixes them
Reasoning traces run long even on grade-school problems. A Q8_0 GSM8K run with a 700-token cap scored 70.5%, but 53 of its 59 misses were answers cut off before they arrived. Re-run with 3,000 tokens, it recovered 46 of them. Another run at 512 tokens studied the same failure. Both were posted as entries to a community challenge (HER Hack-Astron), not as independent evaluations.
Give it room: an output budget of at least 3K tokens even for short maths. Few-shot examples did not help in the same run.
For simple turns, send enable_thinking: false. Every published score is in thinking mode, so expect less than the table shows.
Evidence · 2 sources · community-consensus
- Spark-X2.5-1.7B discussion #38: GSM8K Q8_0, 70.5% at 700 tokens, mostly truncation (other, 2026-10-04)
- Spark-X2.5-1.7B discussion #28: answer delivery under a 512-token budget (other, 2026-10-04)
A 1.7B model has little to spare. In the one KL-divergence table available, a 4.5-bpw mix drops MMLU-Redux from 46.9 to 32.4. A 5.5-bpw mix is close to Q8_0 again, and the stock Q4_K_M is near that size, so the loss should be smaller than the worst case. Coding and tool calling were already weak at full precision.
Q8_0 is 1.8GB. If 1.1GB fits, 1.8GB usually does.
Evidence · 1 source · anecdotal
At 3.5 bpw the measured KL divergence is 1.20, and MMLU-Redux falls to 26.4, close to guessing. The stock Q3_K_M saves 0.17GB over Q4_K_M. There is no machine this band is the right answer for.
Q4_K_M at 1.1GB or Q8_0 at 1.8GB.
Evidence · 2 sources · anecdotal
- eaddario/Spark-X2.5-1.7B-GGUF: Q3_K mix mean KLD 1.20, MMLU-Redux 26.4 (other, 2026-10-04)
- Spark-X2.5-1.7B quant sizes: Q3_K_M 0.94GB against Q4_K_M 1.11GB (other, 2026-10-04)
spark2_5 is a new architecture. llama.cpp support merged on 2026-09-06 (build b10828), after the vendor's GGUFs were already up, and older LM Studio and Ollama runtimes refuse the file with 'unknown model architecture'.
llama.cpp b10828 or later, Ollama 0.34.1 or later, or LM Studio runtime 2.34.0 or later, per the model card.
Evidence · 3 sources · community-consensus
- [Model] Support for Spark2_5ForCausalLM (merged 2026-09-06) (github, 2026-10-04)
- Spark-X2.5-4B discussion #10: 'llama.cpp does not support this GGUF's model architecture' until b10828 (other, 2026-10-04)
- Spark-X2.5-4B-GGUF discussion #3: LM Studio 'unknown model architecture: spark2_5' (other, 2026-10-04)
Every stored score is SparkLLM's own. Long context is unrated despite the 1M-token claim: the only long-context row on the card is an Artificial Analysis benchmark (AA-LCR), whose values this site does not republish. No hallucination benchmark is published, so factuality is unrated too. The card's comparison columns mix figures it measured with figures quoted from other vendors' cards (marked with an asterisk there).
Not a defect but a caveat. The blanks are honest, not zeros. Revisit when independent numbers land.
Evidence · 1 source · anecdotal
- Spark-X2.5 model card (benchmark table and footnotes) (vendor, 2026-10-04)