Model datasheet · Xing4.0
Xing4.0 29B-A4B
Does not run in stock llama.cpp, Ollama or LM Studio yet: support is an open pull request (llama.cpp #29012), so you need the vendor's own llama.cpp build, and the only official GGUF is one IQ4_NL file. On paper it is strong for its size, with SWE-bench Verified 75.0 and AIME 2026 90.0 from 4B active parameters, but those are China Telecom's own thinking-mode numbers and nobody has checked them independently yet.
- Vendor
- China Telecom (XingChen-AGI)
- Architecture
- MoE · 29B total / ~4B active
- Context
- 262,144 tokens
- License
- Apache-2.0
- Released
- 2026-09-16
- Vision
- No
→ GGUF (llama.cpp / LM Studio / Ollama) → MLX (Apple Silicon)
Architecture, from its own config.json
40 layers · 40 full attention
32 attention heads, multi-head latent attention — it caches one 576-wide compressed vector per layer instead of per-head keys and values, which is why its cache is small for its size · mixture of experts, 4B of 29B active per token across 4 experts · vocabulary 131,072
Where the memory goes: weights by band above, plus a KV cache of 360MB at 8K · 1.4GB at 32K · 5.6GB at 128K, plus the runtime's own working memory — dominated by the output projection over that vocabulary.
Inside one layer, from its own tensors
40 × full-attention layer
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 × 3,584, a final norm, and a separate output projection. The first 2 layers use a dense feed-forward instead of the experts.
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: hc_fn, hc_base, hc_scale. Guessing an order is the one thing this diagram will not do.
§1 Characteristics by quantization band
Q2–Q3 — 2–3 bit
13.1GB weights · e.g. IQ3_M , IQ3_XXS + KV: 360MB at 8K · 1.4GB at 32K · 5.6GB at 128Kdata checked Oct 2026
- quant-degradation-community — editorial band derivation @ IQ3_M · aggregated · 2026-10-04
Editorial derivation: two points down. Only community IQ3 files exist (Venastine-Research), and nobody has measured them.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ IQ3_M · aggregated · 2026-10-04
Editorial derivation: two points down.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ IQ3_M · aggregated · 2026-10-04
Editorial derivation: two points down; structured output degrades fastest at 3-bit on a 4B-active mixture.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ IQ3_M · aggregated · 2026-10-04
Editorial derivation: one point down from the mid band.
Q4–Q5 — 4–5 bit
20.1GB weights · e.g. IQ4_NL , mlx-4bit + KV: 360MB at 8K · 1.4GB at 32K · 5.6GB at 128Kdata checked Oct 2026
- quant-degradation-community — editorial band derivation @ IQ4_NL · aggregated · 2026-10-04
Editorial derivation: one point down. IQ4_NL is the vendor's own and only official quant, at 20.1GB.
- quant-degradation-community — HumanEval pass@1 = 84.8 @ mlx-4bit · aggregated · 2026-10-04
Measured by mlx-community on its OptiQ build (predominantly 4-bit, 303 layers at 8-bit, 5.00 bits per weight), recorded under the nearest vocabulary entry. Mode and harness are not stated, and the card says the MLX port was checked by reading, not against bf16.
The only third-party measurement of this model found. HumanEval is saturated and says little about agentic coding, so it supports the band without setting it.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ IQ4_NL · aggregated · 2026-10-04
Editorial derivation: one point down; math goes first under 4-bit on a 4B-active mixture.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ IQ4_NL · aggregated · 2026-10-04
Editorial derivation: one point down rather than carried, because the one independent measurement is weak.
- quant-degradation-community — IFEval strict prompt = 61.2 @ mlx-4bit · aggregated · 2026-10-04
Measured by mlx-community on its OptiQ build (predominantly 4-bit, 303 layers at 8-bit, 5.00 bits per weight), recorded under the nearest vocabulary entry. Mode and harness are not stated, and the card says the MLX port was checked by reading, not against bf16.
Low for a model that posts IFBench 69.67 at bf16. Whether that is the quant, the mode or the harness is not known.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ IQ4_NL · aggregated · 2026-10-04
Editorial derivation: one point down. Structured calls need token-level precision that a sparse model has less of to spare.
- quant-degradation-community — BFCL v3 (simple) = 74.5 @ mlx-4bit · aggregated · 2026-10-04
Measured by mlx-community on its OptiQ build (predominantly 4-bit, 303 layers at 8-bit, 5.00 bits per weight), recorded under the nearest vocabulary entry. Mode and harness are not stated, and the card says the MLX port was checked by reading, not against bf16.
Single-call subset only; says nothing about multi-turn agent loops.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q6_K · aggregated · 2026-10-04
Editorial derivation: carried from the full band. The only Q6_K is a community file (Venastine-Research), built from the unmerged llama.cpp branch.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q6_K · aggregated · 2026-10-04
Editorial derivation: carried from the full band.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q6_K · aggregated · 2026-10-04
Editorial derivation: carried from the full band.
data checked Oct 2026
- quant-degradation-community — editorial band derivation @ Q6_K · aggregated · 2026-10-04
Editorial derivation: carried from the full band.
FP16 — full precision (fp16/bf16)
62.4GB weights · e.g. bf16 + KV: 360MB at 8K · 1.4GB at 32K · 5.6GB at 128Kdata checked Oct 2026
- vendor-model-card — SWE-bench Verified = 75 @ bf16 · vendor-reported · 2026-10-04
SWE-agent harness, 210K context, temperature 1.0. The same table gives Qwen3.6 35B-A3B 76.00 on this row, so the vendor itself places it level with that model rather than ahead. Mode is not stated per row; the card's quickstart turns thinking on, and the vendor says RL was "heavily weighted toward thinking-mode trajectories" (HF discussion #5), so read these as thinking-mode figures.
- vendor-model-card — Terminal-Bench 2.1 = 57.5 @ bf16 · vendor-reported · 2026-10-04
terminus-2, average of 3 runs. SWE-bench Multilingual 66.00 and Claw-Eval 76.55 are also on the card. Absent from the Aider polyglot leaderboard as of 2026-10-04.
data checked Oct 2026
- vendor-model-card — AIME 2026 = 90 @ bf16 · vendor-reported · 2026-10-04
Average of 5 runs, 131K output budget. Mode is not stated per row; the card's quickstart turns thinking on, and the vendor says RL was "heavily weighted toward thinking-mode trajectories" (HF discussion #5), so read these as thinking-mode figures.
data checked Oct 2026
- vendor-model-card — IFBench = 69.67 @ bf16 · vendor-reported · 2026-10-04
Below Gemma 4 26B-A4B (72.67) and above Qwen3.6 35B-A3B (65.50) in the vendor's own table. Mode is not stated per row; the card's quickstart turns thinking on, and the vendor says RL was "heavily weighted toward thinking-mode trajectories" (HF discussion #5), so read these as thinking-mode figures.
data checked Oct 2026
- vendor-model-card — τ³-bench = 64.63 @ bf16 · vendor-reported · 2026-10-04
Official Sierra harness, average pass^1 over 4 runs. The vendor table puts Qwen3.6 35B-A3B at 67.20 on the same row. Not the Artificial Analysis Tau3 variant. Mode is not stated per row; the card's quickstart turns thinking on, and the vendor says RL was "heavily weighted toward thinking-mode trajectories" (HF discussion #5), so read these as thinking-mode figures.
§2 Known issues & what fixes them
Does not run in stock llama.cpp, Ollama or LM Studio yet. Support is an open pull request (llama.cpp #29012, opened 2026-09-17 and still awaiting review on 2026-10-04), and apps that bundle llama.cpp inherit the gap; the vendor says so itself. Stock mlx-lm cannot load it either ("Model type xing4_0 not supported"; its own PR is also open). vLLM and SGLang support are likewise unmerged PR branches.
Use the vendor's adapted llama.cpp build: a prebuilt Windows + CUDA package, or compile the PR branch yourself (the guide is written for Windows and an RTX 3090). On a Mac, the mlx-community build loads through the third-party mlx-optiq package rather than stock mlx-lm. Once #29012 merges, an ordinary update fixes this.
If you need it to work in Ollama or LM Studio today, there is no fix; pick another model until support merges.
Evidence · 4 sources · community-consensus
- llama.cpp PR #29012: Add Support for Xing4.0 (open) (github, 2026-10-04)
- Vendor reply: the PR is not merged, so a standard llama.cpp release or an app's bundled runtime may not include support (vendor, 2026-10-04)
- All 5 inference framework PRs are still pending (vendor, 2026-10-04)
- mlx-community OptiQ build: stock mlx-lm has no xing4_0 class, needs mlx-optiq (other, 2026-10-04)
The vendor ships a single GGUF, IQ4_NL at 20.1GB. Every other size (IQ2 to Q8_0, f16) is a community conversion from the unmerged llama.cpp branch, and none of them has been measured against bf16. The vendor's advice is to use its own quant, which it says was tuned for precision loss.
Prefer the official IQ4_NL. Treat community 3-bit and 6/8-bit files as untested until someone publishes KLD numbers for them.
Evidence · 2 sources · anecdotal
- Official GGUF repo: one file, xing4_0-29b-IQ4_NL.gguf (vendor, 2026-10-04)
- Vendor reply recommending its own quant over community IQ3 builds (vendor, 2026-10-04)
Tuned for thinking mode. A user comparison found it on par with Qwen3.6 35B-A3B with thinking on and weaker with it off, and the vendor agreed, saying RL was "heavily weighted toward thinking-mode trajectories". The benchmark figures on this sheet should be read as thinking-mode figures.
Leave thinking on (the default) for anything that matters, and budget output tokens and context for the reasoning trace.
Evidence · 1 source · anecdotal
The only long-context measurement outside the vendor's is poor: mlx-community's 4-bit build scored 18% on HashHop at about 8.9K tokens, answering confidently with a well-formed but wrong hash. The quantizer attributes this to the compressed latent attention rather than the quant. It is one test, on an MLX port that was not checked against bf16, so it is a warning rather than a verdict. The vendor's long-context row is an Artificial Analysis benchmark and is not recorded here, so the cell stays unrated.
For exact lookups across a long document, retrieve the relevant passages instead of relying on recall from the full context.
Evidence · 1 source · anecdotal
- mlx-community OptiQ build: capability table with HashHop 18.0% (other, 2026-10-04)
Every full-precision score here is China Telecom's own, from a table that compares against two models of its choosing. No independent leaderboard lists it as of 2026-10-04 (absent from Aider polyglot and Vectara HHEM), and users have asked for more benchmarks.
Not a defect but a caveat. Revisit when independent numbers land.
Evidence · 2 sources · anecdotal
- Xing4.0-29B-A4B model card (vendor benchmark table) (vendor, 2026-10-04)
- why publish a model w/ no benchmarks (vendor, 2026-10-04)
Only 4B of 29B parameters are active per token, and the only 3-bit files are community conversions that nobody has measured. The band saves 7GB over the official IQ4_NL and is scored two points down on every quant-sensitive dimension.
The official IQ4_NL is 20.1GB and fits a 24GB GPU or a 32GB Mac with a working context. That is the band to run.
Where arithmetic is what broke, hand it to a tool instead of the weights.
Evidence · 2 sources · anecdotal
- Venastine-Research community GGUFs (IQ3_M 13.1GB, IQ3_XXS 11.6GB) (other, 2026-10-04)
- Vendor reply recommending its own quant over community IQ3 builds (vendor, 2026-10-04)