Text Generation
GGUF
rocm
rocmfp4
strix-halo
gfx1151
speculative-decoding
mtp
imatrix
conversational
Instructions to use raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP # Run inference directly in the terminal: llama cli -hf raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP # Run inference directly in the terminal: llama cli -hf raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP # Run inference directly in the terminal: ./llama-cli -hf raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP # Run inference directly in the terminal: ./build/bin/llama-cli -hf raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
Use Docker
docker model run hf.co/raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
- LM Studio
- Jan
- vLLM
How to use raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
- Ollama
How to use raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF with Ollama:
ollama run hf.co/raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
- Unsloth Studio
How to use raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF to start chatting
- Pi
How to use raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF with Docker Model Runner:
docker model run hf.co/raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
- Lemonade
How to use raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull raulvidis/KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF:Q4_0_ROCMFP
Run and chat with the model
lemonade run user.KAT-Coder-V2.5-Dev-ROCmFP4-STRIX-MTP-GGUF-Q4_0_ROCMFP
List all available models
lemonade list
File size: 3,853 Bytes
a908b0e 61c993a a908b0e 61c993a a908b0e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | ---
license: apache-2.0
base_model: Kwaipilot/KAT-Coder-V2.5-Dev
base_model_relation: quantized
tags:
- gguf
- rocm
- rocmfp4
- strix-halo
- gfx1151
- speculative-decoding
- mtp
pipeline_tag: text-generation
---
# KAT-Coder-V2.5-Dev — ROCmFP4_STRIX + grafted MTP head (GGUF)
A 4-bit `ROCmFP4_STRIX` quant of [Kwaipilot/KAT-Coder-V2.5-Dev](https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev) with the model's **MTP (multi-token prediction) head grafted back in at Q8_0**, so it can self-speculate. Built and measured on an AMD Ryzen AI Max+ 395 (Strix Halo, gfx1151, 128 GB unified memory).
**19.0 GB** — `KAT-Coder-V2.5-Dev-Q4_0_ROCMFP4_STRIX-MTP.gguf`
## ⚠️ Requires a llama.cpp fork — stock llama.cpp cannot read this file
`ROCmFP4` uses GGUF tensor types **100/101**, which upstream llama.cpp does not know. You need [charlie12345/ROCmFPX](https://github.com/charlie12345/ROCmFPX). Stock `gguf-py` also can't parse it (use the fork's `gguf-py` for inspection).
If you don't have that fork, this file is not for you — take a Q4_K_M or Q6_K build of the base model instead.
## Serving
```bash
env HSA_OVERRIDE_GFX_VERSION=11.5.1 GGML_HIP_ENABLE_UNIFIED_MEMORY=1 \
llama-server -m KAT-Coder-V2.5-Dev-Q4_0_ROCMFP4_STRIX-MTP.gguf \
-ngl 999 -fa on -c 32768 --jinja --metrics \
--spec-type draft-mtp --spec-draft-n-max 1 \
--reasoning-format deepseek --reasoning-budget 0
```
- **`--spec-draft-n-max 1`** is what was tuned here. The MTP head predicts one token ahead; deeper drafting costs more in verification than it returns on this hardware.
- **`--reasoning-format deepseek --reasoning-budget 0`** to suppress thinking. Do **not** use `--reasoning-format none` if you post-process the output: `none` tells llama.cpp not to parse think tags, so `</think>` is left **inline in `content`** and will corrupt anything that extracts code from the response. With `deepseek`, residue lands in `reasoning_content` instead. Expect ~72 chars of residue there that cannot be driven to zero.
## Measured
Same hardware, `--parallel 1`, greedy, **thinking off** (probe-verified), single runs.
### Quality
| benchmark | score | notes |
|---|---:|---|
| GSM8K (n=500, 5-shot) | **0.952** ±0.010 | identical to the plain STRIX base — MTP costs no quality |
| IFEval prompt_strict (n=500) | 0.764 ±0.019 | inst_strict 0.834 |
| HumanEval (pass@1, 164) | **0.939** | |
| HumanEval+ (pass@1, 164) | **0.884** | evalplus hardened tests |
### Speed
| | plain STRIX | this build (MTP) |
|---|---:|---:|
| decode @1k | 67.6 t/s | **92.5 t/s** (+37%) |
| decode @8k | 63.8 t/s | **87.1 t/s** (+37%) |
## Caveats
- **MTP defeats the prompt cache** (`spec-boundary-mismatch`), so this build suits single-shot work better than long multi-turn chat. If you need prompt-cache reuse, serve the plain STRIX quant without `--spec-type`.
- **Thinking-off numbers only.** Reasoning-on was not benchmarked; the scores above are floors.
- Single runs, greedy, pass@1. No repeats, so treat 1–2 point differences as noise.
- HumanEval base is saturated at this capability level — **HumanEval+ is the more discriminating number**.
- `--spec-type draft-mtp` works with `--parallel > 1` (per-slot draft state is maintained). But `n-max` should come *down* as concurrency rises, since the verify batch scales as `n-max × active slots`.
## How it was built
Quantized from a BF16 conversion of the base model with the base model's own imatrix, using the fork's `llama-quantize` at `Q4_0_ROCMFP4_STRIX` (a selective recipe: `attn_k`/`attn_v` get the quality layout, `attn_q`/`attn_output`/`ffn_*_exps` get the fast layout, `token_embd` gets Q6_K). The MTP head — which ships inside the base model rather than as a separate draft — was then grafted in at Q8_0.
Credit to Kwaipilot for the base model, and to the ROCmFPX fork for the FP4 kernels.
|