Instructions to use hotdogs/Qwen3.8-27B-abliterated-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 hotdogs/Qwen3.8-27B-abliterated-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 hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
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 hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
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 hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
Use Docker
docker model run hf.co/hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "hotdogs/Qwen3.8-27B-abliterated-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": "hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
- Ollama
How to use hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF with Ollama:
ollama run hf.co/hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
- Unsloth Studio
How to use hotdogs/Qwen3.8-27B-abliterated-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 hotdogs/Qwen3.8-27B-abliterated-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 hotdogs/Qwen3.8-27B-abliterated-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 hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF to start chatting
- Pi
How to use hotdogs/Qwen3.8-27B-abliterated-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 hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
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": "hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF with Docker Model Runner:
docker model run hf.co/hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
- Lemonade
How to use hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.Qwen3.8-27B-abliterated-MTP-GGUF-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use hotdogs/Qwen3.8-27B-abliterated-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 hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
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 hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use hotdogs/Qwen3.8-27B-abliterated-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 hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M
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 "hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:Q4_K_M" \ --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"
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": "hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF:"
}
]
}
}
}Run Pi
# Start Pi in your project directory:
pi- Qwen3.8-27B-Abliterated (GGUF, MTP-capable)
- deepseek-harness
- Latest bug fixes as of 2026-08-16
Qwen3.8-27B-Abliterated (GGUF, MTP-capable)
GGUF quantization of hotdogs/Qwen3.8-27B-abliterated — the training-free abliterated (refusal-removed) build of Qwen/Qwen3.8-27B — converted for llama.cpp with the MTP (Multi-Token Prediction) head preserved.
Status: testing / development. This is an early GGUF upload for evaluation. It has not yet been calibrated with an imatrix — the low-bit
Q4_K_Mquality is expected to improve once an imatrix is added (see Roadmap). Feedback welcome.
deepseek-harness
mkdir -p data
docker run -d \
--name deepseek \
-p 2222:22 \
-p 3080:8080 \
-e SSH_PASSWORD=your-password \
-e DSH_USER=root \
-e DSH_PASSWORD=your-password \
-v $(pwd)/data:/root/ \
--restart unless-stopped \
nutboy02/deepseek-harness:latest
Latest bug fixes as of 2026-08-16
Quantized "mixed" builds — quality vs f16
These -mixed quants use a hybrid precision recipe to get closer to the
f16 reference: the token-embedding and all output tensors are kept at q8_0
while the rest of the network is quantized to the base level, and they are
built with an imatrix (CPU calibration) — Q4_K_M-mixed and Q6_K-mixed.
Measured KL divergence vs the f16 reference (full-vocab, first-token distribution, 8 neutral prompts, CPU): a lower value = closer to f16.
| quant | size | base dtype | embedding/output | KL vs f16 | closeness |
|---|---|---|---|---|---|
Qwen3.8-27B-abliterated-mtp-f16.gguf |
54.7 GB | bf16 | bf16 | 0 (reference) | — |
Qwen3.8-27B-abliterated-mtp-Q6_K-mixed.gguf |
22.4 GB | Q6_K | q8_0 | 0.0017 | best quant |
Qwen3.8-27B-abliterated-mtp-Q4_K_M-mixed.gguf |
17.8 GB | Q4_K_M | q8_0 | 0.0042 | 2.5× f16 than Q6_K |
Qwen3.8-27B-abliterated-mtp-IQ4_NL-mixed.gguf |
16.0 GB | IQ4_NL | q8_0 | 0.0083 | smallest of the set |
All four are very close to f16 (KL < 0.01). Q6_K-mixed (KL 0.0017) is the closest to f16 (~2.5× better than Q4_K_M-mixed's 0.0042, ~5× better than IQ4_NL-mixed's 0.0083) — the higher base dtype plus the q8_0 embedding/output keep it near-lossless, at roughly half the f16 size. IQ4_NL-mixed is the smallest (16 GB) but drifts the most from f16 of the three; it is still a good small-footprint option.
How they were built (from ~/llamacpp/llama.cpp)
cd ~/llamacpp/llama.cpp
# Q4_K_M-mixed: q8_0 embedding + outputs, imatrix-calibrated
./build/bin/llama-quantize --imatrix ./Qwen3.8-27B-abliterated-imatrix-cpu.gguf \
--output-tensor-type q8_0 --token-embedding-type q8_0 \
./Qwen3.8-27B-abliterated-mtp-f16.gguf \
./Qwen3.8-27B-abliterated-mtp-Q4_K_M-mixed.gguf Q4_K_M
# Q6_K-mixed: q8_0 embedding + outputs, imatrix-calibrated
./build/bin/llama-quantize --imatrix ./Qwen3.8-27B-abliterated-imatrix-cpu.gguf \
--output-tensor-type q8_0 --token-embedding-type q8_0 \
./Qwen3.8-27B-abliterated-mtp-f16.gguf \
./Qwen3.8-27B-abliterated-mtp-Q6_K-mixed.gguf Q6_K
# IQ4_NL-mixed: q8_0 embedding + outputs, imatrix-calibrated
./build/bin/llama-quantize --imatrix ./Qwen3.8-27B-abliterated-imatrix-cpu.gguf \
--output-tensor-type q8_0 --token-embedding-type q8_0 \
./Qwen3.8-27B-abliterated-mtp-f16.gguf \
./Qwen3.8-27B-abliterated-mtp-IQ4_NL-mixed.gguf IQ4_NL
Both carry the MTP head (quantized from the -mtp-f16 source), so
--spec-type draft-mtp works with them.
Custom IQ quants (no MTP head)
These IQ2_M-custom / IQ3_M-custom builds use a custom layer-precision
recipe: the embedding and output tensors are q8_0, the first 4 layers
(blk.0-3) and last 4 layers (blk.60-63) plus attn_v/attn_output are
kept at a higher precision (q4_K for IQ2, q5_K for IQ3) while the rest is
at the base IQ level. They were quantized from the -f16-nomtp source, so
they carry NO MTP head — do NOT use --spec-type draft-mtp with them.
| file | size | base | boundary (blk.0-3/60-63, attn_v/output) | KL vs f16 | MTP |
|---|---|---|---|---|---|
Qwen3.8-27B-abliterated-IQ3_M-custom.gguf |
14.0 GB | IQ3_M | q5_K | 0.0157 | ❌ |
Qwen3.8-27B-abliterated-IQ2_M-custom.gguf |
12.0 GB | IQ2_M | q4_K | 0.0617 | ❌ |
IQ3_M-custom (KL 0.0157) is usable but visibly drifts from f16 (4× the
IQ4_NL-mixed 0.0083, ~9× the Q6_K-mixed 0.0017). IQ2_M-custom (KL 0.0617)
drifts further (4× IQ3_M, ~15× Q4_K_M). IQ1_M is not recommended — it
tends to loop (KL 0.295, far from f16). Both custom quants are no-MTP, so
they save memory (no draft head) but give up self-speculative decoding.
How they were built (from ~/llamacpp/llama.cpp)
cd ~/llamacpp/llama.cpp
# IQ3_M-custom: q8_0 emb/output, boundary layers + attn_v/output at q5_K
./build/bin/llama-quantize \
--imatrix ./Qwen3.8-27B-abliterated-imatrix-cpu.gguf \
--output-tensor-type q8_0 \
--token-embedding-type q8_0 \
--tensor-type "blk\.[0-3]\..*=q5_K" \
--tensor-type "blk\.6[0-3]\..*=q5_K" \
--tensor-type "attn_v=q5_K" \
--tensor-type "attn_output=q5_K" \
./Qwen3.8-27B-Abliterated-f16-nomtp.gguf \
./Qwen3.8-27B-abliterated-IQ3_M-custom.gguf \
IQ3_M
# IQ2_M-custom: q8_0 emb/output, boundary layers + attn_v/output at q4_K
./build/bin/llama-quantize \
--imatrix ./Qwen3.8-27B-abliterated-imatrix-cpu.gguf \
--output-tensor-type q8_0 \
--token-embedding-type q8_0 \
--tensor-type "blk\.[0-3]\..*=q4_K" \
--tensor-type "blk\.6[0-3]\..*=q4_K" \
--tensor-type "attn_v=q4_K" \
--tensor-type "attn_output=q4_K" \
./Qwen3.8-27B-Abliterated-f16-nomtp.gguf \
./Qwen3.8-27B-abliterated-IQ2_M-custom.gguf \
IQ2_M
IQ1_M warning: an
IQ1_Mbuild was also measured (KL 0.295) but is not recommended — at 1-bit the model drifts far from f16 and tends to loop. Stick with IQ3_M-custom (14 GB) or IQ2_M-custom (12 GB) as the smallest usable options.
Files
| File | Size | MTP | Notes |
|---|---|---|---|
Qwen3.8-27B-abliterated-mtp-f16.gguf |
~54.7 GB | ✅ | Full-precision reference. Highest quality; largest. Use for imatrix + as quant source. |
Qwen3.8-27B-abliterated-mtp-Q8_0.gguf |
~29.0 GB | ✅ | HIGH quality/size. |
Qwen3.8-27B-abliterated-mtp-Q6_K.gguf |
~22.4 GB | ✅ | Balanced quality/size. Recommended if you have the VRAM/RAM. |
Qwen3.8-27B-abliterated-mtp-Q4_K_M.gguf |
~16.8 GB | ✅ | Smaller footprint. (Currently without imatrix — quality to improve.) |
Qwen3.8-27B-abliterated-mtp-IQ4_NL.gguf |
~16.0 GB | ✅ | Smaller footprint. (with imatrix) |
Qwen3.8-27B-abliterated-mtp-IQ3_M.gguf |
~12.8 GB | ✅ | Smallest MTP-enabled quant. (with imatrix) |
Qwen3.8-27B-abliterated-IQ3_XXS.gguf |
~11.2 GB | ❌ | No MTP head — --spec-type draft-mtp NOT available. |
Qwen3.8-27B-abliterated-IQ2_M.gguf |
~10.0 GB | ❌ | No MTP head — --spec-type draft-mtp NOT available. |
mmproj-Qwen3.8-27B-GGUF.gguf |
~931 MB | — | Multimodal projector — enables image understanding. |
Qwen3.8-27B-abliterated-imatrix.dat |
~13.6 MB | — | imatrix calibration data (for llama-quantize --imatrix). |
MTP note: only files with
-mtp-in the filename carry the embedded MTP head.IQ2_MandIQ3_XXSwere quantized without the MTP head — do NOT pass--spec-type draft-mtpwith them (llama.cpp will error / fall back to plain decoding). For the-mtp-files you can use self-speculative decoding in llama.cpp (--spec-type draft-mtp) for faster generation.
Quick start — llama.cpp
Recommended llama-server flags (used for testing this model):
llama-server -m Qwen3.8-27B-abliterated-mtp-Q6_K.gguf \
--spec-type draft-mtp \
--spec-draft-n-max 2 \
--ctx-size $((256*1024)) \
--batch-size 8192 \
--ubatch-size 1024 \
--cache-type-k f16 \
--cache-type-v f16 \
--flash-attn on \
--cont-batching \
--temp 0.95 \
--top-k 20 \
--top-p 0.95 \
--min-p 0.0 \
--mlock \
--no-mmap \
--jinja -ngl 99
If loop try to use
--repeat-penalty 1.03 \
--repeat-last-n 256 \
--dry-multiplier 0.5 \
--dry-base 1.75 \
--dry-allowed-length 5 \
--dry-penalty-last-n -1 \
--reverse-prompt "<|im_end|>" \
--reverse-prompt "<|endoftext|>" \
Notes on the flags:
- 256K context (
--ctx-size $((256*1024))) with f16 KV cache — Qwen3.8 natively supports a long context; budget your VRAM accordingly. --spec-type draft-mtpenables MTP self-speculative decoding. Sweep--spec-draft-n-max(1–6) to find the fastest point on your hardware.- DRY sampler (
dry-*) is a repetition suppressor — tune--dry-multiplierif output feels too constrained or too repetitive. --chat-template-file chat_template.jinja— point this at thechat_template.jinjafrom the source repo (hotdogs/Qwen3.8-27B-abliterated) to guarantee the correct Qwen3.8 prompt format (thinking + vision tags).--mlock --no-mmappins weights in RAM (faster, but needs enough free RAM for the model).--reverse-prompton the Qwen EOS/stop tokens keeps multi-turn chat clean.
CLI one-shot:
llama-cli -m Qwen3.8-27B-abliterated-mtp-Q4_K_M.gguf \
--spec-type draft-mtp -ngl 99 -p "Explain how a lock cylinder works."
For image support, pass the projector:
llama-server -m Qwen3.8-27B-abliterated-mtp-Q6_K.gguf \
--mmproj mmproj-Qwen3.8-27B-GGUF.gguf \
--spec-type draft-mtp -ngl 99 -c 32768
Which file should I use?
| Use case | Pick |
|---|---|
| Best quality (large VRAM/RAM, e.g. 48 GB+) | f16 |
| Best quality-per-GB (24 GB class) | Q6_K |
| Smaller footprint (16 GB class) | Q4_K_M |
| Image/video understanding | add mmproj-Qwen3.8-27B-GGUF.gguf |
llama-server -ngl 99 offloads all layers to GPU; lower -ngl to spill to
RAM if VRAM is tight.
About the source model
hotdogs/Qwen3.8-27B-abliterated is a training-free abliterated build of Qwen/Qwen3.8-27B (a dense 27B native vision-language model with hybrid full-attention + linear-attention architecture). Refusal behaviour is removed by a single forward-only rank-1 weight edit (W ← W − λ·r̂(r̂ᵀW)) that orthogonalizes the "refusal direction" r̂ out of the 131 residual-stream writers at λ = 1.2 (hidden-state index 46, non-thinking) — no fine-tuning, no data poisoning.
The vision tower and lm_head are byte-for-byte unchanged. These GGUFs were converted from the λ = 1.2 abliterated checkpoint (the current published base), so the refusal-removal edit is preserved through quantization.
Capability (A/B vs base, source model)
The GGUFs quantize the λ = 1.2 checkpoint, whose bf16 A/B benchmark against
Qwen/Qwen3.8-27B (identical lm-eval HF harness, same prompt/config) is:
| benchmark | base | λ = 1.2 (bf16) | Δ |
|---|---|---|---|
| MMLU (0-shot) | 0.8388 | 0.8342 | −0.005 |
| GSM8K (5-shot, strict) | 0.62 | 0.59 | −0.03 |
| ARC-Challenge (0-shot) | 0.4433 | 0.4533 | +0.010 |
Refusal (100-prompt heretic harness): 98/100 → 39/100; KL vs base 0.0001.
See the base model card for the full method and the weight-level r̂ check.
Disclaimer. The underlying model will not refuse. It is published for alignment and safety research — measuring what refusal training protects, red-teaming, and studying refusal-direction mechanics. You are responsible for your use of it and for complying with all applicable laws.
About MTP (Multi-Token Prediction)
Qwen3.8 uses an MTP head trained to predict the next several tokens in a single forward pass. In GGUF this head can be kept and used for self-speculative decoding: the model drafts N candidate tokens, verifies them in one pass, and accepts the correct prefix — giving a decode speedup with no loss of output quality.
Enable it in llama.cpp with --spec-type draft-mtp. Sweep
--spec-draft-n-max from 1–6 to find the fastest point on your hardware
(start with 2). Watch the server log for:
draft acceptance rate = 0.XX (N accepted / M generated)
statistics ... #acc tokens = N
Roadmap
- Convert abliterated model to GGUF (MTP head preserved)
- Build an imatrix calibration corpus (real usage / Thai-augmented)
- Verify MTP acceptance rate on multiple hardware profiles
Reproduction / source
- Base model: hotdogs/Qwen3.8-27B-abliterated
- Abliteration tool: nanofatdog/LLM-abliterate (training-free, generic architecture detection)
- Conversion: ggml-org/llama.cpp
convert_hf_to_gguf.py(MTP/NextN tensors preserved) +llama-quantize
The exact build/quantize commands will be added here once the imatrix pass is complete.
License
Apache-2.0 (inherited from the base model and its source).
- Downloads last month
- 21,373
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp# Start a local OpenAI-compatible server: llama serve -hf hotdogs/Qwen3.8-27B-abliterated-MTP-GGUF: