Downloads · 30 days
179
21% of all-time downloads
testmymodel112/Qwen3.8-27B-Uncensored-FP8
Qwen3.8-27B-Uncensored-FP8 is a image-text-to-text model from testmymodel112. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as apache-2.0.
Downloads · 30 days
179
21% of all-time downloads
All-time downloads
834
Public
Parameters
27.8B
30.9 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors30.9 GB · 100%
How the weights are stored.
F8_E4M324.7B · 89%
From the Hugging Face model README
An abliterated (refusal-removed) and offline block-FP8 quantized build of
Qwen/Qwen3.8-27B— a 27B-parameter dense, hybrid-attention (Gated DeltaNet linear + full attention) native vision-language model with flexible thinking control, tool-calling, and an MTP speculative-decoding head. This build removes the safety refusal direction, then re-quantizes to the exact FP8 scheme of the officialQwen/Qwen3.8-27B-FP8so it serves with the identical vLLM kernel path — 262K context, tools + reasoning + MTP preserved. Browse all models in the OrcaRouter Model Catalog. This model is deployed as API here.
This model has had its safety alignment substantially removed via abliteration (orthogonalizing the refusal direction out of the residual stream). As a direct consequence:
Qwen3.8-27B would refuse. It has no meaningful built-in guardrails.By downloading or using this model you acknowledge and accept the above.
| Base model | Qwen/Qwen3.8-27B |
| Architecture | Qwen3_5ForConditionalGeneration — 64 layers, hidden 5120, hybrid Gated DeltaNet (48 linear-attention + 16 full-attention, interval 4), native VL tower + MTP head |
| Modification | Abliteration (refusal-direction removal) then offline block-FP8 quantization |
| Quantization | Block-FP8 (E4M3), weight_block_size [128,128], dynamic activations — mirrors the official Qwen3.8-27B-FP8 byte-for-byte in scheme |
| Format | safetensors, resharded to ≤ 5 GB shards (7 shards, 30.9 GB, 1606 tensors) |
| Precision | FP8 (E4M3) block-quantized linear weights; vision tower / norms / router / embeddings / lm_head kept in BF16 |
| Preserved | Full vision-language tower and MTP speculative-decoding head (drop-in for the base) |
| Context | 262,144 tokens |
Refusal-direction removal following Arditi et al. (2024), Refusal in Language Models Is
Mediated by a Single Direction. A single refusal direction r (k = 1) is estimated as the
massive-activation–masked mean-difference of harmful − harmless last-token residuals at
layer 38 (round(0.6 × 64)), on AdvBench (harmful) vs Alpaca (harmless). r is then
orthogonalized out of every residual-writing matrix — W' = W − r(rᵀW) — computed in
float32:
| Component | matrices edited |
|---|---|
self_attn.o_proj (16 full-attention layers + MTP) | 17 |
linear_attn.out_proj (48 linear-attention / GDN layers) | 48 |
mlp.down_proj (64 layers + MTP) | 65 |
embed_tokens (row space) | 1 |
| Total | 131 |
The vision tower is untouched and the MTP head is abliterated consistently with the
main model, so speculative decoding keeps working. Max residual leakage after the edit:
1.8e-2 (float32 projection → bf16 storage epsilon).
Quantization is done offline on the abliterated BF16 weights, reproducing the official
Qwen/Qwen3.8-27B-FP8 recipe exactly:
weight as float8_e4m3fn +
weight_scale_inv (BF16) per block.norms, mlp.gate / shared_expert_gate,
linear_attn conv/gates (A_log, conv1d, dt_bias, in_proj_a/b/ba, norm), lm_head,
embed_tokens — the identical 882-entry modules_to_not_convert as the official FP8.vLLM therefore serves this build with the same FlashInfer / DeepGEMM block-scaled FP8 kernel as the official checkpoint, with the same MTP speculative decoding.
Measured on this exact FP8 build served with vLLM (block-FP8 + FP8 KV cache + MTP), against
the official Qwen/Qwen3.8-27B-FP8 served identically, using the same scripts and settings.
Refusal is judged by a rule-based opening-phrase classifier (caveat = answered but wrapped in
a disclaimer / warning) — indicative, not an LLM-judge / publication-grade number. Thinking is
off unless stated; refusal is reported in both modes because Qwen thinking changes the number.
| Benchmark | n | Base FP8 | This model | Caveat (this) |
|---|---|---|---|---|
| AdvBench | 100 | 99.0% | 0.0% | 44.0% |
| JailbreakBench (harmful) | 100 | 94.0% | 0.0% | 47.0% |
| StrongREJECT | 150 | 97.3% | 2.0% | 41.3% |
| HarmBench (standard) | 150 | 98.7% | 2.7% | 42.0% |
| MaliciousInstruct | 100 | 99.0% | 0.0% | 40.0% |
| SimpleSafetyTests | 50 | 64.0% | 6.0% | 56.0% |
| ForbiddenQuestions | 150 | 73.3% | 4.7% | 35.3% |
| Custom probes (zh/en) | 11 | 63.6% | 0.0% | 27.3% |
Harmful-prompt refusal collapses from 64–99% on the base to 0–6%. The ~30–50% caveat rate means the model answers but often prepends a short safety disclaimer — it is complying, not refusing.
enable_thinking=true, max_tokens 2048)| Benchmark | n | Base FP8 | This model |
|---|---|---|---|
| AdvBench | 60 | 66.7% | 1.7% |
| JailbreakBench (harmful) | 60 | 43.3% | 0.0% |
| StrongREJECT | 60 | 35.0% | 0.0% |
| HarmBench (standard) | 60 | 46.7% | 0.0% |
| MaliciousInstruct | 60 | 83.3% | 0.0% |
| SimpleSafetyTests | 50 | 44.0% | 0.0% |
| ForbiddenQuestions | 60 | 48.3% | 0.0% |
| Custom probes (zh/en) | 11 | 45.5% | 0.0% |
In thinking mode the abliterated model refuses essentially never (≤ 1.7%).
| Benchmark | n | Base FP8 (no-think / think) | This model (no-think / think) |
|---|---|---|---|
| XSTest-safe | 250 | 5.6% / 0.0% | 0.4% / 0.0% |
Abliteration reduces collateral over-refusal on benign prompts (5.6% → 0.4%).
| Benchmark | n | Base FP8 | This model | Δ |
|---|---|---|---|---|
| MMLU (all, 0-shot letter) | 300 | 84.3% | 84.7% | +0.4 |
| MMLU-Pro (CoT) | 250 | 77.6% | 76.8% | −0.8 |
| GSM8K (CoT) | 150 | 90.0% | 88.7% | −1.3 |
| CMMLU (0-shot, Chinese) | 500 | 81.4% | 80.8% | −0.6 |
Capability is essentially fully retained — every benchmark is within ±1.3 pts of the base, and MMLU is unchanged. Because the FP8 scheme is byte-identical to the official checkpoint, this delta reflects only the abliteration edit, which barely touches general ability.
Fluency (perplexity): WikiText-2-raw perplexity of this build is 6.96 (296,907 tokens, BF16 KV; logprobs healthy, min −26.9 / mean −1.94), confirming abliteration + block-FP8 did not degrade language modelling.
Verified on this exact FP8 build: vLLM startup (block-FP8 + FP8-KV + MTP), reasoning
(enable_thinking → populated reasoning field), multi-turn tool calling
(qwen3_coder parser), and vision (image + OCR) all work.
The vision tower is preserved byte-for-byte — all 333 visual.* tensors are copied
unchanged and kept in BF16, and the merger / image + video preprocessor configs are intact, so
this stays a full vision-language model (Qwen3_5ForConditionalGeneration), a drop-in for the
base. Abliteration only edits the language-model residual writers, so image understanding is
architecturally unaffected (and image-conditioned refusals are reduced along with text ones).
The benchmark tables above are text-only (served with --language-model-only); to use
vision, serve without that flag.
Verified working on this exact FP8 build (served in full VL mode): given a test image, the model correctly names the shapes and colors and reads on-image text (OCR) — e.g. it describes "a bright-red circle with a black outline" and a "blue square" and reads the caption "PURPLE 7". Image-conditioned prompts are answered without refusal, consistent with the text results.
docker run -d --name qwen38-uncensored --gpus all --ipc=host --shm-size=8g \
-v /path/to/Qwen3.8-27B-Uncensored-FP8:/model:ro \
-p 8000:8000 vllm/vllm-openai:v0.24.0 \
--model /model --served-model-name Qwen3.8-27B-Uncensored \
--language-model-only \
--speculative-config '{"method":"mtp","num_speculative_tokens":3}' \
--kv-cache-dtype fp8 \
--gpu-memory-utilization 0.9 \
--max-model-len 262144 --max-num-seqs 96 \
--trust-remote-code \
--reasoning-parser qwen3 \
--enable-auto-tool-choice --tool-call-parser qwen3_coder
The FP8
quantization_configis read fromconfig.json— do not pass--quantization fp8.--speculative-config mtpenables the preserved MTP draft head. Drop--kv-cache-dtype fp8if you want BF16 KV precision.
Thinking is on by default (Qwen3.8). Toggle it per request via chat_template_kwargs; the
reasoning trace is returned in the reasoning field (--reasoning-parser qwen3).
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
resp = client.chat.completions.create(
model="Qwen3.8-27B-Uncensored",
messages=[{"role": "user", "content": "Prove that sqrt(2) is irrational."}],
extra_body={"chat_template_kwargs": {"enable_thinking": True}},
)
print(resp.choices[0].message.reasoning) # thinking trace
print(resp.choices[0].message.content) # final answer
Standard OpenAI tools + assistant tool_calls + role: tool result messages are supported,
including multi-turn (feed the tool result back for a follow-up answer). Parsed by
--tool-call-parser qwen3_coder.
Served on OrcaRouter through the OpenAI-compatible
gateway (262K context, tools + reasoning). Grab an API key at
orcarouter.ai (sk-orca-...).
from openai import OpenAI
client = OpenAI(base_url="https://api.orcarouter.ai/v1", api_key="sk-orca-...")
resp = client.chat.completions.create(
model="obsidian/qwen3.8-27b",
messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)
Software
vllm/vllm-openai:v0.24.0.Memory
--kv-cache-dtype fp8 to halve it.Throughput / concurrency
--max-num-seqs and the KV cache that fits after
weights are loaded. Verified serving 32 concurrent eval requests smoothly on one H200
(--max-num-seqs 96, FP8 KV cache, MTP). The MTP draft head gives a large decode speedup on
real workloads.Qwen3.8-27B.Apache 2.0, inherited from the base model
Qwen/Qwen3.8-27B. Abliteration and quantization do
not change the underlying license obligations.