Known-issues sheets for local language models Rev 0.1.0 · reviewed every 7 days

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

→ GGUF (llama.cpp / LM Studio / Ollama)

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.

input_layernormattentionq_k_v_proj — q, k and v in one tensorsoftmax(q·kᵀ/√d) · v8 query heads over 2 key/value headso_projpost_attention_layernormfeed-forwardgate_proj · up_proj → down_proj6,656 wide

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

Q2–Q3 — 2–3 bit

963MB weights · e.g. Q3_K_M + KV: 154MB at 8K · 490MB at 32K · 1.8GB at 128K
Math & reasoning 4/10
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.

Coding 2/10
data checked Oct 2026
  • quant-degradation-community — editorial band derivation @ Q3_K_M · aggregated · 2026-10-04

    Editorial derivation: two points down.

Tool calling / agentic 2/10
data checked Oct 2026
  • quant-degradation-community — editorial band derivation @ Q3_K_M · aggregated · 2026-10-04

    Editorial derivation: two points down.

Q4–Q5 — 4–5 bit

1.1GB weights · e.g. Q4_K_M + KV: 154MB at 8K · 490MB at 32K · 1.8GB at 128K
Math & reasoning 5/10
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.

Coding 3/10
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.

Tool calling / agentic 3/10
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.

Instruction following 6/10
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.

Q6–Q8 — 6–8 bit

1.8GB weights · e.g. Q8_0 , Q6_K + KV: 154MB at 8K · 490MB at 32K · 1.8GB at 128K
Math & reasoning 6/10
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.

Coding 4/10
data checked Oct 2026
  • quant-degradation-community — editorial band derivation @ Q8_0 · aggregated · 2026-10-04

    Editorial derivation: carried from full precision.

Tool calling / agentic 4/10
data checked Oct 2026
  • quant-degradation-community — editorial band derivation @ Q8_0 · aggregated · 2026-10-04

    Editorial derivation: carried from full precision.

Instruction following 6/10
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 128K
Math & reasoning 6/10
data checked Oct 2026
Coding 4/10
data checked Oct 2026
Tool calling / agentic 4/10
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.

Instruction following 6/10
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

ISSUE-01 moderate Q2–Q3 / Q4–Q5 / Q6–Q8 / FP16 · math, coding, tool-calling

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.

Fix
Prompt technique [partial]

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.

Fix
Prompt technique [weak]

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
ISSUE-02 moderate Q4–Q5 · math, coding, tool-calling

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.

Fix
Move up a quant band [strong]

Q8_0 is 1.8GB. If 1.1GB fits, 1.8GB usually does.

Evidence · 1 source · anecdotal
ISSUE-03 severe Q2–Q3 · math, coding, tool-calling

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.

Fix
Move up a quant band [strong]

Q4_K_M at 1.1GB or Q8_0 at 1.8GB.

Evidence · 2 sources · anecdotal
ISSUE-04 mild Q2–Q3 / Q4–Q5 / Q6–Q8 / FP16 · tool-calling, instruction-following

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

Fix
Update your runtime [strong]

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
ISSUE-05 mild Q2–Q3 / Q4–Q5 / Q6–Q8 / FP16 · math, coding, tool-calling, long-context, factuality, instruction-following

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

No fix
No known fix — choose a different model

Not a defect but a caveat. The blanks are honest, not zeros. Revisit when independent numbers land.

Evidence · 1 source · anecdotal