Ornith

Ornith-1.0-9B: 1M Context + MTP + Vision

GitHub License: MIT Base Context: 1M MTP

Mirrors: Hugging Face | ModelScope (full quant ladder always available on ModelScope)

DeepReinforce's Ornith-1.0-9B (9B dense, Qwen3.5 family) with YaRN RoPE scaling baked into the GGUF metadata for a 1,048,576-token context window, 4x the native 262,144, shipping with the MTP speculative-decoding layer baked in and a vision tower alongside. Weights bit-identical to the source builds; llama.cpp and Ollama apply the context extension with no extra flags.

Files: MTP-first

File Size Pick it when
ornith-1.0-9b-1M-MTP-Q4_K_M.gguf 5.8 GB Default. MTP layer baked in: +15 to 38 percent decode via llama.cpp speculative decoding
ornith-1.0-9b-1M-MTP-Q8_0.gguf 9.8 GB Max quality. This is the config that scored 10/10 at the full 1M with f16 KV
mmproj-ornith-9b-f16.gguf 918 MB Vision, attach with --mmproj

This repo intentionally carries only the MTP builds. The full 10-quant ladder (IQ2_M through bf16) lives on the ModelScope mirror.

Every file, every mirror

Nothing was discontinued: every quant is one click away. Hugging Face carries the curated picks, ModelScope always carries everything, and Ollama serves ready-to-run tags.

On Ollama every tag ships with the vision tower bundled and the 1M rope metadata baked in.

File Size Hugging Face ModelScope Ollama
mmproj-ornith-9b-f16.gguf 918 MB download download bundled in every tag
ornith-1.0-9b-1M-IQ2_M.gguf 3.6 GB on ModelScope download ollama run satgeze/ornith-9b-1m:iq2_m
ornith-1.0-9b-1M-IQ3_XXS.gguf 3.9 GB on ModelScope download ollama run satgeze/ornith-9b-1m:iq3_xxs
ornith-1.0-9b-1M-IQ4_XS.gguf 5.2 GB on ModelScope download ollama run satgeze/ornith-9b-1m:iq4_xs
ornith-1.0-9b-1M-MTP-Q4_K_M.gguf 5.8 GB download download ollama run satgeze/ornith-9b-1m
ornith-1.0-9b-1M-MTP-Q8_0.gguf 9.8 GB download download ollama run satgeze/ornith-9b-1m:q8_0
ornith-1.0-9b-1M-Q2_K.gguf 3.8 GB on ModelScope download ollama run satgeze/ornith-9b-1m:q2_k
ornith-1.0-9b-1M-Q3_K_M.gguf 4.6 GB on ModelScope download ollama run satgeze/ornith-9b-1m:q3_k_m
ornith-1.0-9b-1M-Q4_K_M.gguf 5.6 GB on ModelScope download ollama run satgeze/ornith-9b-1m
ornith-1.0-9b-1M-Q5_K_M.gguf 6.5 GB on ModelScope download ollama run satgeze/ornith-9b-1m:q5_k_m
ornith-1.0-9b-1M-Q6_K.gguf 7.4 GB on ModelScope download ollama run satgeze/ornith-9b-1m:q6_k
ornith-1.0-9b-1M-Q8_0.gguf 9.5 GB on ModelScope download ollama run satgeze/ornith-9b-1m:q8_0
ornith-1.0-9b-1M-bf16.gguf 17.9 GB on ModelScope download ollama run satgeze/ornith-9b-1m:bf16

Measured: the ladder and the quantization tax

Full ladder, no skipped rungs, 10 needles per rung at depths 5 to 95 percent, temperature 0, fresh-seed replications included:

Ornith-9B NIAH heatmap

Two configurations tell the whole story:

Config 64K to 524K 1M
Budget: Q4_K_M weights + q8_0 KV (fits 24 to 32 GB GPUs) 10/10 every rung 7/10, misses cluster at 65 to 85 percent depth
Max quality: Q8_0 weights + f16 KV (M3 Max 128 GB) 10/10 10/10

Same model, same 1M bake. The 1M misses in the budget config are quantization tax, not a context-extension failure; the extension itself is clean, as the max-quality run proves. Prefill time at 1M on M3 Max: about 6.8 hours (prefill_time_9b.png).

MTP

The Qwen3.5 family ships a multi-token-prediction layer in official checkpoints; Ornith's GGUFs dropped it and protoLabsAI restored it. Both files above carry it baked in. Measured decode gains on RTX 5090: 218 tok/s baseline to 250 to 302 tok/s depending on workload (best on code). Output is identical to standard decoding; the trunk verifies every drafted token.

llama-server -m ornith-1.0-9b-1M-MTP-Q4_K_M.gguf \
  -c 1048576 -np 1 --jinja \
  --spec-type draft-mtp --spec-draft-n-max 3 \
  --mmproj mmproj-ornith-9b-f16.gguf

Ollama (1M and vision work; no speculative decoding in Ollama yet):

FROM ./ornith-1.0-9b-1M-MTP-Q4_K_M.gguf
RENDERER qwen3.5
PARSER qwen3.5
PARAMETER num_ctx 262144

How this was built

1M context: YaRN rope-scaling metadata (factor 4.0 over native 262,144) baked into the GGUF header with gguf-py; no weight changes, no fine-tuning. MTP: community GGUF carrying the official layer, vetted and re-baked. Certification: multi-needle harness (in this repo as niah_test.py), f16 KV for certification runs, quantized KV only ever as a labeled budget config. Method and tooling: github.com/satindergrewal/aviary-1m.

For base capability benchmarks see the official Ornith-1.0-9B card. Sister repos: 35B (50/50 through 1M + MTP), 397B.

Credits

Ornith-1.0: DeepReinforce (MIT), post-trained on Qwen 3.5. MTP layer: Qwen; GGUF restoration: protoLabsAI. Vision tower: Qwen3.5 family. 1M YaRN extension, vetting, and certification: SatGeze.

Downloads last month
4,299
GGUF
Model size
0.5B params
Architecture
clip
Hardware compatibility
Log In to add your hardware

4-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for satgeze/Ornith-1.0-9B-1M-GGUF

Quantized
(69)
this model

Collection including satgeze/Ornith-1.0-9B-1M-GGUF