SAVRN
Search Contact SAVRN

Open-weight model · Text generation

Qwen3.8-27B-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF

by Edward Paolo Guevarra PaoAI/Qwen3.8-27B-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF

The balanced Qwen3.8-27B quant for AMD Strix Halo (Ryzen AI Max+ 395 / gfx1151). Measured, not marketed: one 15 GB file that serves 128K of context on the iGPU — full attention, no offload flags, speculative decoding built in.

Parameters
Context
Weights15.0 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads277

Model Card

By Edward Paolo Guevarra, published under apache-2.0, revision fb6985b98df3.

The balanced Qwen3.8-27B quant for AMD Strix Halo (Ryzen AI Max+ 395 / gfx1151). Measured, not marketed: one 15 GB file that serves 128K of context on the iGPU — full attention, no offload flags, speculative decoding built in. Brand: PaoAI · community quant, not affiliated with Alibaba or the Qwen team. Qwen3.8-27B is a hybrid: 48 cheap linear-attention layers and only 16 full-attention layers that actually re-read your context. We compressed it organ by organ — precision where it matters (attention K/V, the MTP draft head, every norm), 4-bit FP4 where it doesn't. One 15 GB file, no offload flags, speculative decoding built in, intact from 8K to 128K of filled context. Measured tensor…

Read Edward Paolo Guevarra's full model card

The balanced Qwen3.8-27B quant for AMD Strix Halo (Ryzen AI Max+ 395 / gfx1151). Measured, not marketed: one 15 GB file that serves 128K of context on the iGPU — full attention, no offload flags, speculative decoding built in.

Brand: PaoAI · community quant, not affiliated with Alibaba or the Qwen team.

Updated 2026-09-17 — engine update, weights unchanged. Re-measured on the Strix-Halo-tuned Vulkan fork (LaurentZuijdwijk/llama.cpp, commit 11bfe8a): prefill is +11 % to +33 % across 8K→128K at matching filled context, chain quality is unchanged (three runs, 100/100/100 · task 100), and the 128K window holds with integrity at every point. The model file itself did not change — same sha256, same 15.01 GB. See Update log. Prefill is ahead at every depth — that is the solid result of this update.


What is this? (30 seconds)

Qwen3.8-27B is a hybrid: 48 cheap linear-attention layers and only 16 full-attention layers that actually re-read your context. We compressed it organ by organ — precision where it matters (attention K/V, the MTP draft head, every norm), 4-bit FP4 where it doesn't. One 15 GB file, no offload flags, speculative decoding built in, intact from 8K to 128K of filled context.

The recipe (what's inside)

Model part What it does Format
Full attention Q/K/V/O (16 layers) reads your prompt, tracks context Q4_0_ROCMFP4_STRIX (~4.5 bpw)
Linear attention (48 gated-delta layers) the fast path — constant-time state ROCmFP4 (qkv, type 100)
FFN gate/up + down (dense) the knowledge (biggest block: 9.2 GB) ROCmFP4 (~4.5 bpw, imatrix)
Draft head (blk.64) MTP speculative guessing Q8_0 + FP32 (kept sharp)
Token embeddings vocab lookup Q6_K (~6.6 bpw)
Norms, gates, glue keep signals correct FP32 (never touched)

Measured tensor sizes: FFN gate/up 6.16 GB · FFN down 3.08 GB · linear-attn qkv 1.42 GB · GDN state ops 0.81 GB · token embeddings 1.04 GB · output 0.68 GB · full-attn 0.62 GB · draft head 0.10 GB · norms <0.01 GB → 15.01 GB total.

Chain-test results (N=3, graded by execution)

We run a fixed coding exam where tasks are graded by execution, not opinion. Three identical runs per engine; we report medians.

Task (what it measures) Published engine Vulkan fork
Hunt — read lying code: trace it + find the planted bug 100 · 100 · 100 100 · 100 · 100
Automaton — implement novel rules + exact state trace 100 · 100 · 100 100 · 100 · 100
Ring buffer — multi-threaded code under stress 100 · 100 · 100 100 · 100 · 100
Task median 100 100

A same-session reference run of the published engine also scored 100/100/100 · task 100. Zero protocol events on either engine — quality is a straight tie.

Speed (decode, tokens/second, per phase)

Phase Published Fork Ours, same session Fork vs ours
Spec (planning) 19.2 20.4 19.3 +6 %
Hunt (analysis) 21.6 26.3 24.7 +6 %
Automaton (code writing) 23.2 29.8 26.1 +14 %
Ring buffer (code writing) 20.7 22.9 19.8 +16 %
Publish (long output) 23.2 27.5 25.2 +9 %

The published column is from September. The defensible comparison is the last column — same session, same flags, engine the only variable: +6 % to +16 %.

Does quantization hurt? (perplexity + KL test — measured 2026-09-17, published 2026-09-18)

Plain words: the chain test above can only tell you if the model still passes. This test asks a different question: did compressing the weights change what the model actually predicts? We ran the industry-standard check — llama.cpp's own llama-perplexity tool — comparing this 15 GB FP4 file against a full-precision F16 copy of the same model (built by us from Qwen's official BF16 release, sha-verified shards), reading the same ~295,000 tokens of standard Wikipedia text through both at 8K windows.

Metric What it means Result
Perplexity delta how much worse the quant predicts text vs its own F16 parent (lower = better) −1.0 % (6.587 vs 6.654 — statistically identical)
Mean KL divergence average "extra surprise" per token vs the parent — 0 = identical 0.086 (median 0.029)
Same top token how often both models pick the exact same next word 88.8 % of positions

Plain read: on standard text, the FP4 cut is statistically indistinguishable from the full-precision model — no measurable quality loss. The small difference that exists is concentrated in a tail of rare positions (~1 % of tokens shift noticeably), and the chain test above shows those shifts didn't cost task success. Not lossless in the mathematical sense — lossy in a way we cannot measure on standard text.

Reproducible: llama.cpp llama-perplexity, engine commit 11bfe8a, wikitext-2-raw, -c 8192, 36 chunks (~295K tokens). Reference F16 converted by us from Qwen's official BF16 release (sha-verified shards). Full data in our results file.

Context decay — what happens when the window fills (8K → 128K)

Depth Verified fill Fork prefill Fork decode MTP acc Prev prefill Prev decode Prefill Δ 391
8K 8,172 306.0 31.1 0.70 229.9 21.9 +33 % Yes
16K 16,365 281.4 28.5 0.75 211.7 22.4 +33 % Yes
32K 32,784 243.7 28.6 0.83 186.9 20.5 +30 % Yes
64K 65,505 173.1 21.6 0.77 150.1 17.5 +15 % Yes
96K 98,304 138.5 14.0 0.58 125.0 16.5 +11 % Yes
128K 131,067 113.8 14.0 0.66 102.9 10.6 +11 % Yes
192K 196,587 84.0 10.7 0.70 beyond card

Every fill is the number the engine itself reported (prompt eval time = … / N tokens), not a target. Flags identical on both engines, a fresh prompt at every point. 192K is a bonus row (single run, integrity ); no claim is made beyond 192K.**

Plain read: prefill is ahead at every depth (+11 % to +33 %), and nothing breaks at depth — every point answered the integrity question correctly. Decode is not a clean win: better from 8K–64K, worse at 96K (14.0 vs 16.5 — reproduced on a repeat run), level at 128K.

Facts

Metric Result
File size 15.01 GB (13.98 GiB), single file
sha256 3727594804afef8140165e36c0919c70a98b43751a3153d43dd10385c1f100fd
Load full GPU (GTT ≈ 51.6 GB at 64K ctx), no special flags needed
Context standard serve -c 65536; measured 8K→128K; 192K reached (integrity )
Served with MTP speculative decoding (n-max 4), flash attention, KV q8_0
State of the art here 100/100/100/100 chain median (3 runs, both engines) · 6/6 depth points integrity-pass (8K–128K) · 192K bonus pass
Weights unchanged by this update — same sha256 as the original publish

Requirements — which llama.cpp build

This model uses two things stock llama.cpp doesn't have: the qwen3_5 architecture (hybrid linear + full attention + MTP) and the Q4_0_ROCMFP4_STRIX quant type (type 105, gfx1151-native).

Build Error you'll see
stock llama.cpp unknown model architecture: 'qwen3_5'
llama.cpp without the ROCmFP4 types invalid ggml type 105. should be in [0, 43)

How to run (measured, locked)

llama-server -m Qwen3.8-27B-PaoAI-ROCmFP4-STRIX-BALANCED.gguf \
  --host 0.0.0.0 --port 8091 -ngl 99 -c 65536 \
  --spec-type draft-mtp --spec-draft-n-max 4 \
  -fa on --cache-type-k q8_0 --cache-type-v q8_0 --reasoning-budget 1500

Same flags for both engines. Raise -c for long context (up to 262144). Do not add -b/-ub 2048, and do not enable adaptive drafting — both were measured and rejected (see Known limits).

Thinking budget--reasoning-budget caps how long the model thinks before answering:

Value Behaviour
-1 (or omit) unrestricted thinking, best quality, slowest
1500 what every number on this card was measured with
4000 noticeably deeper reasoning on hard tasks
12000 deep work — long waits before the answer starts

Known limits (honest)

  • Depth costs speed: prefill 306 → 114 t/s and decode 31 → 14 t/s from 8K → 128K of filled context. The 16 full-attention layers re-read history for every token; the 48 linear layers stay cheap. Linear, no cliff — but plan for it at 100K+.
  • Decode is not a clean win on the new engine: better at 8K–64K, worse at 96K (14.0 vs 16.5), level at 128K.
  • Caveat on the comparison: the "prev" numbers were measured under an unrecorded power state; the fork's are at the AC performance profile — so the deltas blend engine + profile. The clean single-variable figure is +18–27 % prefill (4-arm test, identical fills, same-session reference).
  • Not adopted, and why: adaptive drafting (1 formatting failure in 3 chain runs) · wide batch -b 2048 -ub 2048 (no gain, and it lost the GPU device at depth).
  • Vulkan only: every number here is from the gfx1151 Vulkan backend on a Strix Halo iGPU. CPU builds and other GPUs are not comparable.
  • Long thinking: a bigger --reasoning-budget means noticeably longer waits before the answer starts.
  • Don't crank context blindly: a single 15 GB file, but GTT grows with context (≈51.6 GB at 64K). Raise -c in steps on a 128 GB box; don't merge shards.

Serving features explained (plain words)

Flag What it does Cost
--spec-type draft-mtp --spec-draft-n-max 4 the model's own draft head guesses 4 tokens ahead, the model verifies them in one pass — roughly 2× decode needs the Q8_0 draft head we kept
-fa on flash attention — faster prefill and decode none
--cache-type-k/v q8_0 half the context memory negligible
--reasoning-budget 1500 caps thinking so answers always arrive complex tasks may need more
prompt caching (default) follow-up turns prefill in milliseconds none

Draft acceptance on the depth-sweep probes measured 0.58–0.83 on the fork — lower than the 0.86–0.90 on the original card. The sweep prompts are repetitive filler, which a draft head predicts poorly, so acceptance there is not comparable across tests. On the chain (real work) the fork decoded faster than the previous engine.

Update log

Date What changed
2026-09-18 Added quant-loss measurement (perplexity + KL vs own F16 parent): no measurable loss. Card text only — weights untouched.
2026-09-17 Numbers re-measured on the STRIX Vulkan fork (11bfe8a). Prefill +11–33 % at matching fills; quality unchanged (3 runs 100/100/100); 128K holds with integrity; 192K bonus row. Weights untouched — same sha256, same 15.01 GB.
2026-09-16 Model published: 15.01 GB single file, MTP draft head, sweep measured on the ROCmFPX engine.

Earlier engine numbers are not repeated here — they were measured on a different build; the tables above are the current measurement. If you reproduce a number, quote the engine commit with it.

Fleet recipes

Serving configs and our benchmark battery: paoai-strix-recipes (GitHub).

Credits & license

  • Qwen team (Alibaba) — Qwen3.8-27B base model (Apache-2.0)
  • ggml-org / llama.cpp contributors — the engine, the quant formats, the Vulkan backend
  • LaurentZuijdwijk — the Strix-Halo-tuned Vulkan fork measured on this card
  • nathanw1014 — ROCmFP4 types, qwen3.5/MTP work, Strix Halo gfx1151 performance
  • kingjones30 / charlie12345 — ROCmFPX format & recipes
  • vcruz305 — converter branch work (qwen3_5 support path)
  • unsloth — imatrix methodology reference
  • deepu105 — same-box Strix Halo proof and serving-config intel
  • antirez — GGUF layout reference
  • PaoAI — the STRIX recipe (per-tensor cut/keep table), imatrix-guided builds, sweep benchmarking, chain test

Apache-2.0, same as the base model. Not affiliated with Alibaba or the Qwen team.

Identity and Version

Repository
PaoAI/Qwen3.8-27B-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF
Publisher
Edward Paolo Guevarra
Task
Text generation
Modality
Text
Library
llama.cpp
Parameters
Not stated by the source
Languages
en
Revision
fb6985b98df34a96d73007ab638878e2f7e46344
First published
2026-09-15
Last updated
2026-09-18

Files and Weights

5 files, 15.0 GB in total. The weights are 1 file totalling 15.0 GB in gguf.

Weights1 file · 15.0 GB
Documentation2 files · 24.8 KB
Other1 file · 27.4 KB
Repository1 file · 84 B
Every file
FileTypeSizeSHA-256
Qwen3.8-27B-PaoAI-ROCmFP4-STRIX-BALANCED.ggufWeights15.0 GB 3727594804af
LICENSEDocumentation11.5 KB
README.mdDocumentation13.3 KB
context-sweep.pngOther27.4 KB ac14db54e259
.gitattributesRepository84 B

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
15.0 GB
Download from Edward Paolo Guevarra

Released by Edward Paolo Guevarra through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published15.0 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About Qwen3.8-27B-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF

Can I use Qwen3.8-27B-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF commercially?

Yes. Qwen3.8-27B-PaoAI-ROCmFP4-STRIX-BALANCED-GGUF is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Fine-tune Qwen3 (14B) for free using our Google Colab notebook! - Read our Blog about Qwen3 support: unsloth.ai/blog/qwen3 - View the rest of our notebooks in our docs here. Qwen3-Coder is available in multiple sizes. Today, we're excited to introduce Qwen3-Coder-30B-A3B-Instruct. This streamlined model maintains impressive performance and efficiency, featuring the following key enhancements: - Significant Performance among open models on Agentic Coding, Agentic Browser-Use, and other foundational coding tasks. - Long-context Capabilities with native support for 256K tokens, extendable up to 1M tokens using Yarn, optimized for repository-scale understanding. - Agentic Coding supporting for…

Open weights apache-2.0 transformers

Model · Text generation

opt-125m

AI at Meta

OPT was first introduced in Open Pre-trained Transformer Language Models and first released in metaseq's repository on May 3rd 2022 by Meta AI. Disclaimer: The team releasing OPT wrote an official model card, which is available in Appendix D of the paper. Content from this model card has been written by the Hugging Face team. To quote the first two paragraphs of the official paper OPT was predominantly pretrained with English text, but a small amount of non-English data is still present within the training corpus via CommonCrawl. The model was pretrained using a causal language modeling (CLM) objective. OPT belongs to the same family of decoder-only models like GPT-3. As such, it was…

Open weights other 2,048 tokens transformers

Model · Text generation

Ornith-1.5-9B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.5-35B-A3B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.0-9B-GGUF

Ornith

Aloha! Today, we are releasing Ornith-1.0, a self-improving family of open-source models for agentic coding. This model card documents Ornith-1.0-9B, the most lightweight member of the Ornith family, designed for efficient single-GPU deployment. Ornith-1.0-9B is a dense ~9B model (≈19 GB in bf16), so it serves comfortably on a single 80GB GPU. The recipes below stand up an OpenAI-compatible server; add --tensor-parallel-size / --tp if you want to shard across more GPUs. For a quick local test (or to script offline generation), load the model directly with Transformers. Make sure you have a recent release installed — see the Transformers installation guide; Ornith-1.0-9B requires…

Open weights mit transformers

Uncensored Qwen3.8-27B, published as GGUF quantizations with the multi token prediction (MTP) head retained and verified. Refusal behaviour has been substantially reduced, not eliminated. See Measured behaviour for the numbers. Capabilities, training data, and architecture are otherwise unchanged. - Refusal directions removed with Heretic, which co minimizes refusal count against KL divergence from the base model. No handwritten refusal removal code, no finetuning, no additional training data. - Abliteration runs at bf16 (no 4 bit quantization). the resulting LoRA is merged into the bf16 base, so the published weights are not a quantized round trip. - mtp. tensors are copied verbatim from…

Open weights apache-2.0 llama.cpp