
Tiel is the fast coder of the arsenal. At 4-bit quantization and 23 GB it fixes real codebase issues at the rate (and speed, with the right GPU) of Opus 4.6 medium, while holding the best multi-turn conversation of any local model we have measured. It is also cheerfully bad at trivia.
Pick it for work. Pick something else for exams.
This is Ornith-1.5-35B-A3B re-quantized dynamically with our own imatrix and carrying the Sharp chat template inside the GGUF. Find the non-MTP GGUFs here , and the non-MTP MLX version here .
Multi-turn conversation
Reasoning and knowledge
Where it stands. On 25 SWE-bench-Live problems Tiel fixes 12 — the same as Opus 4.6 (medium), four more than Ornith-1.5 itself, three more than Nail, and four more than Sonnet 5 (medium). Among models of its own class it is first; the ones ahead are dense 27Bs and Opus 5. Its time per attempt is also steadier than Nail's: an 8.6 minute median against 7.2, but a 12.3 minute mean against 15.7, because it lacks Nail's tail of expensive attempts.
How it talks. On Claw-Eval's multi-turn tasks Tiel scores 67.2 against Nail's 60.5 and its own base's 65.3, over 114 scored conversations each. It earns that by answering better rather than by asking more: against the base it is 3.8 points up on answer quality and 5.1 down on clarifying questions. The score weights answers four to one, so the trade pays — but if you want a model that interrogates a vague request before acting, the base does that better.
What it costs. 73.7 on MMLU-Pro against Nail's 84.0, both at 4-bit. Most of that is inherited rather than built: Ornith-1.5 scores 78.0 where stock Qwen3.6-35B-A3B scores 85.3. Our quantization is not the cause — the same quant carrying Ornith's own template scores exactly what Ornith scores. The remaining 4.3 points are the Sharp template buying shorter answers, which is the trade this build exists to make.
Which one. Agentic coding, or long conversations that have to stay useful → Tiel. Exam-style knowledge and hard reasoning → Nail , which is 10.3 points better on MMLU-Pro and 6.7 worse in conversation. The most fixes per problem regardless of weight → Dirk , the dense 27B that solves 15 of the same 25 — one behind stock Qwen3.8-27B, at 2.5x its speed.
The MoE architecture makes Tiel fast, even on smaller GPUs with partial GPU offloading, and makes the context KV small in RAM (<5 GB RAM for 262k context at 16-bit KV precision) compared to 27B dense. We do not recommend going below UD-Q4 simply to fit the whole model in GPU VRAM: when you can fit the model and context KV across your RAM+VRAM, pick a Q4 quant or larger that you can run with a sizable context (131k-262k) in at least q8_0 KV, for agentic coding.
The "fits" column below is therefore about your combined available RAM+VRAM , after OS and other processes take their share.
| file | size | fits | notes |
|---|---|---|---|
Tiel-Coder-35B-A3B-MTP-UD-Q2_K_XL.gguf
|
13.2 GB | 16 GB | THE LAST RESORT ; 2-bit gives up real ability, and struggles with agentic coding. Use anything larger, wherever it fits |
Tiel-Coder-35B-A3B-MTP-UD-IQ3_XXS.gguf
|
14.1 GB | 16 GB | the 16 GB pick — significantly better than Q2_K_XL for under a gigabyte more |
Tiel-Coder-35B-A3B-MTP-UD-Q3_K_XL.gguf
|
17.7 GB | 24 GB | 3-bit with plenty of context room; prefer IQ4_XS below unless you need the extra ~1 GB |
Tiel-Coder-35B-A3B-MTP-UD-IQ4_XS.gguf
|
18.6 GB | 24 GB | 4-bit quality with the most context headroom of any 4-bit tier |
Tiel-Coder-35B-A3B-MTP-UD-Q4_K_S.gguf
|
21.8 GB | 24 GB | tight 4-bit; useful when Q4_K_XL leaves too little room |
Tiel-Coder-35B-A3B-MTP-UD-Q4_K_XL.gguf
|
23.3 GB | 24-32 GB | start here — the benchmarked tier plus the head; snug on 24 GB, comfortable on 32 |
Tiel-Coder-35B-A3B-MTP-UD-Q5_K_XL.gguf
|
27.5 GB | 32 GB | the 32 GB pick |
Tiel-Coder-35B-A3B-MTP-UD-Q6_K_XL.gguf
|
32.7 GB | 48 GB | near-lossless; will not leave usable context on 32 GB |
Tiel-Coder-35B-A3B-MTP-UD-Q8_K_XL.gguf
|
39.4 GB | 48 GB | reference |
Each tier is its stripped counterpart in Tiel-Coder-35B-A3B-GGUF plus 0.9 GB of MTP head — the same block at the same precision in every tier, because the recipe pins it rather than letting it ride the tier's own bit-width.
To download and serve, replace the gguf names in the command below with your preferred quant:
hf download peculiar-ragdoll/Tiel-Coder-35B-A3B-GGUF-MTP \
Tiel-Coder-35B-A3B-MTP-UD-Q4_K_XL.gguf mmproj-BF16.gguf --local-dir Tiel-MTP
llama-server -m Tiel-MTP/Tiel-Coder-35B-A3B-MTP-UD-Q4_K_XL.gguf -ngl 99 --jinja \
--spec-type draft-mtp
--spec-type draft-mtp
turns the head on at llama.cpp's defaults. Two knobs tune it, and what they
should be set to depends on your hardware — see below.
The head does nothing unless you ask for it.
Without
--spec-type draft-mtp
llama.cpp ignores
those tensors entirely and you are running the base model carrying 0.9 GB of dead weight — in which
case take the
stripped ladder
instead, which is the same model in
less space.
Sampling:
temperature 1.0
,
top_p 0.95
,
top_k 20
. For agentic coding we ran
temperature 0.6
.
It can see.
Vision works exactly as on the base repo —
mmproj-BF16.gguf
, Ornith's own projector
passed through unmodified, shared by every tier.
Ornith-1.5 ships an MTP (
nextn
) block that drafts a token ahead of the main model, and this repo
exists to keep it.
It was broken, and now it is not.
When our first ladder was baked, that block was untrained:
every matrix sat at a standard deviation of 0.020 with kurtosis 3.00 and a largest value of 5
standard deviations, which is a fresh random initialization. Drafts from random weights are accepted
at chance, so we stripped it. Ornith replaced it on
2026-08-23
, re-uploading a single shard with
a trained head. We measured the replacement rather than take the announcement on faith: kurtosis
25.1
with a 98-sigma outlier, and
825
on the
nextn
projection. That is a trained network.
What it did on our hardware.
Sweeping llama.cpp's two knobs on
UD-Q4_K_XL
, against the same
model with speculation switched off:
--spec-draft-n-max
|
--spec-draft-p-min
|
tok/s | vs off | accepted |
|---|---|---|---|---|
| — (off) | — | 77.4 | 1.00x | — |
| 1 | 0.0 | 94.4 | 1.22x | 83.3% |
| 3 | 0.0 | 89.9 | 1.16x | 59.9% |
| 8 | 0.0 | 46.5 | 0.60x | 30.2% |
| 1 | 0.8 | 85.3 | 1.10x | 96.0% |
| 3 | 0.8 | 86.0 | 1.11x | 92.7% |
| 8 | 0.8 | 82.3 | 1.06x | 90.1% |
Those are our numbers on our box, not a specification. The gain comes from verifying several tokens in one forward pass instead of decoding them one at a time, so it turns on how your hardware prices a batched pass against a single-token one — which moves with the GPU, the tier you run, the context length, and whatever else is resident. Short drafts happened to win here and long ones lost badly; that balance is precisely the part that differs between machines.
So sweep it. It takes a few minutes and the two knobs pull against each other:
--spec-draft-n-max
— how many tokens to draft per step. Drafting further ahead wins more when
the guess lands and wastes more when it does not, and acceptance falls the further ahead you go.
--spec-draft-p-min
— discard a draft whose probability is below this. Raising it lifts the
acceptance rate and wastes less verification, at the cost of drafting less often.
Judge by tok/s, not by acceptance rate.
They come apart: our highest-acceptance setting
(96.0%) was slower than our fastest one (83.3%), because it bought that acceptance
by drafting less. Time it end to end against
--spec-type none
on prompts that look like your work.
Every tier is quantized against an importance matrix we generated ourselves, rather than a
borrowed one. The calibration corpus is 49 M characters drawn from
eaddario/imatrix-calibration
(MIT):
about three quarters
code_medium
and one quarter
combined_all_large
, interleaved so the two
alternate throughout rather than sitting in separate halves. That mix is deliberate — Tiel is meant
for coding, so the corpus leans that way, while the combined slice keeps maths, tool-calling and
non-English text represented so those paths are not the ones that get quantized carelessly.
The matrix was measured on a Q8_0 of the original BF16 weights, over 3,000 chunks of 512 tokens (~1.5 M tokens), which is enough for every expert to be exercised many times over — this is a 256-expert mixture that routes 8 per token, so a short corpus would leave some experts barely seen. The shipped tiers are then quantized from the BF16 source using that matrix. These MTP tiers reuse that exact matrix , unchanged: the fix upstream touched only the MTP tensors, which an importance matrix never covers anyway, so re-measuring would have produced the same file.
The matrix itself ships here
, as
Tiel-Coder-35B-A3B.imatrix.gguf
(183 MiB, 510 tensors) — so a
tier we don't ship is one command away, without spending an hour and a half measuring your own:
hf download peculiar-ragdoll/Tiel-Coder-35B-A3B-GGUF Tiel-Coder-35B-A3B.imatrix.gguf --local-dir .
llama-quantize --imatrix Tiel-Coder-35B-A3B.imatrix.gguf Ornith-1.5-35B-BF16.gguf out.gguf IQ4_XS
Be clear about what that does
not
give you: the tiers in the table above are cut with per-tensor
Dynamic recipes layered on top of this matrix, and they carry the Sharp template. A plain
llama-quantize
from the upstream BF16 reproduces neither.
eaddario's code slice is itself built from Open-Critic-GPT , opc-sft-stage2 , Magicoder-Evol-Instruct-110K and McEval-Instruct .
llama-quantize
/
llama-imatrix
/
llama-server
.
MIT, inheriting Ornith-1.5's license.
Tiel-Coder-35B-A3B-GGUF-MTP huggingface.co is an AI model on huggingface.co that provides Tiel-Coder-35B-A3B-GGUF-MTP's model effect (), which can be used instantly with this dotnfc Tiel-Coder-35B-A3B-GGUF-MTP model. huggingface.co supports a free trial of the Tiel-Coder-35B-A3B-GGUF-MTP model, and also provides paid use of the Tiel-Coder-35B-A3B-GGUF-MTP. Support call Tiel-Coder-35B-A3B-GGUF-MTP model through api, including Node.js, Python, http.
Tiel-Coder-35B-A3B-GGUF-MTP huggingface.co is an online trial and call api platform, which integrates Tiel-Coder-35B-A3B-GGUF-MTP's modeling effects, including api services, and provides a free online trial of Tiel-Coder-35B-A3B-GGUF-MTP, you can try Tiel-Coder-35B-A3B-GGUF-MTP online for free by clicking the link below.
Tiel-Coder-35B-A3B-GGUF-MTP is an open source model from GitHub that offers a free installation service, and any user can find Tiel-Coder-35B-A3B-GGUF-MTP on GitHub to install. At the same time, huggingface.co provides the effect of Tiel-Coder-35B-A3B-GGUF-MTP install, users can directly use Tiel-Coder-35B-A3B-GGUF-MTP installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
