kingjones777/Instella-MoE-16B-A3B-Think-Q4_0_ROCMFP4_STRIX-GGUF overview
Instella MoE 16B A3B Think — Q4 0 ROCMFP4 STRIX GGUF The first ROCmFP4 build of amd/Instella MoE 16B A3B Think https://huggingface.co/amd/Instella MoE 16B A3B …
Runs locally from ~7.94 GB disk (8 GB VRAM class GPUs with llama.cpp / guIDE).
Repository Files & Downloads
| File | Type | Quantization | Size | Link |
|---|---|---|---|---|
| Instella-MoE-16B-A3B-Think-Q4_0_ROCMFP4_STRIX.gguf | GGUF | Q4_0_ROCMFP4_STRIX | 7.94 GB | Download |
Model Details
| Model ID | kingjones777/Instella-MoE-16B-A3B-Think-Q4_0_ROCMFP4_STRIX-GGUF |
|---|---|
| Author | kingjones777 |
| Pipeline | text-generation |
| License | — |
| Base model | amd/Instella-MoE-16B-A3B-Think |
| Last modified | 2026-08-10T00:30:00.000Z |
Model README
---
base_model: amd/Instella-MoE-16B-A3B-Think
tags: [gguf, rocmfp4, llama.cpp, moe, reasoning, instella, amd, rocm, strix-halo, gfx1151]
pipeline_tag: text-generation
---
Instella-MoE-16B-A3B-Think — Q4_0_ROCMFP4_STRIX GGUF
The first ROCmFP4 build of amd/Instella-MoE-16B-A3B-Think,
AMD's fully-open Mixture-of-Experts reasoning model (16B total / ~2.8B active), tuned for
AMD Strix Halo (gfx1151).
Produced end to end from AMD's original bf16 safetensors: an independent LLM_ARCH_INSTELLA
implementation written against llama.cpp upstream master 74ce157, our own GGUF conversion, and
ROCmFP4 quantization via ROCmFPX.
| | value |
|---|---|
| file | Instella-MoE-16B-A3B-Think-Q4_0_ROCMFP4_STRIX.gguf |
| size | 8,520,936,448 bytes (7.94 GiB) |
| sha256 | c37aaf551628a96438a455f65d2d24652779fd3249e5d4e80d45e92bb8c4e6b2 |
| real BPW | 4.29 (advertised ~4.49 — measured, not assumed) |
| quant type | 105 Q4_0_ROCMFP4_STRIX — Strix Halo attn-K/V quality recipe |
Why ROCmFP4 here — smaller and faster, same answers
Measured on a Ryzen AI MAX+ 395 (Strix Halo, gfx1151, 125 GiB unified), ROCm/HIP,
-ngl 999 -dio --no-warmup, 3-run medians, nonce-prefixed prompts:
| | Q4_K_M | ROCmFP4 STRIX |
|---|---:|---:|
| size | 9.75 GiB | 7.94 GiB — 19% smaller |
| decode | ~69 tok/s | 80.5 tok/s — 16.7% faster |
Correctness spot-check (greedy, 5/5): 17×23 → 391 · bat-and-ball → 0.05 ·
9.11 vs 9.9 → 9.9 · capital of Japan → Tokyo · Hamlet → William Shakespeare.
The two trap questions matter: both are classic failure cases where quantization damage or a
mis-implemented architecture shows up first. This build gets both right.
⛔ Requirements — read before downloading
1. You need a ROCmFPX runtime. ROCmFP4 uses ggml tensor types 100–106. Stock llama.cpp does not
implement them and will refuse the file at load:
gguf_init_from_reader: tensor 'output.weight' has invalid ggml type 101. should be in [0, 43)
Build ROCmFPX — both llama-quantize and
llama-server.
2. You need the instella architecture. It is not in llama.cpp mainline (as of master
74ce157). Instella-MoE declares model_type: deepseek_v3 and reuses DeepSeek MLA shapes, but it is
not a drop-in DeepSeek-V3:
- FarSkip-Collective alters inference math — it requires dual residual streams. A naive
"DeepSeek-V3 + a gate" implementation loads without error and emits fluent-but-wrong text.
- Gated MLA applies an input-conditioned gate before the output projection.
- Plus
rope_interleaveandqk_layernorm.
3. For clean reasoning output, apply llamacpp-instella-thinkfix.patch (included).
Instella's chat template contains no <think> marker and no enable_thinking switch, so llama.cpp's
differential tag-detection finds nothing and the raw <think> block leaks into message.content.
The patch extends the legacy-DeepSeek workaround in common/chat-diff-analyzer.cpp to force a
complete <think>/</think> pair — it also fixes DeepSeek-R1, R1-Distill, and pre-DSML V3.
Then serve with --reasoning-format deepseek to get reasoning_content populated.
Usage
llama-server -m Instella-MoE-16B-A3B-Think-Q4_0_ROCMFP4_STRIX.gguf \
-ngl 999 -dio --no-warmup --jinja \
--reasoning-format deepseek \
-c 32768 --parallel 1
Environment: HSA_OVERRIDE_GFX_VERSION=11.5.1, GGML_HIP_ENABLE_UNIFIED_MEMORY=1.
Use the model's native chat template.
⚠️ Limitations (measured, not guessed)
This is a heavy reasoner — give it a large max_tokens.
It spent ~3,400 reasoning tokens on "17 × 23" and 4,615 on a two-step time question. With a
small budget you get empty content, because thinking consumes the entire allowance.
Use max_tokens ≥ 2500; prefer 4000+.
Some open-ended puzzles do not converge. A classic rope-burning puzzle consumed 6,000 tokens with
finish_reason: length and never produced an answer. Not a crash and not a wrong answer — it simply
does not terminate on certain problems.
No tool calling. The tokenizer contains no tool tokens and the chat template has no block that
injects tool definitions. Even with definitions forced into the prompt (verified at
prompt_tokens=144) the model answers in prose and never emits a tool call. Do not substitute a
DeepSeek-R1 template to try to enable it — that changes the prompt format the model was trained on
and still produces no tool calls.
Included
Instella-MoE-16B-A3B-Think-Q4_0_ROCMFP4_STRIX.gguf— the modelimatrix.dat— importance matrix (37.8 MB), 98.44% expert-tensor coveragellamacpp-instella-thinkfix.patch— the reasoning-extraction fix described above
License
Inherits the license of the base model, amd/Instella-MoE-16B-A3B-Think.
Run kingjones777/Instella-MoE-16B-A3B-Think-Q4_0_ROCMFP4_STRIX-GGUF with guIDE
Download guIDE — the AI-native code editor with local LLM inference and 69 built-in tools.
Source: Hugging Face · Compare models