audreyt/Ornith-1.5-9B-DFlash-GGUF overview
Ornith 1.5 9B DFlash GGUF A target specific classic DFlash draft for ornith ai/Ornith 1.5 9B https://huggingface.co/ornith ai/Ornith 1.5 9B , initialized from …
Runs locally from ~730.5 MB disk (4 GB VRAM class GPUs with llama.cpp / guIDE).
Repository Files & Downloads
| File | Type | Quantization | Size | Link |
|---|---|---|---|---|
| ornith1.5-9b-dflash-bf16-projection-Q4_K_M.gguf | GGUF | BF16 | 730.5 MB | Download |
Model Details
Model README
---
license: apache-2.0
base_model:
- z-lab/Qwen3.5-9B-DFlash
- ornith-ai/Ornith-1.5-9B
library_name: gguf
tags:
- gguf
- dflash
- speculative-decoding
- speculative-decoding-draft
- qwen3.5
- ornith
---
Ornith 1.5 9B DFlash GGUF
A target-specific classic DFlash draft for ornith-ai/Ornith-1.5-9B, initialized from z-lab/Qwen3.5-9B-DFlash and distilled against Ornith 1.5 target features.
This is not a standalone language model. Pair it with the Ornith 1.5 9B target in a runtime that supports classic DFlash speculative decoding.
File
| File | Quantization | SHA-256 |
|---|---|---|
| ornith1.5-9b-dflash-bf16-projection-Q4_K_M.gguf | Q4_K_M | 76ed0c5d3c401d9d518b2fd9b8468b0ccdd7f07c51f0108234e4a6eadbc511f2 |
Training
The six-layer Qwen3.5 DFlash backbone was retained. Projection-specific distillation unfroze fc and hidden_norm, while the remaining draft layers stayed frozen.
- Target:
ornith-ai/Ornith-1.5-9B - Initialization:
z-lab/Qwen3.5-9B-DFlash - Corpus: 144 target-generated Alpaca prompts and responses
- Target features: cached from the BF16 Ornith target
- Training: 4,096 projection-only optimization steps
- Objective: position-weighted block cross-entropy following the DFlash objective
- Evaluation mean accepted length: 2.50 before → 2.77 after distillation
- Export: GGUF Q4_K_M using current llama.cpp tooling
The training pipeline is included in this repository as dflash_distill_mlx.py.
DS4 usage
./ds4 \
-m Ornith-1.5-9B-Q4_K_M.gguf \
--dflash ornith1.5-9b-dflash-bf16-projection-Q4_K_M.gguf \
-p "Count from 1 to 100."
DS4's adaptive scheduler is enabled by default. It probes draft yield, increases the speculative block only when profitable, and falls back to target-only decoding on low-yield text. Set DS4_DFLASH_ADAPTIVE=0 to disable adaptation.
Measured results
Apple M4, Ornith 1.5 9B Q4_K_M target, greedy decoding:
| Workload | Target only | Adaptive DFlash | Acceptance |
|---|---:|---:|---:|
| 128-token counting conversation | 16.24 tok/s | 18.97 tok/s | 109/110 |
| 64-token literary text | 15.62 tok/s | 13.85 tok/s | Scheduler rejected the probe and fell back |
The counting workload improved by 16.8%. Low-yield text does not benefit; its short benchmark includes the one-time probe cost, after which DS4 stays target-only.
Greedy target-only and speculative outputs were byte-identical for a normal chat prompt and a 128-token counting conversation.
Limitations
- Target-specific: acceptance may be substantially lower with base Qwen3.5 or another fine-tune.
- Throughput depends on runtime kernels, hardware, prompt distribution, and accepted length.
- The reported exactness checks cover greedy decoding in DS4. Other runtimes and sampling modes were not qualified here.
- This repository contains only the draft. Download the target separately from
ornith-ai/Ornith-1.5-9B-GGUF.
Acknowledgements and licenses
The draft initialization is from Z-Lab's Apache-2.0 Qwen3.5 DFlash release. Ornith 1.5 is released under MIT. See the upstream repositories for their respective license texts and model documentation.
Run audreyt/Ornith-1.5-9B-DFlash-GGUF with guIDE
Download guIDE — the AI-native code editor with local LLM inference and 69 built-in tools.
Source: Hugging Face · Compare models