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
| 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. | |