68.56% full-model prefill gain in the same-weight FPX7 ablation
This is the quality-maximized DualView release of
Ornith 1.0 35B-A3B:
a 256-expert reasoning, tool-use, coding, and vision model engineered for AMD
unified-memory systems.
DualView keeps a compact FPX7-led target for generation, opens an exact INT8
compute view of the same stored values for prompt ingestion, and keeps the
model's sensitive attention and state-space outputs at Q8. The download also
includes the official Qwen3.6 MTP layer and Ornith's matching F32 vision
projector.
ROCmFPX is required. This model introduces a new GGUF type and execution
path that stock llama.cpp does not understand. Use the
dualview-ornith-35b-v1
release of ciru-ai/ROCmFPX.
What matters
This release
Model
Ornith 1.0 35B-A3B, 256 experts / 8 active
Quality position
Quality-max 7.533-bpw target with Q8 precision islands
Native context
262,144 tokens
Vision
Included — matching Ornith F32 projector
HumanEval base
98.78% — 162/164
HumanEval+
93.29% — 153/164
Target-only PP4096
1,236.16 tok/s
Target-only TG256
48.05 tok/s
Best tested MTP decode mean
84.40 tok/s
Best tested MTP code mean
101.44 tok/s
Primary hardware
Ryzen AI Max+ 395 / Radeon 8060S, gfx1151
Why two views are worth doing
The most direct experiment disables only the INT8 compute view. The model,
stored FPX7 values, scales, runtime, ROCm device, F16 KV, batch/ubatch, and
flash-attention settings stay fixed.
Same-weight execution-path ablation
PP4096 tok/s
TG256 tok/s
Canonical packed FPX7 matmul
713.421 tok/s
48.511 tok/s
Exact INT8 prefill view + packed FPX7 decode
1,202.550 tok/s
48.719 tok/s
Change from opening the second view
+68.56%
+0.43%
This is an ablation of the execution path, not a comparison against another
model. It isolates the DualView mechanism:
Prefill: the same values reach AMD's mature INT8 matrix path instead of
running packed-Q7 MMQ.
Decode: the compact FPX7 representation remains the active path, so
generation speed is unchanged within measurement noise.
At the routed-operator level, the same pattern is even easier to see:
Ornith routed FFN geometry, PP512
Packed FPX7
Exact INT8 view
Speedup
Gate/up
4,271.03 µs
1,843.43 µs
2.32×
Down
4,355.82 µs
2,015.37 µs
2.16×
These are operator timings, while the 68.56% result above is a full-model
PP4096 measurement across three clean loads and nine samples.
The retained quality-max release
The shipped target adds Q8 precision islands for every full-attention Q/K/V/O
projection and every Mamba ssm_out projection. That final topology-aware
recipe is faster than the public Q8 controls while retaining the packed FPX7
decode path for the other quantized tensors.
Matched protocol: ROCm0 on gfx1151, full offload, F16/F16 KV, flash attention,
batch/ubatch 2048/512, 16 threads, MTP disabled.
Against official Q8_0, the shipped target is 4.35% faster in prefill and
10.53% faster in decode. Q6_K remains 9.18% faster in decode, but DualView
is 11.28% faster in prefill. The point is a stronger Pareto position—not a
claim that one format wins every phase.
The long-context control used the same 64K prose and code prompts, 256 output
tokens, F16 KV, flash attention, one slot, and the normal target-only server
path. These are complete published Unsloth quant files, not isolated kernels.
At 64K, DualView is within 2.1% of the Q5 wall time, slightly faster than Q6,
and 5.3% faster end to end than Q8_K_XL. It also beats all three controls in
measured decode.
The public DualView download is 33.537 GB because it also carries the optional
0.898 GB MTP layer. The speed row above uses the 32.639 GB target payload with
MTP disabled.
That is the point of this release: keep the quality-focused model while
running in the same practical speed class as materially smaller quants.
Quality evidence
DualView is not a uniform low-bit conversion.
All full-attention query, key, value, and output matrices remain Q8.
Every Mamba ssm_out matrix remains Q8.
The remaining target matrices use CIRU's 7.50-bpw format.
The prefill representation is derived exactly from those stored weights. It
does not introduce a second quantization or an additional rounding step.
The release has coding, agent, tool-use, and language-model checks—not only
weight-error proxies:
Quality test
Result
Protocol note
HumanEval base
98.78% — 162/164
Thinking on, MTP depth 7
HumanEval+
93.29% — 153/164
Stronger EvalPlus tests
BigCodeBench Hard Instruct
27.70% — 41/148
Thinking off, MTP depth 7
HermesAgent-20, target only
84.0 mean — 85 / 88 / 79
Three complete 20-scenario trials
HermesAgent-20, MTP depth 7
83.0 mean — 87 / 78 / 84
Three complete 20-scenario trials
ToolEval hard, target only
75.67 mean — 70 / 70 / 87
Three complete 15-scenario trials
ToolEval hard, MTP depth 7
87
12 pass / 2 partial / 1 fail
WikiText-2 perplexity
8.461721
24,576 tokens / 48 chunks
HumanEval used 131,072 context, unrestricted native reasoning,
temperature=0.6, top_p=0.95, top_k=0, min_p=0, seed 42, and MTP depth
7. BigCodeBench used all 148 Hard-Instruct tasks, 131,072 context,
temperature=0.6, top_p=0.95, top_k=20, seed 42, thinking disabled, and
MTP depth 7; all 148 generations stopped normally. HermesAgent and ToolEval
used the release thinking sampler.
The HumanEval publication is an audited protocol-corrected result. Four tasks
that looped under a restrictive fenced-code adapter were replayed with the raw
dataset prompt under otherwise matched settings; all four terminated and
passed. The original outputs, replacements, task IDs, hashes, and scoring
artifacts remain preserved. No benchmark-specification disputes were credited.
The result is also listed on CIRU Lab.
HermesAgent and ToolEval are small repeated behavioral panels, not broad
leaderboard rankings. They are included because they exercise the model's
actual agent and tool paths. For the source model's broader capability results,
see the
official Ornith model card.
The runtime expands the signed seven-bit values into signed eight-bit lanes
while reusing the same FP16 scales. The numerical value represented by every
stored weight is unchanged by that conversion.
This does not mean the quant is lossless relative to the original BF16
model. It means decode and prefill share one authoritative quantized target
instead of storing two independently rounded models.
Ornith is a vision-language model. This repository includes the matching
Ornith vision tower as:
vision/Ornith-1.0-35B-F32.mmproj
The .mmproj extension prevents the Hugging Face GGUF parser from mistaking
the projector for the 35B language model. It remains a GGUF-format projector
and is passed normally with --mmproj.
The F32 projector is an exact upcast of the source BF16 values. It avoids an
additional FP16 conversion in the quality-max release.
Use depth 6 for the tested approximately 1K-prompt class. Depth 7 is the
stronger tested continuation setting from 16K through 64K.
These are served, target-verified generation rates—not standalone
llama-bench TG:
Prompt + 256 output
Target-only PP
Target-only TG
Best MTP PP
Best MTP TG
TG gain
~1K, depth 6
1,112.85
46.71
964.85
84.40
+80.7%
16K, depth 7
1,036.55
44.08
856.14
78.86
+78.9%
32K, depth 7
867.80
41.36
739.37
73.70
+78.2%
64K, depth 7
652.01
37.05
563.32
57.82
+56.1%
The short-context depth-7 code workload reached 101.44 tok/s. At 64K,
depth 7 reached 76.46 tok/s on code and 39.18 tok/s on prose, showing
why acceptance and workload shape matter.
MTP is optional because it adds its own prompt-processing work. At ~1K + 256,
depth 6 reduced mean wall time from 6.426 s to 4.180 s. At 64K + 256, the
answer was too short to repay MTP prefill overhead, so target-only was faster
end to end. Use target-only for prompt-heavy short-answer traffic and MTP for
longer, high-acceptance continuations.
Build the required ROCmFPX runtime on Ubuntu 24.04
Install a current ROCm stack for the system using AMD's
official Linux instructions,
then verify that HIP sees the GPU.
The final command must list the intended ROCm GPU. The release was validated
on Linux ROCm with gfx1151; Windows/HIP remains an experimental port.
Memory and hardware
The current runtime eagerly materializes the INT8 prefill representation:
Measured path
Live GTT
Target-only DualView
68,202,450,944 B / 63.52 GiB
Integrated MTP at 64K
73,075,855,360 B / 68.06 GiB
The public GGUF is compact on disk, but the present implementation is not
compact in live memory. Allow additional room for the operating system,
projector, server, KV cache, and prompt state. A 128 GB Strix Halo system is
the recommended configuration.
The model and supplied profiles use its native 262,144-token context. The
published repeated performance curve currently extends through 64K; 256K is
enabled, not presented as a completed performance qualification.
The integrated GGUF contains the quality-max Ornith target plus the official
Qwen3.6 MTP layer. Running with --spec-type none uses the target-only path;
enabling MTP does not substitute a smaller target model.
Optional MTP layer: 20 appended tensors from the official Qwen3.6 donor.
FPX7 mechanism ablation: one pure-FPX7 Ornith artifact, identical bytes and
settings with the compute view disabled/enabled, three clean loads × three
repetitions.
Target-only speed: three independent loads × three repetitions, nine samples
per metric.
64K controls: identical prose/code prompts, 256 output tokens, F16 KV, flash
attention, batch/ubatch 2048/512, one server slot.
MTP curves: streamed one-slot server requests with target verification,
prompt processing and generation throughput recorded separately.
Quality runs: raw prompts, completions, reasoning traces, scoring outputs,
protocol locks, model SHA-256, and runtime commands retained in the CIRU
benchmark lab.
Published release revision:
b515125810cd233936e52620cd73055a12825e71.
Current limitations
Requires the matching ROCmFPX runtime; stock llama.cpp cannot load the new
target format correctly.
The eager prefill representation substantially increases live memory.
Performance validation is currently specific to Linux ROCm on Strix Halo.
The architecture-matched vision projector is included; the combined
DualView + vision + MTP path is still undergoing formal image-quality and
repeatability validation.
MTP speed depends on prompt shape, output length, and acceptance. It is an
optional generation accelerator, not a universal request-latency win.
CIRU:
DualView design, FPX7 format, ROCm integration, model recipe, gfx1151
optimization, packaging, and validation.
Component licenses and pinned source identities are recorded in
NOTICE.md. The Ornith target is MIT; the appended Qwen MTP
component is Apache-2.0; ROCmFPX and upstream llama.cpp are MIT.