Apodex-1.1-mini (STRIX_LEAN) — ROCmFP4 for AMD Strix Halo (gfx1151)

I built this STRIX_LEAN quantization of apodex/Apodex-1.1-mini — a Qwen3.5-derived hybrid MoE (40 layers of linear attention with full attention every fourth layer, 256 routed experts / 8 active, 262K context) — on my Strix Halo box for the ROCmFPX runtime. This is my lean 4-bit tier for it — the one people normally want.

The file

ftype 106Q4_0_ROCMFP4_STRIX_LEAN
size 18,744,343,808 bytes (17.46 GiB)
bpw 4.32
architecture qwen3_5_moe (hybrid linear-attention + full-attention MoE)
tensors 733
context 262,144
experts 256 routed, 8 active per token + shared expert
token embedding Q5_K (the LEAN part)
output.weight Q6_K (protected)
sha256 e515d8b9bf3acb0937547c6ff35de775cbf70b0fbe088c1ae9ae4d1d726b553d

Type histogram, read from the finished file:

Q4_0_ROCMFP4_FAST x380, F32 x301, Q4_0_ROCMFP4 x50, Q6_K x1, Q5_K x1

What STRIX_LEAN is — and what it protects

STRIX_LEAN is my lean 4-bit tier. The body is ROCmFP4 with the Strix Halo attention K/V quality recipe (that is what the STRIX part buys you), and the token embedding table is trimmed to Q5_K — that is the LEAN part, the size saving versus my COHERENT tier, which keeps the embeddings at Q6_K.

What never gets trimmed is the head. Every STRIX_LEAN I publish carries the protected Q6_K LM head. This model has tie_word_embeddings: false, so output.weight is a real standalone tensor, and a 4-bit head would degrade the logits of every single token. I quantized with --output-tensor-type q6_K and confirmed the head landed at Q6_K by exact-name read-back on the finished file (output.weight — exact match, not substring).

Text-only, trunk-only — stated up front

  • No vision tower. The upstream repo is multimodal; this GGUF carries the language model only. No mmproj is included.
  • No MTP head. My converter's MTP merge path dies on this checkpoint's de-fused mtp.layers.0.mlp.experts.* tensors (KeyError: 'model.layers.0.mlp.experts.0.down_proj.weight' in the Qwen2Moe merge loop), so I converted with --no-mtp, exactly as with my COHERENT build. The 40-layer trunk is complete (733 tensors); speculative MTP drafting is not available from this file. I do not publish what I have not verified.

How I built it

  1. Manifest gate: pulled apodex/Apodex-1.1-mini file list from the HF API with ?blobs=true and recorded the real shard bytes (15 safetensors shards, 71,903,869,048 bytes total — never the index total_size).
  2. Downloaded and byte-verified all 28 files against that manifest (sizes + LFS sha256).
  3. Converted with convert_hf_to_gguf.py from my rocmfpx-dspark-halo tree (4eca07e), --outtype bf16 --no-mtp → 733 tensors, 69,376,638,528 bytes.
  4. Quantized with the same tree's llama-quantize at 16 threads with --output-tensor-type q6_K. Dry-run estimate 17,865.52 MiB (4.32 bpw); the real file landed within ~12 MiB of it.

Speed — full offload

generation (server-reported)

Full-offload speed being measured on an idle box, card will be updated.

My build box currently serves 8 live llama-server seats that hold the unified memory a full -ngl 999 --no-mmap load of a 17.5 GiB file would need, and I do not publish partial-offload numbers — a partial-offload t/s measures CPU weight streaming, not the ROCm path, and publishing one would misrepresent this build. So: no number yet, and no made-up number either.

⚠️ Stock llama.cpp will not load this file

Q4_0_ROCMFP4_STRIX_LEAN is a custom tensor format that exists only in the ROCmFPX fork of llama.cpp.

llama-server -m apodex-1.1-mini-Q4_0_ROCMFP4_STRIX_LEAN.gguf -dev ROCm0 -fa on -ngl 999 -c 8192   # on a box with the memory for it

Not measured

No benchmark sweeps, no context sweeps, no perplexity, and no partial-offload numbers, per my build discipline.

Provenance & license

Converted and quantized from apodex/Apodex-1.1-mini (Apache 2.0). This quantized build is released under the same Apache 2.0 license. The ROCmFPX runtime is a third-party fork; its own terms apply to the runtime, not to these weights.

All my quants of Apodex-1.1-mini

build what it is size tok/s (full GPU offload)
STRIX_LEAN my leaner 4-bit tier, Q6_K head — smallest of my 4-bit builds, the one most people want 17.46 GiB 64.87
COHERENT my 4-bit ROCmFP4 tier with the Q6_K-protected head — the balance I run day to day 18.48 GiB 63.30
Q8_0 straight 8-bit ROCmFPX — highest fidelity I publish 33.36 GiB 45.05
Q8_0-AGENT 8-bit ROCmFPX with the agent-tuned tensor set — for tool-calling work where precision matters 33.90 GiB 32.54

All measured by me on a Ryzen AI MAX+ 395 (Strix Halo, gfx1151, ROCm 7.2.4) with the whole model on GPU (-ngl 999), 128-token greedy generation. A dash means I haven't measured that one yet — I won't put a number in a card I didn't measure.

Base model: Apodex/Apodex-1.1-mini

Downloads last month
73
GGUF
Model size
35B params
Architecture
qwen35moe
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for kingjones777/Apodex-1.1-mini-ROCmFP4-STRIX_LEAN-GGUF

Quantized
(17)
this model