Ornith-1.5-35B-A3B-DFlash2-2.6B-A0.3B
A Mixture-of-Experts DFlash2 drafter for ornith-ai/Ornith-1.5-35B-A3B with a trained confidence head.
Results
| Setting | Value |
|---|---|
| Engine | vLLM |
| Hardware | NVIDIA H200, TP1 |
| Concurrency | 1 |
| Target | ornith-ai/Ornith-1.5-35B-A3B BF16 |
| Thinking mode | enabled |
| Sampling | temperature=0.6, top_p=0.95, top_k=20 |
| Max new tokens | 4,096 |
| Context | native 262,144 |
| Draft tokens | 7 per verification step |
| Benchmark | Samples | Model | p0 | p1 | p2 | p3 | p4 | p5 | p6 | AL |
|---|---|---|---|---|---|---|---|---|---|---|
| AA-LCR | 100 | DFlash2 | 0.859 | 0.671 | 0.521 | 0.414 | 0.331 | 0.262 | 0.203 | 4.261 |
| Native MTP | 0.894 | 0.737 | 0.553 | 0.402 | 0.285 | 0.197 | 0.133 | 4.203 | ||
| AIME26 | 30 | DFlash2 | 0.823 | 0.653 | 0.513 | 0.399 | 0.312 | 0.239 | 0.181 | 4.120 |
| Native MTP | 0.848 | 0.673 | 0.497 | 0.346 | 0.235 | 0.151 | 0.095 | 3.845 | ||
| GSM8K | 1,319 | DFlash2 | 0.872 | 0.743 | 0.627 | 0.529 | 0.445 | 0.366 | 0.299 | 4.880 |
| Native MTP | 0.882 | 0.704 | 0.502 | 0.334 | 0.213 | 0.131 | 0.079 | 3.844 | ||
| HumanEval | 164 | DFlash2 | 0.859 | 0.728 | 0.617 | 0.527 | 0.453 | 0.390 | 0.332 | 4.905 |
| Native MTP | 0.884 | 0.723 | 0.536 | 0.371 | 0.251 | 0.162 | 0.105 | 4.032 | ||
| LiveCodeBench | 1,055 | DFlash2 | 0.789 | 0.598 | 0.449 | 0.339 | 0.257 | 0.196 | 0.149 | 3.777 |
| Native MTP | 0.822 | 0.626 | 0.439 | 0.291 | 0.188 | 0.117 | 0.071 | 3.554 | ||
| LongBench-v2 | 402 | DFlash2 | 0.802 | 0.574 | 0.407 | 0.298 | 0.220 | 0.162 | 0.117 | 3.579 |
| Native MTP | 0.835 | 0.643 | 0.462 | 0.325 | 0.225 | 0.152 | 0.102 | 3.743 | ||
| MATH500 | 500 | DFlash2 | 0.868 | 0.729 | 0.607 | 0.501 | 0.414 | 0.339 | 0.272 | 4.730 |
| Native MTP | 0.890 | 0.741 | 0.556 | 0.386 | 0.255 | 0.162 | 0.100 | 4.091 | ||
| MBPP | 257 | DFlash2 | 0.823 | 0.652 | 0.515 | 0.410 | 0.328 | 0.263 | 0.210 | 4.201 |
| Native MTP | 0.840 | 0.655 | 0.476 | 0.333 | 0.228 | 0.153 | 0.101 | 3.786 | ||
| MMSpec | 600 | DFlash2 | 0.724 | 0.502 | 0.345 | 0.242 | 0.173 | 0.123 | 0.087 | 3.196 |
| Native MTP | 0.795 | 0.588 | 0.407 | 0.271 | 0.179 | 0.115 | 0.074 | 3.430 | ||
| MT-Bench | 80 | DFlash2 | 0.706 | 0.478 | 0.332 | 0.239 | 0.176 | 0.129 | 0.095 | 3.155 |
| Native MTP | 0.759 | 0.529 | 0.346 | 0.223 | 0.141 | 0.085 | 0.052 | 3.133 | ||
| SWE-bench Pro | 731 | DFlash2 | 0.734 | 0.518 | 0.369 | 0.265 | 0.191 | 0.137 | 0.096 | 3.309 |
| Native MTP | 0.773 | 0.557 | 0.391 | 0.264 | 0.178 | 0.117 | 0.078 | 3.357 | ||
| SpeedBench / coding | 80 | DFlash2 | 0.812 | 0.644 | 0.512 | 0.409 | 0.330 | 0.268 | 0.216 | 4.190 |
| Native MTP | 0.843 | 0.655 | 0.479 | 0.332 | 0.220 | 0.145 | 0.095 | 3.769 | ||
| SpeedBench / humanities | 80 | DFlash2 | 0.706 | 0.482 | 0.330 | 0.229 | 0.159 | 0.111 | 0.076 | 3.092 |
| Native MTP | 0.745 | 0.509 | 0.331 | 0.209 | 0.130 | 0.081 | 0.050 | 3.054 | ||
| SpeedBench / math | 80 | DFlash2 | 0.777 | 0.577 | 0.425 | 0.314 | 0.231 | 0.168 | 0.120 | 3.612 |
| Native MTP | 0.813 | 0.609 | 0.421 | 0.280 | 0.179 | 0.111 | 0.066 | 3.480 | ||
| SpeedBench / multilingual | 80 | DFlash2 | 0.785 | 0.609 | 0.473 | 0.366 | 0.285 | 0.216 | 0.157 | 3.890 |
| Native MTP | 0.834 | 0.594 | 0.386 | 0.241 | 0.143 | 0.084 | 0.050 | 3.333 | ||
| SpeedBench / qa | 80 | DFlash2 | 0.692 | 0.460 | 0.304 | 0.203 | 0.135 | 0.089 | 0.059 | 2.942 |
| Native MTP | 0.741 | 0.501 | 0.319 | 0.199 | 0.123 | 0.078 | 0.048 | 3.009 | ||
| SpeedBench / rag | 80 | DFlash2 | 0.818 | 0.638 | 0.496 | 0.387 | 0.307 | 0.234 | 0.172 | 4.052 |
| Native MTP | 0.853 | 0.658 | 0.462 | 0.303 | 0.192 | 0.112 | 0.065 | 3.646 | ||
| SpeedBench / reasoning | 80 | DFlash2 | 0.760 | 0.548 | 0.399 | 0.293 | 0.214 | 0.158 | 0.114 | 3.487 |
| Native MTP | 0.804 | 0.598 | 0.418 | 0.278 | 0.181 | 0.114 | 0.071 | 3.465 | ||
| SpeedBench / roleplay | 80 | DFlash2 | 0.583 | 0.305 | 0.165 | 0.094 | 0.054 | 0.031 | 0.018 | 2.250 |
| Native MTP | 0.640 | 0.352 | 0.182 | 0.096 | 0.048 | 0.025 | 0.013 | 2.355 | ||
| SpeedBench / stem | 80 | DFlash2 | 0.726 | 0.501 | 0.345 | 0.238 | 0.164 | 0.113 | 0.076 | 3.163 |
| Native MTP | 0.784 | 0.558 | 0.369 | 0.233 | 0.145 | 0.086 | 0.051 | 3.227 | ||
| SpeedBench / summarization | 80 | DFlash2 | 0.780 | 0.574 | 0.412 | 0.297 | 0.209 | 0.134 | 0.084 | 3.490 |
| Native MTP | 0.828 | 0.597 | 0.399 | 0.253 | 0.144 | 0.083 | 0.048 | 3.351 | ||
| SpeedBench / writing | 80 | DFlash2 | 0.632 | 0.372 | 0.226 | 0.144 | 0.096 | 0.062 | 0.041 | 2.572 |
| Native MTP | 0.706 | 0.445 | 0.263 | 0.152 | 0.086 | 0.049 | 0.028 | 2.730 |
Accepted length is calculated from the raw serving counters:
accepted_length = 1 + accepted_draft_tokens / draft_rounds
Architecture
| Setting | Value |
|---|---|
| Draft layers | 3 |
| Auxiliary hidden-state IDs | [3, 12, 21, 30, 39] |
| Hidden size | 2,048 |
| MoE FFN | 256 routed experts, top-8 routing |
| Routed expert intermediate | 512 |
| Shared expert | 1 expert, intermediate size 512 |
| Router | softmax, top-k normalization |
| Shared-expert gate | sigmoid |
| Attention | 32 Q heads / 4 KV heads |
| Head dimension | 128 |
| Attention window | sliding window 2,048 |
| Draft attention | non-causal inside the draft block |
| RoPE theta | 1e7 |
| Norm / activation | RMSNorm eps 1e-6 / SiLU |
| Dynamic convolution | kernel 2, group 16 |
| Candidate selector | rank 256, top-k 16 |
| Confidence head | included |
| Block | 7 draft tokens, sample_from_anchor=true |
| Draft vocabulary | 248,320 |
| Parameters | 2,638,552,065 total / 298,130,433 activated per token |
| Precision | BF16 |
Example: Run with vLLM
This is a drafter checkpoint, not a standalone language model. Pair it with Ornith-1.5-35B-A3B or a compatible quantized version:
vllm serve ornith-ai/Ornith-1.5-35B-A3B \
--tensor-parallel-size 1 \
--enable-prefix-caching \
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--reasoning-parser qwen3 \
--speculative-config '{
"method": "dflash",
"model": "DaoCloud/Ornith-1.5-35B-A3B-DFlash2-2.6B-A0.3B",
"num_speculative_tokens": 7
}'
The checkpoint currently requires a vLLM build containing:
vllm-project/vllm#54154—sample_from_anchor=truequery layouts for DFlash draft models.vllm-project/vllm#54475— MoE DFlash2 draft models.vllm-project/vllm#55668— optional DFlash2 confidence-head loading.
Checkpoint
The BF16 checkpoint contains 65 tensors and 2,638,552,065 parameters.
| File | SHA256 |
|---|---|
model.safetensors |
9cf5882723d8a58d415f9e5ebfa961d58ee4d9cfac862f3c76e0ffec3ff2371a |
Future work
Adaptive verification: confidence-head-driven adaptive draft budgets for high-concurrency serving, with calibration data. This will need variable-length GDN decode from
vllm-project/vllm#53929. The fixed budget used here never produces those ragged layouts, which is why the three pull requests above are sufficient today.NVFP4 quantized weights.
Throughput and latency Pareto curves across concurrency levels.
Acknowledgements
This work builds on ornith-ai/Ornith-1.5-35B-A3B, vllm-project/speculators, and vllm-project/vllm.
License
Apache-2.0.