Downloads · 30 days
122
36% of all-time downloads
npario/Tiel-Coder-35B-A3B-MLX-oQ4e
Tiel-Coder-35B-A3B-MLX-oQ4e is a image-text-to-text model from npario. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for mlx. The card lists the license as mit.
<div align="center" <img src="assets/tielbannereyebrow.png" alt="TielCoder — Ornith-1.5 35B-A3B, sharpened, dynamically quantized" width="100%" </div
Downloads · 30 days
122
36% of all-time downloads
All-time downloads
336
Public
Parameters
35.1B
21.1 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors21.1 GB · 100%
How the weights are stored.
U3234.6B · 99%
From the Hugging Face model README
These numbers were measured on the GGUF build, not this one. The plates on this page are the best evidence we have about TielCoder, and we would rather show them than show nothing — but this file uses a different quantizer (oMLX's oQ against llama.cpp's k-quants), and changing quantizer moves results. On the same Nail weights we measured a 0.7-point MMLU-Pro gap and a 24% difference in token counts between MLX and GGUF. Read them as evidence about the model, not as measurements of this file. If you need numbers you can hold us to, use the GGUF build.
Tiel is the fast coder of the arsenal. At 4-bit quantization and 21 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 with oMLX's oQ4e quantizer and carrying the Sharp chat template inside the checkpoint. For speculative decoding, the identical build with Ornith's trained MTP head is a separate repo — the same weights plus the head, for runtimes that can use it.
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.
One tier: oQ4e, 4-bit dynamic mixed precision with an imatrix pass. Vision is included in the same folder — no separate projector file.
oMLX — put the folder under ~/.omlx/models/peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e, or pull it from the oMLX
admin dashboard.
Sampling: temperature 1.0, top_p 0.95, top_k 20. For agentic coding we ran temperature 0.6.
Prefer to keep the files yourself?
hf download peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e --local-dir TielCoder-MLX
python -m mlx_vlm.generate --model TielCoder-MLX --max-tokens 512 \
--prompt "Explain what this function does." # text
python -m mlx_vlm.generate --model TielCoder-MLX --max-tokens 512 \
--prompt "What is in this screenshot?" --image photo.jpg # vision
Load it with mlx-vlm, not mlx-lm. This is a vision-language checkpoint. mlx_lm.load()
accepts it and then emits garbage tokens — a loader mismatch, not a bad quant, but it fails quietly.
Both runtimes apply the embedded template automatically — nothing to pass.
Ornith-1.5's GGUF conversion carries an MTP (nextn) block whose weights are untrained — a fresh
random initialization, which we measured and removed from the GGUF ladder. It is not in the
safetensors this build quantizes from, so there was nothing to strip here.
oQ4e is oMLX's dynamic quantizer: 4-bit base with mixed precision by layer position and selective non-quantization, plus an imatrix pass — the "e" — that measures which weights carry the most signal before deciding what to keep at higher precision. It is the same idea as the GGUF ladder's Unsloth-Dynamic-plus-imatrix recipe, implemented for MLX, but it is not the same computation: oQ derives its own importance data rather than consuming the GGUF imatrix we baked.
That is the reason for the caveat at the top. Two quantizers pursuing the same goal by different routes do not land in the same place, and only the GGUF route has been benchmarked.
MIT, inheriting Ornith-1.5's license.