CoolFace
Modelpublic

KikoCis/Ornith-1.0-9B-Ollama-fixed-GGUF

sourceHugging Facemitupdated 3mo agoView on Hugging Face
9likes1.2kdownloads
Model Card

[image]

Ornith-1.0-9B — full GGUF ladder + fidelity metrics

This is NOT my model. All weights and training are by [DeepReinforce](https://deep-reinforce.com) (deepreinforce-ai/Ornith-1.0-9B). This is an independent repack: it ships the whole quantization ladder with objective KLD fidelity metrics and an honest third-party evaluation. No weights were modified.

About the "repetition loop" (correcting my earlier claim)

An earlier version of this repo framed a missing tokenizer.chat_template as the bug behind Ornith's repetition loops. That framing was wrong, and I want to correct it in the open. After feedback from [@NeoHuggingF](https://huggingface.co/NeoHuggingF) — and re-checking — the qwen3.5-family GGUFs do carry the chat template (the source repo ships chat_template.jinja), and hand-writing a ChatML override actually introduces dropped-character bugs. So there is no unique "template bug" that this repo fixes.

What actually causes the loops, and how to avoid them:

  • —Ollama renderer/parser. For qwen3.5 the correct Modelfile is TEMPLATE {{ .Prompt }} + `RENDERER qwen3.5` + `PARSER qwen3.5` (recent Ollama), not a custom template. The Modelfile in this repo is set up that way.
  • —Sampling. Low temperature (e.g. 0.1) makes reasoning-tuned models loop. Use DeepReinforce's recommended temp 1.0 / top_p 0.95.

What this repo actually adds is the honest part: the full quant ladder (below) with a KLD fidelity sweep, an imatrix, provenance and checksums — plus a small independent SWE probe. No "bug fix" claim.

✅ Recommended files

Use caseFileSizeTop-1 vs Q8
Best quality / archivalOrnith-1.0-9B-Q8_0.gguf9.5 GB100%
Near-losslessOrnith-1.0-9B-Q6_K.gguf7.4 GB97.5%
Balanced defaultOrnith-1.0-9B-Q5_K_M.gguf6.5 GB95.9%
Best compact (imatrix)Ornith-1.0-9B-IQ4_XS.gguf5.2 GB94.4%
Smallest (lossy)Ornith-1.0-9B-Q3_K_M.gguf4.6 GB86.5%
Tip: on this hybrid arch, IQ4_XS dominates Q4_K_M — it's smaller (5.2 vs 5.6 GB) and more faithful (94.4% vs 92.2% Top-1), thanks to the imatrix. Q4_K_M is still shipped as the familiar safe default. Q3_K_M is the only sub-5 GB option but noticeably lossy (86.5%).

📦 Files (the ladder)

QuantSizeTop-1 vs Q8
Q3KM4.6 GB86.5%
IQ4_XS5.2 GB94.4%
Q4KM5.6 GB92.2%
Q5KM6.5 GB95.9%
Q6_K7.4 GB97.5%
Q8_09.5 GBref

📊 Metrics — fidelity vs the Q8_0 reference

Measured with llama-perplexity --kl-divergence over 68 chunks (n_ctx 512). KLD (Kullback–Leibler divergence) is the gold-standard quant-fidelity metric; Top-1 match is how often the quant's argmax token equals the reference's.

Reference = Q8_0, not BF16. Ornith is a hybrid `qwen3_5` arch (linear-attention / SSM layers + periodic full-attention + vision), which llama.cpp's converter does not yet lower cleanly from safetensors. So the whole ladder is requantized from the verified Q8_0 (near-lossless), and fidelity is measured against that Q8_0.
QuantSizePPLPPL vs Q8KLD meanKLD p50Top-1 match
Q8_09.53 GB4.605refrefref100.0%
Q6_K7.36 GB4.605+0.06%0.00450.001497.5%
Q5KM6.47 GB4.653+1.09%0.01330.003795.9%
Q4KM5.63 GB4.637+0.74%0.03790.013592.2%
IQ4_XS5.20 GB4.661+1.26%0.02290.007994.4%
Q3KM4.62 GB5.073+10.22%0.12190.046986.5%

Small eval set (68 chunks) → PPL carries some noise (a lower-tier PPL can dip below a higher one by chance); KLD and Top-1 match are the reliable fidelity signals and rank monotonically. Q6_K is effectively lossless (97.5% Top-1, +0.06% PPL); Q3_K_M is the only tier with visible degradation.

🧮 Will it fit?

RAMComfortable quantContext
8 GBIQ4XS / Q4K_M8K–16K
16 GBQ5KM / Q6_K32K
24 GB+Q8_032K–128K

🚀 How to run it

Ollama:

bash
ollama run hf.co/KikoCis/Ornith-1.0-9B-Ollama-fixed-GGUF:Q5_K_M
# or a specific file: ollama create ornith -f Modelfile && ollama run ornith

llama.cpp:

bash
llama-server -m Ornith-1.0-9B-Q5_K_M.gguf --jinja -c 32768

Recommended sampling (DeepReinforce official): temperature 1.0, top_p 0.95. Low temperature (0.1) causes repetition loops on this model — use ~1.0. For agentic tool-use, point your harness at DeepReinforce's <function=> (OpenHands) tool format.

Independent evaluation (honest, small probe)

6-instance SWE-bench (django) probe, Claude-Code agentic harness, temp 1.0 / top_p 0.95, same template for all:

modelSWEnote
base Qwen3.5-9B1/6baseline
Ornith-1.0-9B2/6real fine-tune, beats base
NRS_QWEN_MYTHOS_1M ("100x reasoning" hype)0/6hype, worse than base
Ornith-9B, only the change shownresult
temp 0.1, raw template0/6 (repetition loops)
temp 1.0 + RENDERER/PARSER qwen3.52/6 (healthy)
⚠️ These are relative numbers on a tiny probe — NOT comparable 1:1 to DeepReinforce's official 69.4 SWE-bench Verified (OpenHands harness, <function=> format, temp 1.0/topp 0.95). Use the official numbers for leaderboard comparison. The SWE probe was run on the Q80; the lower tiers are validated by the KLD table above (fidelity to that Q8_0), not by re-running the full agentic suite on each.

🔁 Provenance & reproducibility

  • —Ladder: requantized from the verified Q8_0 with llama-quantize --allow-requantize (K-quants) + an imatrix (llama-imatrix, 264 KB calibration corpus) for IQ4_XS. See `scripts/ladder.sh`, `scripts/phaseB2.sh`.
  • —Metrics: scripts/parse_metrics.py → `metrics/quant-summary-with-kld.json` / .csv; per-quant KLD logs in reports/.
  • —Integrity: SHA-256 of every file in `reports/artifact-sha256sums.txt`.
  • —Chat template: DeepReinforce's official chat_template.jinja, embedded unmodified.

Credit & license

  • —Model, weights, training, and chat_template.jinja: © DeepReinforce — Ornith-1.0, GrandCode paper, deep-reinforce.com.
  • —This repack + ladder + evaluation: KikoCis. MIT (same as upstream). No weights modified — only metadata (chat_template, general.description) added, then requantized.

🗒️ Changelog

  • —2026-07-12 — Added the full quant ladder (IQ4XS, Q3KM, Q4KM, Q5KM, Q6K) alongside the original Q80, with a KLD/PPL fidelity sweep vs Q80, imatrix, provenance scripts, and SHA-256 sums.
  • —2026-07-12 (later) — Corrected the card: withdrew the "missing chat-template bug" claim (per @NeoHuggingF; the GGUFs do carry the template). The real fix is Ollama's RENDERER/PARSER qwen3.5 + recommended sampling.
  • —2026-06-27 — Initial Q8_0 repack + independent SWE probe.