Pack Summary
Table with columns: Field, Value| Field | Value |
|---|
| Base Model | ornith-ai/Ornith-1.5-122B (125.09 B parameters, BF16) |
| Architecture | Qwen3_5MoeForConditionalGeneration (48 layers: 36 Gated DeltaNet + 12 full attention, 256 routed experts top-8 + 1 shared expert, 1 native MTP layer, 27-layer vision tower) |
| Format | EXL3 (quant_method: exl3, codebook mul1) |
| Average BPW | 2.58 bpw |
| Pack Size | 41.00 GiB language model weights (39.58 GiB GPU-resident LM + 1.42 GiB embed_tokens) / 42.01 GiB total on disk across 6 shards (model-00001-of-00006.safetensors .. model-00006-of-00006.safetensors) |
| Context Window | 262,144 tokens (max_position_embeddings, extendable to 1M via YaRN) |
| Target Hardware | Single 48 GB GPU or 128 GB unified-memory system (NVIDIA DGX Spark GB10) |
| License | MIT |
Measured Speeds on 1× NVIDIA DGX Spark (GB10, sm_121, 128 GB Unified)
Measured end-to-end with vLLM 0.32.0 + vcruz305/vllm-exl3 (using vcruz305/Ornith-1.5-122B-EXL3-DGX-Spark-recipe) and REXL3:
Table with columns: Engine / Workload (GB10, 1× DGX Spark), Decode (tok/s), Per-Stream (tok/s), Prefill (tok/s), TTFT (ms), NotesEngine / Workload (GB10, 1× DGX Spark) | Decode (tok/s) | Per-Stream (tok/s) | Prefill (tok/s) | TTFT (ms) | Notes |
|---|
vLLM 0.32.0 + vllm-exl3 (C = 1, MTP k=1 on Code) | 32.60 (32.99 peak) | 32.60 | — | 124.2 | 88.6% draft acceptance on code; 30.38 tok/s mean across all suites |
vLLM 0.32.0 + vllm-exl3 (C = 1, No Draft) | 30.51 (30.57 peak) | 30.51 | 1,119.1 (2K) | 109.1 | VLLM_EXL3_COOP=1 + VLLM_EXL3_COALESCE_SHARDS=1 (2.0 s CUDA graph capture) |
vLLM 0.32.0 + vllm-exl3 (C = 4 Concurrent) | 63.07 | 17.22 | — | 238.1 | 2.07× aggregate throughput |
vLLM 0.32.0 + vllm-exl3 (C = 8 Concurrent) | 89.21 | 12.02 | — | 428.7 | 2.92× aggregate throughput |
vLLM 0.32.0 + vllm-exl3 Prefill 2,048 (Cold / Cached) | — | — | 1,119.1 / 1,408.7 | 1,830.1 / 1,453.9 | 1.26× prefix-cache speedup |
vLLM 0.32.0 + vllm-exl3 Prefill 4,096 (Cold / Cached) | — | — | 1,033.8 / 2,210.9 | 3,962.1 / 1,852.6 | 2.14× prefix-cache speedup |
vLLM 0.32.0 + vllm-exl3 Prefill 8,192 (Cold / Cached) | — | — | 991.6 / 4,449.5 | 8,261.2 / 1,841.1 | 4.49× prefix-cache speedup |
Reference: REXL3 Native Engine (C = 1 / C = 8) | 30.58 / 90.82 | 30.58 / 11.35 | — | 91.2 | 9.12 s cold boot (41.00 GiB LM weights) |
9-Suite (353/356-Item) Downstream Benchmark vs. 4.0 bpw
Measured on the same DGX Spark (GB10) under identical deterministic prompts and evaluation harnesses:
Table with columns: Benchmark Suite, Items, This Pack (vcruz305 SAGE 2.58 bpw, 41.00 GiB LM), 4.0 bpw EXL3 (59.00 GiB LM), Delta (SAGE 2.58 vs 4.0 bpw)| Benchmark Suite | Items | This Pack (vcruz305 SAGE 2.58 bpw, 41.00 GiB LM) | 4.0 bpw EXL3 (59.00 GiB LM) | Delta (SAGE 2.58 vs 4.0 bpw) |
|---|
| MMLU-Pro (STEM) | 100 | 94 / 100 (94.00%) | 96 / 100 (96.00%) | -2 (-2.00%) |
| LiveCodeBench (Matched / Full) | 17 / 20 | 13 / 17 (76.47%) / 15 / 20 (75.00%) | 12 / 17 (70.59%) / 14 / 20 (70.00%) | +1 (+5.88% / +5.00%) |
| MBPP+ | 60 | 53 / 60 (88.33%) | 51 / 60 (85.00%) | +2 (+3.33%) |
| HumanEval+ | 40 | 39 / 40 (97.50%) | 39 / 40 (97.50%) | 0 (0.00%) |
| SciCode | 10 | 5 / 10 (50.00%) | 4 / 10 (40.00%) | +1 (+10.00%) |
| MATH-500 | 40 | 38 / 40 (95.00%) | 39 / 40 (97.50%) | -1 (-2.50%) |
| MGSM (8 Languages) | 40 | 40 / 40 (100.00%) | 40 / 40 (100.00%) | 0 (0.00%) |
| BFCL (Function Calling) | 40 | 37 / 40 (92.50%) | 37 / 40 (92.50%) | 0 (0.00%) |
| Multi-step Tool Chains | 6 | 5 / 6 (83.33%) | 5 / 6 (83.33%) | 0 (0.00%) |
| Coding Subtotal (LCB+MBPP+HE+SciCode) | 130 | 112 / 130 (86.15%) | 108 / 130 (83.08%) | +4 (+3.08%) |
| OVERALL TOTAL (353-Item Matched) | 353 | 324 / 353 (91.78%) | 323 / 353 (91.50%) | +1 (+0.28%) |
| OVERALL TOTAL (356-Item Full) | 356 | 326 / 356 (91.57%) | 325 / 356 (91.29%) | +1 (+0.28%) |
| Loaded LM Weight Footprint | — | 41.00 GiB (fits 1× 48 GB GPU) | 59.00 GiB (requires 80 GB+) | -18.00 GiB (-30.5% smaller) |
Cold Boot Time (REXL3, GB10) | — | 9.12 s | 19.23 s | 2.11× faster |
C = 8 Aggregate Decode (GB10) | — | 89.21 tok/s (vLLM) / 90.82 tok/s (REXL3) | 83.11 tok/s | +9.3% faster |
Fidelity vs. Unquantized ornith-ai/Ornith-1.5-122B BF16 Master
Measured directly against the unquantized ornith-ai/Ornith-1.5-122B BF16 master across held-out evaluation splits over the full 248,320-token vocabulary:
Table with columns: Evaluation Split / Subset, Positions, Top-1 Agreement, Top-5 Agreement, Mean KLD (nats), Median KLD (nats), Mean TV, BF16 Master PPL, SAGE 2.58bpw PPL, ΔPPL (%)| Evaluation Split / Subset | Positions | Top-1 Agreement | Top-5 Agreement | Mean KLD (nats) | Median KLD (nats) | Mean TV | BF16 Master PPL | SAGE 2.58bpw PPL | ΔPPL (%) |
|---|
e2e_eval (Answer-Only) | 5,256 | 92.10% | 99.24% | 0.10845 | 0.00175 | 0.07938 | 2.2139 | 2.2984 | +3.82% |
e2e_eval (Non-Header) | 16,120 | 91.12% | 99.09% | 0.16414 | 0.00383 | 0.09176 | 2.6812 | 2.7426 | +2.29% |
e2e_eval — Code (HumanEval) | 4,038 | 94.43% | 99.21% | 0.14847 | 0.00041 | 0.06060 | 1.6854 | 1.7555 | +4.16% |
e2e_eval — Reasoning (MATH-500) | 4,036 | 91.18% | 99.28% | 0.15074 | 0.00516 | 0.08967 | 3.0384 | 2.9640 | -2.45% |
e2e_eval — Math (GSM8K) | 4,018 | 90.24% | 99.08% | 0.20349 | 0.00491 | 0.10177 | 2.3485 | 2.4310 | +3.51% |
e2e_eval — General (WikiText-2) | 4,028 | 88.60% | 98.81% | 0.15403 | 0.02442 | 0.11510 | 4.2996 | 4.4758 | +4.10% |
heldout_8x1024 (Answer-Only) | 2,664 | 90.58% | 99.29% | 0.09522 | 0.00299 | 0.08531 | 2.4456 | 2.5333 | +3.59% |
heldout_8x1024 — Code | 2,026 | 94.82% | 99.41% | 0.14258 | 0.00035 | 0.05740 | 1.6215 | 1.6995 | +4.81% |
heldout_8x1024 — Reasoning | 2,024 | 91.90% | 99.11% | 0.13906 | 0.00182 | 0.08081 | 2.4344 | 2.4775 | +1.77% |
indep_8x1024 (Non-Header) | 8,056 | 90.83% | 99.14% | 0.14847 | 0.00575 | 0.09303 | 2.8513 | 2.8938 | +1.49% |
indep_8x1024 — Code | 2,012 | 94.43% | 99.25% | 0.14510 | 0.00039 | 0.05797 | 1.7349 | 1.7913 | +3.25% |
indep_8x1024 — Reasoning | 2,026 | 93.09% | 99.51% | 0.08431 | 0.00607 | 0.07276 | 2.7303 | 2.7202 | -0.37% |
indep_8x1024 — Math | 2,010 | 90.00% | 99.05% | 0.17364 | 0.00998 | 0.10259 | 2.9910 | 3.0177 | +0.89% |
Quickstart: Serving with vLLM 0.32.0 + vcruz305/vllm-exl3
Full scripts, preflight checks, and benchmarks are available in the companion recipe repository:
👉 https://github.com/vcruz305/Ornith-1.5-122B-EXL3-DGX-Spark-recipe
git clone https://github.com/vcruz305/Ornith-1.5-122B-EXL3-DGX-Spark-recipe.gitcd Ornith-1.5-122B-EXL3-DGX-Spark-recipe # 1. Create the vLLM environment (vllm==0.32.0, vcruz305/vllm-exl3 with -DP2B_CB=2, vision patch).bash vllm-plugin/setup_env.sh # 2. Download this pack.HF_XET_HIGH_PERFORMANCE=1 ~/venvs/vllm-exl3/bin/hf download \ vcruz305/Ornith-1.5-122B-EXL3-SAGE-2.58bpw \ --local-dir ~/models/Ornith-1.5-122B-EXL3-SAGE-2.58bpw # 3. Prepare a non-destructive symlinked view at ~/models/Ornith-1.5-122B-EXL3-SAGE-2.58bpw-vllm.PACK_DIR=~/models/Ornith-1.5-122B-EXL3-SAGE-2.58bpw \ PLUGIN_REPO=/path/to/vllm-exl3 \ bash vllm-plugin/prepare_pack.sh # 4. Launch vLLM (--quantization exl3, 262,144 context, VLLM_EXL3_COOP=1, VLLM_EXL3_COALESCE_SHARDS=1).source ~/venvs/vllm-exl3/bin/activatebash vllm-plugin/serve.sh
- Enable MTP speculative decoding (
32.60 tok/s / 32.99 peak on code):
SPEC_CONFIG='{"method":"mtp","num_speculative_tokens":1}' bash vllm-plugin/serve.sh
- Enable the 27-layer multimodal vision tower:
LANGUAGE_MODEL_ONLY=0 bash vllm-plugin/serve.sh
About the Base Model: ornith-ai/Ornith-1.5-122B
(Copied from the upstream ornith-ai/Ornith-1.5-122B model card for reference)
Chirp Chirp! 🐦 We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement.
Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For more details on the task, harness, and rollout reward design, please refer to our blog.
Upstream Benchmarks (ornith-ai/Ornith-1.5-122B)
Recommended Sampling & Reasoning Parameters
Using Ornith-1.5-122B via the Chat Completions API
Once your vLLM server is running (http://localhost:8899/v1 via vcruz305/Ornith-1.5-122B-EXL3-DGX-Spark-recipe), talk to it with any OpenAI-compatible client:
from openai import OpenAI client = OpenAI( base_url="http://localhost:8899/v1", api_key="EMPTY",) response = client.chat.completions.create( model="Ornith-1.5-122B-EXL3", messages=[ {"role": "user", "content": "Write a one-line Python lambda that squares a number."} ], temperature=0.6, top_p=0.95, max_tokens=1024,) message = response.choices[0].messageprint("reasoning:", getattr(message, "reasoning_content", None))print("answer:", message.content)
Tool calling works out of the box:
tools = [ { "type": "function", "function": { "name": "get_weather", "description": "Get the current weather for a city", "parameters": { "type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"], }, }, }] response = client.chat.completions.create( model="Ornith-1.5-122B-EXL3", messages=[{"role": "user", "content": "What is the weather in Paris right now?"}], tools=tools, tool_choice="auto", temperature=0.6, max_tokens=2048,) tool_call = response.choices[0].message.tool_calls[0]print(tool_call.function.name, tool_call.function.arguments)# -> get_weather {"city": "Paris"}
Agentic & Coding CLI Usage
Hermes Agent
export OPENAI_BASE_URL="http://localhost:8899/v1"export OPENAI_API_KEY="EMPTY"export MODEL="Ornith-1.5-122B-EXL3"
OpenClaw
export OPENAI_BASE_URL="http://localhost:8899/v1"export OPENAI_API_KEY="EMPTY"export OPENAI_MODEL="Ornith-1.5-122B-EXL3"
OpenCode
# Register your local Ornith endpoint as a provider in ~/.config/opencode/opencode.json:# {# "$schema": "https://opencode.ai/config.json",# "provider": {# "ornith": {# "npm": "@ai-sdk/openai-compatible",# "name": "Ornith (local)",# "options": { "baseURL": "http://localhost:8899/v1", "apiKey": "EMPTY" },# "models": { "Ornith-1.5-122B-EXL3": { "name": "Ornith-1.5-122B-EXL3" } }# }# }# }opencode
Citation
@misc{ornith_1_5, title = {{Ornith-1.5}: From Self-Scaffolding to Self-Improvement}, url = {https://ornith.ai/ornith_1_5.html}, author = {{Ornith Team}}, year = {2026}}