KikoCis/Ornith-1.0-9B-Ollama-fixed-GGUF
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. TheModelfilein 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
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_Mis still shipped as the familiar safe default.Q3_K_Mis the only sub-5 GB option but noticeably lossy (86.5%).
📦 Files (the ladder)
📊 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.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?
🚀 How to run it
Ollama:
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 ornithllama.cpp:
llama-server -m Ornith-1.0-9B-Q5_K_M.gguf --jinja -c 32768Recommended 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:
⚠️ 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_0withllama-quantize --allow-requantize(K-quants) + an imatrix (llama-imatrix, 264 KB calibration corpus) forIQ4_XS. See `scripts/ladder.sh`, `scripts/phaseB2.sh`. - Metrics:
scripts/parse_metrics.py→ `metrics/quant-summary-with-kld.json` /.csv; per-quant KLD logs inreports/. - 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.
