Downloads · 30 days
74
1% of all-time downloads
SEBK4C/Ornith-1.0-35B-MTP-GGUF
Ornith-1.0-35B-MTP-GGUF is a text generation model from SEBK4C. Use it when you need the model to write or continue text. The card lists the license as mit.
Three MTP-grafted quantizations of deepreinforce-ai/Ornith-1.0-35B — each shipped with a measured agentic verdict, not a perplexity chart. All three were benchmarked head-to-head on identical machine-scored task batte…
Downloads · 30 days
74
1% of all-time downloads
All-time downloads
12.8K
Public
Repo size
119 GB
Likes
0
Public
Click a slice to open those files.
.gguf88.5 GB · 74%
From the Hugging Face model README
Three MTP-grafted quantizations of deepreinforce-ai/Ornith-1.0-35B — each shipped with a measured agentic verdict, not a perplexity chart. All three were benchmarked head-to-head on identical machine-scored task batteries (multi-turn agentic, long-horizon reasoning, code-with-hidden-tests; full harness + journals: SEBK4C/ornith-35b-agentic-eval).
| file | bpw | decode (2×4090, MTP) | multi-turn agentic | hard battery | verdict |
|---|---|---|---|---|---|
| Q6_K-MTP | 6.56 | 242 t/s solo | 6/6 | 7/10 | Use this one. |
| Q8_0-MTP | 8.50 | 189 t/s (−22%) | 6/6-equiv | 6/10 | No measured advantage over Q6 anywhere (~40 cells, 2 runs). Thinks +13-40% more tokens without converging better. |
| Q4_K_M-MTP | 4.89 | 200 t/s (+11% vs Q8-matched) | 4/6 | 5/10 | Published as a warning artifact — read below before using. |
On this RL-post-trained agentic model, quantization damage does not hit capabilities uniformly. Measured order of fragility:
Practical rule: don't requant an agentic RL model below Q6 without a multi-turn diligence eval. Single-shot benchmarks will lie to you.
Across two independent 10-task hard-battery runs plus a 4-cell brutal battery: Q8_0 never won a single cell against Q6_K, ran 22% slower, and consumed +13-40% more thinking tokens per battery. A control run (official Q8_0, no MTP, different llama.cpp build) reproduced the Q8-MTP failures cell-for-cell — excluding serving machinery. Hypothesis (not proven): Q8's rollouts deliberate longer without converging better on this always-reasoning model; part of the observed gap is seed-level trajectory divergence (quantified in the dataset repo's seed-variance journals). What is proven: there is no upside to paying Q8's cost.
blk.40.* incl nextn.*).
Serve with --spec-type draft-mtp --spec-draft-n-max 3 on a llama.cpp with
MTP support (merged 2026-05, PR #22673).serving/*.args encodes this.)-np 1 is NOT required on current builds (stale early-notes claim; verified
to np16+).See serving/ for complete flag sets. Summary (2×24GB GPUs):
| profile | np × ctx/slot | MTP | measured |
|---|---|---|---|
fastest.args | 1 × 262144 | on | 242 t/s solo, full native context |
fast.args | 3 × 131072 | on | 208 solo / 248 agg@3 |
parallel.args | 16 × 65536 | off | 514 t/s agg@16 (613@32 works too) |
--temp 0.6 --top-p 0.95 --top-k 20.q4_0 measured clean at 58k-token retrieval depth; the hybrid-attention
architecture makes KV ~9.4GB per 1M tokens at q4_0 — context is cheap.--reasoning-budget 10240 recommended for work profiles: the model
overthinks; the budget force-closes <think> so an answer always emits
(converts silent token-cap deaths into honest attempts)."chat_template_kwargs": {"enable_thinking": false}
— ~2× cheaper on mechanical multi-step tool work, near-parity quality; keep
thinking ON for combinatorial planning.serving/ornith-35b-fixed.jinja)The template embedded in upstream GGUFs hard-raises (HTTP 500 through llama-server) on three real-world client behaviors. This repo ships a fixed template, byte-identical to upstream on all happy paths (offline render-diff proven), lenient on:
developer role → rendered as a system block (OpenAI SDK / Codex clients
send this; upstream raises Unexpected message role).system messages → rendered in place (upstream raises).No user query found in messages; the guard's last_query_index is
dead code in the 35B template).Serve with --chat-template-file ornith-35b-fixed.jinja --jinja --reasoning-format deepseek.
-2**2 evaluates to 4: the model consistently binds unary minus tighter
than ** (8/8 attempts across Q4/Q6/Q8, with and without self-testing).
Self-verification does not fix it — the model writes its tests from the same
false belief. Harness rule: supply golden test vectors in prompts; never
prose-only specs.grep|awk (the model was RL-trained to generate
scaffolds; harness it shell-first).| file | bytes | sha256 |
|---|---|---|
| Ornith-1.0-35B-Q6_K-MTP.gguf | 29,207,678,080 | 449288fa43409a791058ba134b83f4dd10174ef2e6dd63044047fe07960d6834 |
| ornith-1.0-35b-Q8_0-MTP.gguf | 37,596,664,960 | 837cd5a1b40b4e7fb437911564f36fcf4885540a453421cf1450b35d4b51f627 |
| ornith-1.0-35b-Q4_K_M-MTP.gguf | 21,712,409,728 | 54eb0fcc203abf974984adfc0188d96624954481ac684ec533df3faa551f43ab |
Ornith-Serve-x86_64-cuda.run (29GB, self-extracting) bundles a patched
llama.cpp server + CUDA runtime libs + the Q6_K-MTP weights + the fixed
template + all three measured profiles behind one launcher:
./Ornith-Serve-x86_64-cuda.run # extract once
./ornith-serve/ornith-serve.sh fastest # or: fast | parallel
What the bundled build has that stock llama.cpp doesn't: MTP self-speculative
decoding for this model, the fixed chat template, measured profiles, and an
experimental --spec-max-active batch-occupancy gate for speculative decoding
(default off; drafts only while ≤N streams generate — the one-server-all-modes
design is in progress, see Honest limitations). Requires the NVIDIA driver;
~24GB VRAM (fastest), 2×24GB recommended for parallel.
sha256: 6a30cfba93c715ebe82d5de7a3dd486f08e4399eee353fa9ef1d106e3cdb2b73
A true cross-OS llamafile is planned once llamafile's llama.cpp sync includes MTP (its current engine predates it).
block_count+1,
nextn_predict_layers=1). No weights retrained.llama-quantize --allow-requantize from the Q8_0-MTP file
(deterministic; requant noise is part of the published finding).--spec-max-active (in the Ornith-Serve build) gates drafting correctly and
preserves solo speed, but spec-armed state currently carries a fixed
per-iteration cost inside llama_decode that caps gated batch throughput
(~223 vs 514 t/s @16 streams). Until that's profiled out, use the parallel
profile (spec off) for fleets — the gate is for burst protection on
small-slot profiles.