Ornith-1.5-35B-A3B · REAP-50 (pruned bf16)
The 50%-REAP-pruned Ornith-1.5-35B-A3B in bf16 — the source checkpoint behind the NVFP4 and GGUF releases. Provided so others can produce their own quants (AWQ, EXL2, MLX, custom GGUF, …).
- 256 → 128 experts via REAP (Router-weighted Expert Activation Pruning), with a router-renormalization fix over the survivors.
- MTP head removed (
mtp_num_hidden_layers: 0), reload-verified with a real forward pass. ~19Bparameters,qwen3_5_moehybrid (Gated-DeltaNet + attention + MoE).- Vision tower not stripped in this checkpoint — use
Qwen3_5MoeForCausalLMfor text-only, or see the pipeline for the vision-strip step.
Quality after NVFP4A16 quant: HumanEval+ 84.2%, MBPP+ 89.2% (greedy, instruct) — single greedy draws; see the NVFP4A16 card on run-to-run spread.
Architecture
graph TD
Base["ornith-ai/Ornith-1.5-35B-A3B<br/>qwen3_5_moe - 256 experts - MTP head - ~65 GB bf16 - MIT"]
subgraph Build ["Build - RTX 5070 Ti, SM120"]
REAP["REAP expert prune 50% 256 -> 128"]
MTP["strip MTP head (1 -> 0, reload-verified)"]
StripV["strip vision tower (333 tensors)"]
Quant["GPTQ-NVFP4A16 quantize (~5.5 h, 12.47 GiB)"]
end
subgraph HF ["Published formats"]
A16["REAP-50-NVFP4A16 - 12.47 GiB (vLLM)"]
GGUF["REAP-50-GGUF (Q4_K_M / Q5_K_M / Q6_K / Q8_0)"]
BF16["REAP-50-bf16 (pruned source)"]
end
Bench["HumanEval+ 84.2% - MBPP+ 89.2% - SWE-bench Verified 44.0%"]
Base --> REAP --> MTP --> StripV --> Quant --> A16
StripV --> BF16
BF16 -. convert .-> GGUF
A16 --> Bench
Releases built from this
- NVFP4A16 (vLLM / Blackwell):
Ttimms/Ornith-1.5-35B-A3B-REAP-50-NVFP4A16 - GGUF:
Ttimms/Ornith-1.5-35B-A3B-REAP-50-GGUF
Pipeline
Full prune → strip → quant → serve → evaluate pipeline, with the bugs found and fixed along the way: https://github.com/t-timms/ornith-nvfp4
License
MIT (inherits from ornith-ai/Ornith-1.5-35B-A3B). Pruning via REAP
(github.com/CerebrasResearch/reap).