kingjones777 commited on
Commit
7e5701f
Β·
verified Β·
1 Parent(s): 05c233e

K2-Horizon-MoVA-36B-A4B ROCmFP4: dual-expert MoE, 4 tiers measured on gfx1151

Browse files
Files changed (1) hide show
  1. README.md +120 -0
README.md ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ base_model:
4
+ - IFM/K2-Horizon-MoVA-36B-A4B
5
+ base_model_relation: quantized
6
+ tags:
7
+ - gguf
8
+ - rocm
9
+ - vulkan
10
+ - rocmfp4
11
+ - strix-halo
12
+ - gfx1151
13
+ - amd
14
+ - moe
15
+ - reasoning
16
+ - k2-horizon
17
+ pipeline_tag: text-generation
18
+ ---
19
+
20
+ # K2-Horizon-MoVA-36B-A4B β€” ROCmFP4 for AMD Strix Halo (gfx1151)
21
+
22
+ Four ROCmFP4/ROCmFPX tiers of [`IFM/K2-Horizon-MoVA-36B-A4B`](https://huggingface.co/IFM/K2-Horizon-MoVA-36B-A4B),
23
+ quantised from the official BF16 GGUF and measured on a Ryzen AI Max+ 395 (Radeon 8060S, gfx1151,
24
+ 128 GB unified, ROCm 7.2.4). This is the **dual-expert** `k2_horizon` MoVA architecture β€” 36B total
25
+ parameters, **~4B active** β€” with two independent expert systems: a 64-way MoVA value-expert bank
26
+ (top-4) alongside a 100-way MoE feed-forward (top-8), 48 layers, hidden 2560, and it is a
27
+ **reasoning** model.
28
+
29
+ **Every number on this card was measured on these exact files.** Nothing is estimated. As an
30
+ A4B MoE, it decodes far faster than a dense 32B on the same hardware.
31
+
32
+ ## Which file should I use?
33
+
34
+ | file | ftype | size | decode (HIP) | prefill (HIP) | use it for |
35
+ |---|---|---|---|---|---|
36
+ | `K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_FAST.gguf` | 103 | 18.57 GiB | **41.0 t/s** | **1238 t/s** | **default β€” fastest on both axes** |
37
+ | `K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_STRIX_LEAN.gguf` | 106 | 18.67 GiB | 41.0 t/s | 1227 t/s | same speed, Q5_K embeddings |
38
+ | `K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_COHERENT.gguf` | 102 | 19.81 GiB | 39.5 t/s | 1114 t/s | most bits in the 4-bit family |
39
+ | `K2-Horizon-MoVA-36B-A4B-Q8_0_ROCMFPX_AGENT.gguf` | 115 | 36.45 GiB | 28.9 t/s | 1183 t/s | 8-bit, agent/tool-call routing |
40
+
41
+ **Start with `FAST`** β€” fastest on both axes here, all four answer correctly. Take `AGENT` only if
42
+ you specifically want 8-bit weights.
43
+
44
+ ## Quick start β€” the backend is one flag
45
+
46
+ ```bash
47
+ # HIP / ROCm β€” best prefill (long prompts, RAG, agentic)
48
+ llama-server -m K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_FAST.gguf \
49
+ -dev ROCm0 -fa on -ngl 999 --no-mmap -fit off -np 1 \
50
+ -b 2048 -ub 1024 -t 16 --poll 100 -c 8192 --jinja
51
+
52
+ # Vulkan β€” SAME FILE. Only -dev changes.
53
+ llama-server -m K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_FAST.gguf -dev Vulkan0 ...
54
+ ```
55
+
56
+ ### β›” You need a build with BOTH `k2_horizon` and the ROCmFP4 types
57
+
58
+ These declare `general.architecture = k2-horizon` **and** use the ROCmFP4/ROCmFPX tensor types
59
+ (ggml 100-119). No single public build has both yet:
60
+
61
+ - **`k2_horizon` arch** (incl. the MoVA dual-expert graph) β€” [MBZUAI-IFM llama.cpp fork](https://github.com/MBZUAI-IFM/llama.cpp/tree/model/K2Horizon); upstream PR in progress.
62
+ - **ROCmFP4/ROCmFPX types** β€” [`ROCmFPX`](https://github.com/ROCmFPX/ROCmFPX).
63
+
64
+ This repo ships **`k2-horizon-on-rocmfpx.patch`** β€” the arch applied onto a ROCmFPX base, the exact
65
+ tree these files were built and verified against:
66
+
67
+ ```bash
68
+ git clone https://github.com/ROCmFPX/ROCmFPX.git && cd ROCmFPX
69
+ curl -fLO https://huggingface.co/kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF/resolve/main/k2-horizon-on-rocmfpx.patch
70
+ git apply k2-horizon-on-rocmfpx.patch
71
+ cmake -B build -DGGML_HIP=ON -DGGML_VULKAN=ON -DAMDGPU_TARGETS=gfx1151 -DGGML_NATIVE=ON -DCMAKE_BUILD_TYPE=Release
72
+ cmake --build build -j$(nproc)
73
+ ```
74
+
75
+ ## β›” Serving note β€” this is a reasoner
76
+
77
+ MoVA-36B emits chain-of-thought into `reasoning_content` before answering. A short budget returns
78
+ **HTTP 200 with empty `content` and the tokens in `reasoning`** β€” the model thinking, not a broken
79
+ file. Give it room: ~500 tokens for short answers and tool calls, more for long-form. Verified: at
80
+ 40 tokens `content` was empty; at 500 it answered correctly.
81
+
82
+ ## Head handling
83
+
84
+ Quantised at each tier's native routing with no forced `--output-tensor-type` override; the tiers
85
+ are posted as-built.
86
+
87
+ ## Reproduction block
88
+
89
+ ```
90
+ model : IFM/K2-Horizon-MoVA-36B-A4B (official BF16 GGUF, K2-Horizon-36B-BF16.gguf, 74.9 GB)
91
+ arch k2-horizon MoVA (dual-expert MoE): 36B total / ~4B active,
92
+ mova_num_experts 64 top-4 + num_experts 100 top-8, 48 layers, hidden 2560
93
+ port : MBZUAI-IFM/llama.cpp @ model/K2Horizon (35999d1) k2_horizon arch
94
+ applied onto ROCmFPX fork @ 85d8f7e (patch shipped in this repo)
95
+ quantize : llama-quantize <in> <out> <ftype> (no head-type override)
96
+ Q4_0_ROCMFP4_COHERENT (102) Β· Q4_0_ROCMFP4_FAST (103)
97
+ Q4_0_ROCMFP4_STRIX_LEAN (106) Β· Q8_0_ROCMFPX_AGENT (115)
98
+ serve : llama-server -dev {ROCm0|Vulkan0} -fa on -ngl 999 --no-mmap -fit off
99
+ -np 1 -b 2048 -ub 1024 -t 16 --poll 100 -c 8192 --jinja
100
+ box : Ryzen AI Max+ 395 / Radeon 8060S (gfx1151) / 128 GB unified, ROCm 7.2.4
101
+ verified : dual-expert graph loads on GPU, generates correct output
102
+ ("capital of France" -> "Paris"; "capital of Japan" -> "Tokyo")
103
+ measured : 2026-09-04
104
+ ```
105
+
106
+ ## SHA256
107
+
108
+ ```
109
+ 0f11adaada7b8b9f7aa785561f412d2de85a555fc1e2ffeddf71f972b8d576e4 K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_COHERENT.gguf
110
+ 5618a8e20c3300dcb38ec7217c612edcd8fb091b23aa9e024ca7063b235e80bf K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_FAST.gguf
111
+ 7fea90c3aa739652d764416741e85f563ca355ab29c8a8eb89e753a37df8e79f K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_STRIX_LEAN.gguf
112
+ e653f3855ed2c0c347e14e22593d49ced9118bf2115a7717ed2e34e5e6ff722c K2-Horizon-MoVA-36B-A4B-Q8_0_ROCMFPX_AGENT.gguf
113
+ ```
114
+
115
+ ## Credits
116
+
117
+ **[IFM / MBZUAI](https://huggingface.co/IFM)** β€” the K2-Horizon-MoVA-36B-A4B base model
118
+ (Apache-2.0) and the `k2_horizon` llama.cpp architecture. ROCmFP4/ROCmFPX quantisation types are the
119
+ work of **[ROCmFPX](https://github.com/ROCmFPX/ROCmFPX)**. This repository adds only the ROCmFP4
120
+ quant ladder, the arch-on-ROCmFPX patch, and the measurements.