utautako/Ornith-1.0-35B-NVFP4-noMTP-BF16-GGUF
Ornith-1.0-35B-NVFP4-noMTP-BF16-GGUF
GGUF conversion of `sakamakismile/Ornith-1.0-35B-NVFP4`, preserving the compressed-tensors NVFP4 weights, with a BF16 vision projector (mmproj) and BF16 (lossless) embedding & output layers. Text-only checkpoint (no MTP head). Benchmarked on an RTX 5090 (Blackwell) with llama-benchy.
Highlights
- NVFP4 preserved — 430 NVFP4 tensors (MoE experts, attention, linear-attention/SSM) kept in their native 4-bit format, not re-quantized.
- Lossless embeddings & output —
token_embdandlm_headare kept at BF16 (no Q4K/Q6K), so vocabulary and output-projection precision is unchanged from the source. - Vision / mmproj — a separate BF16 vision projector enables image-text-to-text.
- No MTP — the source checkpoint ships no multi-token-prediction head, so this is a clean autoregressive (AR) model (
block_count = 40). - Blackwell native FP4 — prefill/decoding use native FP4 tensor-core kernels on RTX 50-series (
sm_120).
Files
Usage (llama.cpp)
# Text-only
llama-server -m Ornith-1.0-35B-NVFP4-noMTP-BF16.gguf --host 0.0.0.0 --port 8080 --jinja
# With vision (image-text-to-text)
llama-server -m Ornith-1.0-35B-NVFP4-noMTP-BF16.gguf \
--mmproj mmproj-Ornith-1.0-35B-BF16.gguf \
--host 0.0.0.0 --port 8080 --jinjaFor a Blackwell (RTX 50xx) build with native FP4 acceleration, compile llama.cpp with CUDA 12.8+ and -DCMAKE_CUDA_ARCHITECTURES=120. -ngl 999 offloads all layers; -c 262144 uses the full context.
This is a thinking model. Reasoning is emitted inside <think>…</think>. To disable thinking for a turn, pass "chat_template_kwargs": {"enable_thinking": false} in the request body.
Vision
The model is multimodal (image-text-to-text). Image input requires the separate mmproj file via --mmproj. Verified on llama.cpp with a synthetic image (the model correctly described the shape and color). Loading the mmproj has negligible impact on text-generation throughput (see benchmarks).
Benchmarks
RTX 5090 (32 GB), llama.cpp b9812 (0e53b82a9, MSVC 19.50, sm_120a, BLACKWELL_NATIVE_FP4=1), llama-benchy (pp = 512/4096, tg = 512, runs = 3, --latency-mode generation), tokenizer deepreinforce-ai/Ornith-1.0-35B, ctx = 262144, KV cache q8_0. Autoregressive (no spec decoding).
Coherence test PASSED in all runs; generation latency ≈ 112–125 ms.
Runtime configuration
Currently loaded with llama-server on RTX 5090:
Quantization / conversion notes
Converted with llama.cpp's convert_hf_to_gguf.py directly from the sakamakismile NVFP4 checkpoint (compressed-tensors, format: nvfp4-pack-quantized), which is auto-detected and re-packed into GGML_TYPE_NVFP4 — no de-quantization to full precision.
- `--outtype bf16` (not Q4_K). With
bf16, the NVFP4 body is preserved and the large 2-D weights (token_embd,lm_head) stay at BF16; only small 1-D tensors (norms, biases, router gate, scales) are F32. There is no wasteful F32 blow-up of the big weights, so a follow-upllama-quantizepass is not required to reach a reasonable size (19.60 GiB). - `--no-mtp`. The checkpoint's
config.jsondeclaresmtp_num_hidden_layers: 1but ships no MTP tensors;--no-mtpkeepsblock_count = 40and avoids requesting an absent MTP head. - Tensor make-up: NVFP4 × 430, F32 × 1161 (scales / norms / router gate), BF16 × 2 (
token_embd,lm_head).
Speed/quality trade-off of BF16 output: keeping lm_head at BF16 (~1.0 GiB) costs roughly 14 % of generation throughput versus a fully quantized build (this model ≈ 193 tok/s vs Q4KM ≈ 223 tok/s on the same hardware), because the output projection over the ~248k-token vocabulary is read every decoding step. This build prioritizes lossless embeddings/output; for speed, Q6_K quantization of the output layer via llama-quantize is required.
Model details
- Original (quantized) model: `sakamakismile/Ornith-1.0-35B-NVFP4`
- Base model: `deepreinforce-ai/Ornith-1.0-35B`
- Architecture:
qwen35moe(Qwen3.5-MoE family; hybrid full + gated-linear attention),block_count = 40, no MTP - MoE: 256 experts, 8 active; embedding dim 2048; context length 262144
- Quantization: NVFP4 (430 tensors) preserved;
token_embd/lm_headBF16; scales/norms F32 - Conversion:
llama.cppconvert_hf_to_gguf.py --outtype bf16 --no-mtp(main) and--mmproj --outtype bf16(vision) - File sizes: main 19.60 GiB, mmproj 861 MiB
License and attribution
Released under the MIT license, following the upstream models. This is an unofficial GGUF conversion of sakamakismile/Ornith-1.0-35B-NVFP4 (base model deepreinforce-ai/Ornith-1.0-35B; NVFP4 quantization by sakamakismile). It is not affiliated with or endorsed by the original authors. Please consult the original model cards for intended use and limitations.
