PatrickScully commited on
Commit
8fc712d
·
verified ·
1 Parent(s): 8043302

Add ROCmFP4 STRIX quant + model card

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ Qwen3.6-27B-MTP-pi-reasoning-ROCmFP4-STRIX.gguf filter=lfs diff=lfs merge=lfs -text
Qwen3.6-27B-MTP-pi-reasoning-ROCmFP4-STRIX.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c4ebb0989fa672c33fc79ce4d5d90e1de6cf265535d5fcf83a5cd2252037b239
3
+ size 14986109152
README.md ADDED
@@ -0,0 +1,133 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ base_model: bytkim/Qwen3.6-27B-MTP-pi-reasoning-GGUF
4
+ base_model_relation: quantized
5
+ pipeline_tag: text-generation
6
+ library_name: gguf
7
+ tags:
8
+ - gguf
9
+ - rocmfp4
10
+ - qwen3.6
11
+ - mtp
12
+ - speculative-decoding
13
+ - strix-halo
14
+ - amd
15
+ - rocm
16
+ - quantized
17
+ ---
18
+
19
+ # Qwen3.6-27B-MTP-pi-reasoning · ROCmFP4 (STRIX)
20
+
21
+ A **ROCmFP4** 4-bit quant of [`bytkim/Qwen3.6-27B-MTP-pi-reasoning-GGUF`](https://huggingface.co/bytkim/Qwen3.6-27B-MTP-pi-reasoning-GGUF),
22
+ built for AMD **Strix Halo** (Ryzen AI MAX+, `gfx1151`) with multi-token-prediction (MTP) self-speculative decoding.
23
+ Quantized from the BF16 source with the `Q4_0_ROCMFP4_STRIX` quality preset.
24
+
25
+ > ⚠️ **This is not a stock GGUF.** The `q4_0_rocmfp4` / `q4_0_rocmfp4_fast` tensor types only load in the
26
+ > [charlie12345/rocmfp4-llama](https://github.com/charlie12345/rocmfp4-llama) fork of llama.cpp (branch `mtp-rocmfp4-strix`).
27
+ > It will **not** load in upstream llama.cpp, LM Studio, Ollama, Jan, or koboldcpp.
28
+ > Hugging Face's auto-parser may mislabel the file as "F16"; it is really a ~4.4 bpw 4-bit model.
29
+
30
+ ## What is ROCmFP4?
31
+
32
+ ROCmFP4 is an AMD-focused 4-bit GGUF weight format from the fork above. It pairs a Codebook10 4-bit value table
33
+ with finite unsigned E4M3 half-scales, in two layouts:
34
+
35
+ - **`q4_0_rocmfp4`**: dual-scale (~4.5 bpw), used on precision-sensitive tensors (attention projections here).
36
+ - **`q4_0_rocmfp4_fast`**: single-scale (~4.25 bpw), used on the bulk of the network for speed.
37
+
38
+ The `_STRIX` preset is a tensor-aware mix. It protects what matters for coherence while keeping the body small and fast
39
+ on the AMD ROCm/HIP and Vulkan paths.
40
+
41
+ ## This build
42
+
43
+ | | |
44
+ |---|---|
45
+ | Format | ROCmFP4 4-bit (`Q4_0_ROCMFP4_STRIX`) |
46
+ | Effective precision | **4.38 bpw** |
47
+ | File size | ~14.0 GiB (14,986,109,152 bytes) |
48
+ | Architecture | `qwen35` hybrid attention + SSM, 65 blocks (64 plus 1 MTP) |
49
+ | Context | up to 262,144 tokens |
50
+ | MTP | `nextn` draft head carried through (self-speculative) |
51
+ | imatrix | none (plain preset quant) |
52
+ | Vision | not included, language weights only (see note below) |
53
+
54
+ **Tensor recipe (as quantized):**
55
+
56
+ | Tensor group | Type |
57
+ |---|---|
58
+ | `token_embd` | `q6_K` |
59
+ | attention K/V projections | `q4_0_rocmfp4` (dual-scale) |
60
+ | FFN, `output` (lm-head), MTP `eh_proj`, rest | `q4_0_rocmfp4_fast` (single-scale) |
61
+ | norms, SSM params (`ssm_*`), MTP norms | `f32` |
62
+
63
+ ## Quick start (llama.cpp fork)
64
+
65
+ Build the fork first (see its README; Strix uses `scripts/build-strix-rocmfp4-mtp.sh`), then:
66
+
67
+ ```bash
68
+ HSA_OVERRIDE_GFX_VERSION=11.5.1 \
69
+ GGML_HIP_ENABLE_UNIFIED_MEMORY=1 \
70
+ ./build-strix-rocmfp4/bin/llama-server \
71
+ -m Qwen3.6-27B-MTP-pi-reasoning-ROCmFP4-STRIX.gguf \
72
+ -dev ROCm0 -ngl 999 \
73
+ -c 262144 -b 512 -ub 512 -fa on \
74
+ -ctk q4_0 -ctv q4_0 \
75
+ --spec-type draft-mtp \
76
+ --spec-draft-type-k q4_0 --spec-draft-type-v q4_0 \
77
+ --spec-draft-n-max 4 --spec-draft-n-min 0 \
78
+ --spec-draft-p-min 0.0 --spec-draft-p-split 0.10 \
79
+ --reasoning on --jinja
80
+ ```
81
+
82
+ Drop the `--spec-*` flags to run without MTP, or the `--reasoning`/`--jinja` flags for plain completion.
83
+
84
+ ## Local performance
85
+
86
+ Measured on a Framework Desktop / Ryzen AI MAX+ 395, Radeon 8060S (`gfx1151`), 128 GB unified memory, ROCm backend,
87
+ fork build `4795079b0`. Numbers are local and depend on driver, context, and prompt.
88
+
89
+ Raw throughput, `llama-bench` (`-ngl 999 -fa 1 -r 3`), no speculative decoding:
90
+
91
+ | test | t/s |
92
+ |---|---|
93
+ | prefill (pp512) | **389.3 ± 2.4** |
94
+ | decode (tg128) | **13.8 ± 0.03** |
95
+
96
+ `llama-bench` cannot exercise MTP, so the decode figure above is raw single-token decode.
97
+ MTP self-speculative decoding (the intended way to run this model) roughly doubles it, with the gain depending heavily on
98
+ how predictable the output is. Measured on `llama-server` over 256-token generations:
99
+
100
+ | Workload | Decode tok/s | Draft acceptance |
101
+ |---|---|---|
102
+ | Code generation | ~35.5 | ~74% (190/257) |
103
+ | Short reasoning | ~34.9 | ~72% (88/123) |
104
+ | Free-form reasoning | ~27.1 | ~51% (170/335) |
105
+
106
+ So expect roughly **27 to 36 tok/s** with MTP (about 2x to 2.6x over raw decode), trending higher on code and structured output.
107
+
108
+ ## Reproduce
109
+
110
+ ```bash
111
+ # source: the BF16 GGUF from bytkim
112
+ ./build-strix-rocmfp4/bin/llama-quantize \
113
+ Qwen3.6-27B-MTP-pi-reasoning-bf16.gguf \
114
+ Qwen3.6-27B-MTP-pi-reasoning-ROCmFP4-STRIX.gguf \
115
+ Q4_0_ROCMFP4_STRIX
116
+ ```
117
+
118
+ ## Vision
119
+
120
+ The source model is vision-capable via the Qwen3.6 `mmproj-F16.gguf` sidecar, but **this repo ships language weights only**.
121
+ To enable images, pair this GGUF with the matching `mmproj` from the
122
+ [source repo](https://huggingface.co/bytkim/Qwen3.6-27B-MTP-pi-reasoning-GGUF) and pass `--mmproj` to the fork.
123
+
124
+ ## Lineage & credits
125
+
126
+ - **Base model:** [`Qwen/Qwen3.6-27B`](https://huggingface.co/Qwen/Qwen3.6-27B) (Qwen team)
127
+ - **Fine-tune / BF16 source:** [`bytkim/Qwen3.6-27B-MTP-pi-reasoning-GGUF`](https://huggingface.co/bytkim/Qwen3.6-27B-MTP-pi-reasoning-GGUF), a QLoRA SFT on agent trajectories with MTP and "pi-reasoning"
128
+ - **Format & runtime:** [`charlie12345/rocmfp4-llama`](https://github.com/charlie12345/rocmfp4-llama) (llama.cpp fork, MIT)
129
+
130
+ ## License
131
+
132
+ Apache 2.0, inherited from the upstream `Qwen3.6-27B` base model. You may use, modify, and redistribute this quant
133
+ and its derivatives subject to that license.