Text Generation
GGUF
llama.cpp
rocm
rocmfpx
rocmfp4
amd
strix-halo
gfx1151
mtp
speculative-decoding
qwen3.5
conversational
Instructions to use singulared/Qwen3.8-27B-ROCmFP4-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 singulared/Qwen3.8-27B-ROCmFP4-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 singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF # Run inference directly in the terminal: llama cli -hf singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF # Run inference directly in the terminal: llama cli -hf singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
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 singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF # Run inference directly in the terminal: ./llama-cli -hf singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
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 singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF # Run inference directly in the terminal: ./build/bin/llama-cli -hf singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
Use Docker
docker model run hf.co/singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
- LM Studio
- Jan
- vLLM
How to use singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "singulared/Qwen3.8-27B-ROCmFP4-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": "singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
- Ollama
How to use singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF with Ollama:
ollama run hf.co/singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
- Unsloth Studio
How to use singulared/Qwen3.8-27B-ROCmFP4-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 singulared/Qwen3.8-27B-ROCmFP4-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 singulared/Qwen3.8-27B-ROCmFP4-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 singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF to start chatting
- Pi
How to use singulared/Qwen3.8-27B-ROCmFP4-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 singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
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": "singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use singulared/Qwen3.8-27B-ROCmFP4-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 singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
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 "singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF" \ --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 singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF with Docker Model Runner:
docker model run hf.co/singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
- Lemonade
How to use singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
Run and chat with the model
lemonade run user.Qwen3.8-27B-ROCmFP4-MTP-GGUF-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use singulared/Qwen3.8-27B-ROCmFP4-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 singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
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 singulared/Qwen3.8-27B-ROCmFP4-MTP-GGUF
Run Hermes
hermes
- Atomic Chat
| license: apache-2.0 | |
| base_model: | |
| - Qwen/Qwen3.8-27B | |
| - ggml-org/Qwen3.8-27B-GGUF | |
| base_model_relation: quantized | |
| library_name: llama.cpp | |
| pipeline_tag: text-generation | |
| tags: | |
| - gguf | |
| - rocm | |
| - rocmfpx | |
| - rocmfp4 | |
| - amd | |
| - strix-halo | |
| - gfx1151 | |
| - mtp | |
| - speculative-decoding | |
| - qwen3.5 | |
| # Qwen3.8-27B β ROCmFP4 + MTP drafter ladder (Strix Halo) | |
| ROCmFP4 builds of [Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B), quantised from | |
| `ggml-org/Qwen3.8-27B-GGUF`'s BF16 (sha256 `5a3eedc837bcbd13β¦`, verified), **plus an MTP drafter | |
| at five precisions** so the speculative-decoding numbers below can be reproduced rather than | |
| taken on trust. | |
| Other ROCmFP4 builds of this model already exist. What is here and (at publication) not | |
| elsewhere: **draft-acceptance rates**, a **per-backend `n-max` sweep**, a **`-ub` sweep**, and a | |
| **ROCm 7.2 vs 10.1 comparison** that reverses the preset ranking. | |
| > β **Read this before choosing FP4.** On the same machine, **mainline llama.cpp on Vulkan with a | |
| > plain `Q4_K_M` and the official MTP drafter is faster** β 330 vs 227 prefill (+43%), decode tied. | |
| > These FP4 files are worth it for the **1.7 GiB smaller footprint** (15.6 vs 17.3 GiB resident), | |
| > which matters when co-residing two models. They are not the throughput winner. | |
| ## Files | |
| | file | preset | size | | |
| | --- | --- | ---: | | |
| | `Qwen3.8-27B-ROCMFP4-STRIX.gguf` | `Q4_0_ROCMFP4_STRIX` | 13.75 GiB | | |
| | `Qwen3.8-27B-ROCMFP4-COHERENT.gguf` | `Q4_0_ROCMFP4_COHERENT` | 14.41 GiB | | |
| | `mtp-Qwen3.8-27B-ROCMFP4-STRIX.gguf` | FP4 drafter | 1.85 GiB | | |
| | `mtp-Qwen3.8-27B-ROCMFP3.gguf` | FP3 drafter | 1.55 GiB | | |
| | `mtp-Qwen3.8-27B-ROCMFP6.gguf` | FP6 drafter | 2.27 GiB | | |
| | `mtp-Qwen3.8-27B-ROCMFP8.gguf` | FP8 drafter | 2.86 GiB | | |
| | `mtp-Qwen3.8-27B-ROCMFP2.gguf` | FP2 drafter β **broken, see below** | 1.48 GiB | | |
| Requires a [ROCmFPX](https://github.com/charlie12345/ROCmFPX) build; mainline llama.cpp does not | |
| know the `Q4_0_ROCMFP4_*` tensor types. | |
| ## Hardware / method | |
| AMD Ryzen AI MAX+ 395, Radeon 8060S (`gfx1151`, RDNA 3.5), 124 GiB GTT, Debian sid, kernel 7.2. | |
| Server-measured (`llama-server` + probe), ~8K-token prompt, temperature 0, one job at a time. | |
| ROCm nightly pinned to `therock-dist-linux-gfx1151-10.1.0a20260815`. | |
| ## 1. Draft depth (`--spec-draft-n-max`) is per-backend | |
| | n-max | Vulkan Q4_K_M decode | acc | FP4 decode | acc | | |
| | ---: | ---: | ---: | ---: | ---: | | |
| | 3 | β | β | 33.42 | 100.0% | | |
| | 4 | 35.80 | 88.1% | 35.16 | 98.7% | | |
| | **5** | **38.94** | 91.6% | 38.67 | 98.1% | | |
| | 6 | 38.47 | 86.5% | 38.04 | 97.5% | | |
| | 7 | 37.84 | 82.0% | **39.26** | 94.7% | | |
| | 8 | 28.56 | 78.1% | 32.36 | 95.2% | | |
| | 10 | 25.47 | 59.4% | β | β | | |
| Acceptance decays monotonically with depth; the knee is where verifying rejected drafts costs | |
| more than the accepted ones save. FP4 holds higher acceptance, so its knee sits deeper and | |
| flatter. **This is not DeepSeek-V4's n=2** β draft depth does not transfer between models. | |
| ## 2. Drafter precision is a bandwidth lever, not a quality one | |
| Target fixed, drafter varied, Vulkan, n=5: | |
| | drafter | size | decode | acceptance | | |
| | --- | ---: | ---: | ---: | | |
| | **Q4_K_M** | 1.89 GiB | **39.16** | 91.6% | | |
| | Q6_K | 2.28 GiB | 38.28 | 92.1% | | |
| | Q5_K_M | 2.08 GiB | 36.93 | 89.0% | | |
| | Q8_0 | 2.95 GiB | 34.74 | 89.0% | | |
| **Acceptance is flat (89β92%) while decode spans 13%** β so shrinking the drafter buys bandwidth | |
| and costs nothing in draft quality. Advice to keep drafters at β₯Q8 does not hold here. | |
| ## 3. FP2 destroys a drafter | |
| FPX ladder, STRIX target, ROCm 10.1, n=5: | |
| | drafter | decode | acceptance | | |
| | --- | ---: | ---: | | |
| | FP4-STRIX | **37.03** | 97.4% | | |
| | FP3 | 36.07 | **98.1%** | | |
| | FP6 | 30.92 | 96.6% | | |
| | FP8 | 29.76 | 96.6% | | |
| | **FP2** | 22.07 | **64.0%** | | |
| FP2's codebook has no exact zero. This drafter is BF16-sourced β the case usually assumed safe β | |
| and acceptance still collapses. **Do not use FP2 for a draft model.** | |
| ## 4. The preset ranking flips with the ROCm version | |
| `llama-bench`, pp2048: | |
| | preset | ROCm 7.2.4 | ROCm 10.1 nightly | | |
| | --- | ---: | ---: | | |
| | COHERENT | **205.7** | 208.6 (+1%) | | |
| | STRIX | 151.8 | **272.0 (+79%)** | | |
| COHERENT wins on 7.2; STRIX wins on 10.1. Any "preset X is best" claim β including ones in other | |
| repos β is conditional on a ROCm version that usually goes unstated. | |
| ## 5. `-ub 256`, not the default | |
| | `-ub` | Vulkan pp2048 | FP4 pp2048 (10.1) | | |
| | ---: | ---: | ---: | | |
| | **256** | **370.6** | **300.3** | | |
| | 512 | 360.9 | 267.3 | | |
| | 1024 | 343.7 | 236.5 | | |
| | 2048 | 332.0 | 235.8 | | |
| Both backends prefer a small micro-batch; `-ub 2048` costs FP4 **27%** of its prefill. Batch size | |
| (`-b` 512β4096) changes nothing. | |
| ## Usage | |
| ```bash | |
| llama-server \ | |
| -m Qwen3.8-27B-ROCMFP4-STRIX.gguf \ | |
| -md mtp-Qwen3.8-27B-ROCMFP4-STRIX.gguf \ | |
| --spec-type draft-mtp --spec-draft-n-max 5 \ | |
| -ngl 99 -ngld 99 -fa on -ub 256 | |
| ``` | |
| ## Provenance | |
| Every file derives from `ggml-org/Qwen3.8-27B-GGUF`, sha256-verified before quantisation: | |
| `Qwen3.8-27B-BF16.gguf` = `5a3eedc837bcbd13β¦`, `mtp-Qwen3.8-27B-BF16.gguf` = `5723e551c4ee2b8cβ¦`. | |