Views
No views yet
ornith-ai/Ornith-1.5-35B-A3B
— 35B total / 3B active, 256 experts (8/tok), 40 layers, native VL.Upstream also ships an NVFP4 atornith-ai/Ornith-1.5-35B-A3B-NVFP4, and it is good — we ran it in prod for a day. This is not a "first" and does not claim to beat it. It exists because someone using our 1.0 NVFP4 asked for the 1.5 equivalent, and because it is a different quantization, not a repackage:
| this build | upstream | |
|---|---|---|
| framework | llm-compressor / compressed-tensors | NVIDIA ModelOpt 0.45 |
| format | nvfp4-pack-quantized | MIXED_PRECISION |
| KV cache | not pinned (serve as you like) | FP8 |
DeltaNet (linear_attn) | entirely bf16 | out_proj quantized |
| size | 25.0 GB | 23.4 GB |
| Component | Precision |
|---|---|
| 30,720 expert projections (40 × 256 × 3) | NVFP4 W4A4 |
| 160 attention projections | NVFP4 W4A4 |
Router (mlp.gate), shared_expert_gate | bf16 — low-precision routing corrupts MoE |
DeltaNet / GDN linear_attn | bf16 |
| Vision tower | bf16 |
lm_head, embed_tokens | bf16 |
MTP head (785 mtp.* tensors) | bf16, shipped but not servable here — see below |
1vllm serve protoLabsAI/Ornith-1.5-35B-A3B-NVFP4 \
2 --moe-backend marlin \
3 --max-model-len 262144 --gpu-memory-utilization 0.62 --max-num-seqs 16 \
4 --enable-auto-tool-choice --tool-call-parser qwen3_xml \
5 --reasoning-parser qwen3 --generation-config auto --trust-remote-code--moe-backend marlin is required. The trtllm auto-backend segfaults on the
Sm120_SafeFP4 kernel even with a clean checkpoint. Don't remove it.--generation-config auto is not boilerplate. The Ornith-1.5 family fails to terminate
at low temperature — pin a low temp and it runs to your token cap emitting nothing useful.max_tokens returns empty content
with finish_reason=length because the whole budget went to the reasoning channel. If you
get blank replies, raise the budget before suspecting the weights.mtp.* tensors are preserved, but marlin and MTP are mutually exclusive
(the global MoE backend would also have to serve the unquantized bf16 draft MoE), so this
lane runs without speculative decoding on vLLM/sm120 today. Shipped anyway — other backends
may take them. MTP also hurts MoE in our measurements (routing overhead exceeds the
speculation win), so this is not the loss it sounds like.census 30,720 expert + 160 attn packed W4A4; ZERO packed in
visual / linear_attn / mtp / lm_head / router; 785 mtp.* preserved
completion PASS — coherent, correct, terminates
tool call PASS — qwen3_xml, correct name + parsed arguments
vision PASS — 5/5 shapes; wordmark OCR 3/3 exact
depth needle-exact at 200,409 prompt tokens
coherence clean detectors at 32K and 131Kaxis score kind detail
-------------- ----- ------------------ ------
claw 0.719 agentic/LLM-judged 10 tasks · robustness 1.00 · safety-clean
reasoning_hard 0.861 solver-verified 7/9 full-pass
function_call 0.889 schema-checked 48/54 · untagged 100% · in-proc 85% · ext 90%
livecodebench 0.205 exec-graded hard-only, 30 problems, thinking-offornith-ai/Ornith-1.5-35B-A3B (MIT).ultrachat_200k, moe_calibrate_all_experts=True. MIT.
Built by protoLabs.studio.