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.

How to actually use a 1M-context model

Habits that measurably help, from our RULER, hop and adherence testing across this fleet:

  1. Re-state standing instructions near the end of long prompts; recency beats depth.
  2. One big reference dump beats a long accumulated conversation. Fresh session per task.
  3. After any compaction or summarization, repeat your active rules yourself.
  4. Prefill at 500K+ takes real time on any hardware; stage your questions accordingly.
  5. Know your quant: the results tables on this card show what each quant actually holds at depth; pick the strongest one your memory allows.

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.


Repo history note: the commit history was squashed (July 2026) to reclaim storage from deleted large files, since Hugging Face bills every revision including deleted ones. The real build history of this repo is longer than the log shows. Method, tooling, and full records: aviary-1m.

Downloads last month
9,212
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
(88)
this model

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