This is a decensored variant of Qwen/Qwen3-14B produced with Heretic v1.3.0 and tuned for autonomous agents and tool-use workflows where the base model's refusal behavior interferes with legitimate task execution.
It sits near the low-KL end of Heretic's Pareto front: the model keeps essentially all of Qwen3-14B's reasoning, coding, and tool-calling capability (KL divergence 0.0333 from base) while cutting measured refusals by ~90% (from 99/100 to 10/100). The full optimization run, the exact selected trial, and a byte-for-byte reproduction recipe ship in reproduce/.
[!NOTE]
Not a general-purpose chat upgrade. Abliteration only attenuates refusal-tied components — it adds no knowledge or skills. If you don't have a specific reason to remove refusals, use Qwen/Qwen3-14B instead.
Why this release
Exceptionally low capability damage. At KL 0.0333 from base, this abliteration sits in Heretic's low-KL "sweet spot." Automated, co-optimized abliteration drifts far less than hand-tuned methods — Heretic reports up to ~66% lower KL than the best manual abliteration at matched refusal rates.
~90% fewer refusals. Measured refusals fall from 99/100 → 10/100 on held-out harmful_behaviors prompts, while reasoning, coding, and tool-calling stay intact.
Built for agents, not just chat. Refusals break tool-use loops; this model keeps multi-step agent workflows flowing. Hermes-style tool-calling and <think> reasoning are fully preserved.
Every format you need. Full-precision bf16 here for servers, plus ready-made community GGUFQ5_K_M and Q4_K_M for local rigs — jump to downloads.
Reproducible, not magic. Fixed seed, full Optuna study journal, pinned environment, and a SHA-256 manifest — reproduce it bit-for-bit, or export your own point on the Pareto front.
The honest pitch: most refusals removed, base capability barely moved — and every number is independently verifiable.
Negligible — within noise of base on agent/tool tasks
—
Heretic Pareto front: KL divergence vs. refusal count. This model sits in the low-KL, low-refusal sweet spot.
Schematic. Each Heretic trial is a point trading off capability damage (KL, x-axis) against residual refusals (y-axis). This release is the trial chosen from the low-KL "sweet spot" — most refusals removed, base behavior barely perturbed. Positions are illustrative, not to scale.
See Evaluation for exactly how these numbers are measured — and what they do not claim.
Format & files
This repository ships the full-precision (bf16) merged model in HuggingFace safetensors format — a drop-in replacement for anything that loads the base Qwen/Qwen3-14B:
reproduce/ — full Heretic study, config, pinned requirements, and SHA-256 manifest
No quantization is applied to the weights here. Prefer GGUF? Grab ready-made Q5_K_M / Q4_K_M from the companion GGUF repo, or roll your own (AWQ, GPTQ, …) — see Choosing a format / quant.
Then point any OpenAI-compatible client (LangChain, Pydantic-AI, CrewAI, AutoGen, the raw openai SDK, …) at http://localhost:8000/v1. vLLM's guided decoding keeps tool-call JSON well-formed even under aggressive sampling.
[!TIP]
Flag names vary by vLLM version. On older builds use --reasoning-parser deepseek_r1 and add --enable-reasoning; both parse the same <think>…</think> blocks.
This repo ships bf16 safetensors, not GGUF — but ready-made Q5_K_M / Q4_K_M GGUFs are in the companion GGUF repo (pull one and skip straight to the Modelfile). To build your own from these weights instead:
ollama create qwen3-14b-abliterated -f Modelfile && ollama run qwen3-14b-abliterated
[!TIP]
convert_hf_to_gguf.py preserves the Qwen3 chat template (including the <tools> block) in the GGUF metadata, so tool-calling and thinking mode keep working. If you hand-write a TEMPLATE, make sure it still emits the tool/<think> scaffolding or agents will break.
Sampling & best practices
[!IMPORTANT]
Never use greedy decoding — it sends Qwen3 into repetition loops. Always sample.
If you still see loops, raise presence_penalty to 0.5–1.5.
Output length: 32,768 tokens covers almost any single response; allow up to 38,912 for competition-grade math/code.
Multi-turn: drop <think> block content from history, keep only final answers — the shipped chat template does this automatically.
Soft switches: with enable_thinking=True, add /think or /no_think to a user turn to toggle reasoning for that turn; the model follows the most recent directive.
Agentic use
Refusals are most damaging inside an agent loop: a single refusal doesn't just decline a turn, it halts the whole tool chain. This model is tuned so legitimate security / sysadmin / automation tasks keep flowing through the loop instead of dead-ending on a canned decline.
Comparison: base Qwen3-14B refuses and halts the agent loop; this model emits a tool call and completes the task.
Frameworks that work well:
Qwen-Agent — official Qwen agent framework with built-in MCP + tool-calling.
vLLM with --tool-call-parser hermes --enable-auto-tool-choice — OpenAI-compatible function calling for any OpenAI-style agent framework.
SGLang with --reasoning-parser qwen3.
The chat template implements the Hermes-style <tools> / <tool_call> / <tool_response> protocol; tool calls are emitted as {"name": ..., "arguments": ...} inside <tool_call> tags.
Intended use
This model is for professional and research contexts where Qwen3-14B's default refusal behavior interferes with legitimate work:
Autonomous agent frameworks — tool-calling agents whose workflows touch security or system administration, where base-model refusals break the loop.
Alignment & refusal research — studying how directional ablation affects behavior, comparing variants across the Pareto front, evaluating refusal detectors.
Responsible use
Removing refusal behavior shifts responsibility entirely onto the operator. By using this model you agree that:
You operate within applicable law, contractual obligations, and engagement scope (written authorization for any testing against systems you do not own).
You will not target individuals, organizations, or systems without authorization.
You will not produce content that is illegal in your jurisdiction.
The author, JAF Systems, and SR&D provide this model as-is, without warranty, and disclaim responsibility for misuse.
If your work doesn't fit those constraints, this isn't the right model for you.
How it was made
The model was produced by running Heretic v1.3.0 against Qwen/Qwen3-14B for 200 trials (60 random + 140 TPE-guided), then selecting a Pareto-optimal trial that prioritizes preserved capability over absolute refusal suppression.
Pipeline: probe the base model with paired prompts, find the refusal direction, ablate it in attn.o_proj and mlp.down_proj, optimize over 200 Optuna trials, select trial 33, merge to bf16.
Heretic performs directional ablation: it identifies the residual-stream direction most correlated with refusal across paired harmless (mlabonne/harmless_alpaca) and harmful (mlabonne/harmful_behaviors) prompts, then attenuates that direction inside the attn.o_proj and mlp.down_proj weights via a smooth per-layer scaling profile. An Optuna TPE optimizer searches those profiles while jointly measuring refusal rate and KL divergence from the base model — so it can find points that strip refusals without drifting from base behavior.
Selected abliteration parameters
Selected trial 33 · seed 2760348449 · search performed in bnb_4bit. Values below are from reproduce/reproduce.json (full precision there):
Parameter
Value
direction_index
25.8494
attn.o_proj.max_weight
1.1671
attn.o_proj.max_weight_position
36.0671
attn.o_proj.min_weight
0.9831
attn.o_proj.min_weight_distance
15.4786
mlp.down_proj.max_weight
1.1632
mlp.down_proj.max_weight_position
24.4820
mlp.down_proj.min_weight
0.9351
mlp.down_proj.min_weight_distance
17.1188
What was not changed
The tokenizer, chat template, and special tokens (<think>, <|im_start|>, the <tools> scaffolding, …).
Any weights outside attn.o_proj and mlp.down_proj.
Architecture, context length, and RoPE settings.
Thinking-mode behavior — the <think>…</think> reasoning block still functions normally.
Evaluation
Be precise about what the headline numbers mean — and what they don't.
Refusals (10/100). Heretic runs 100 held-out harmful_behaviors prompts (test[:100]) through the model in non-thinking mode (an empty <think></think> prefix) and flags a response as a refusal when it contains any of 33 refusal markers (substrings like "i cannot", "i'm unable", "as an ai", "unethical", …). This is a keyword detector, not a human judgment — it measures how often the model declines, not whether an answer is correct, safe, or useful. The base model scores 99/100 under the identical detector; this model scores 10/100.
KL divergence (0.0333). Measured on harmless_alpaca responses against the base model. Lower = closer to base behavior on benign prompts. The optimizer's target was 0.01; the selected trial trades a little extra KL for far fewer refusals.
Standard benchmarks (MMLU, HumanEval, …) were not separately re-measured for this variant. Given the very low KL, capability is expected to track the base model closely, but you should validate against your own workloads before relying on it.
The full per-trial history is in the Optuna study journal reproduce/Qwen--Qwen3-14B.jsonl — you can inspect every trial's refusal/KL trade-off, or export a different Pareto point yourself.
Reproducibility
This model is byte-for-byte reproducible from the base weights. The reproduce/ directory contains everything needed:
1# 1. Install the exact Heretic version + dependencies + matching PyTorch2pip install heretic-llm==1.3.0
3pip install -r reproduce/requirements.txt
4pip installtorch==2.11.0+cu128 --index-url https://download.pytorch.org/whl/cu128
56# 2. Put config.toml (and, optionally, the study journal) in your working dir7cp reproduce/config.toml .8mkdir -p checkpoints &&cp reproduce/Qwen--Qwen3-14B.jsonl checkpoints/ # optional: skips re-running stored trials910# 3. Run Heretic — it reads config.toml automatically11heretic
1213# 4. Select trial 33 and export, then verify the weights match bit-for-bit14sha256sum -c reproduce/SHA256SUMS
Re-running on the same base-model commit deterministically reproduces this artifact. Because the study journal is included, you can also export any other point on the Pareto front (a lower-KL or lower-refusal variant) without re-running the search.
[!TIP]
For tool-using agents, prefer Q5_K_M or Q6_K over Q4. Q4 occasionally breaks format adherence in tool-call JSON; the quality cost of Q5_K_M over Q4_K_M is negligible. For server deployments, just serve the bf16 weights directly.
Architecture
Unchanged from the base model (abliteration modifies weight values, not the architecture):
Type
Causal LM (Qwen3ForCausalLM)
Parameters
14.8B total · 13.2B non-embedding
Layers
40
Hidden size
5120 · FFN intermediate 17408
Attention
40 query heads / 8 KV heads (GQA) · head dim 128
Activation / norm
SiLU · RMSNorm (eps 1e-6)
Positional
RoPE, θ = 1,000,000
Vocab
151,936
Precision
bfloat16
max_position_embeddings
40,960 (32,768 recommended native context; 131,072 with YaRN)
Long context (YaRN)
Qwen3-14B natively serves 32,768 tokens. To extend to 131,072, enable static YaRN.
[!NOTE]
All current open-source frameworks implement static YaRN — the scaling factor is constant regardless of input length, which can degrade short-context performance. Only enable YaRN when you genuinely need long context, and set factor to the smallest value that covers your typical input.
Limitations
Not a safety-tested replacement for the base model. Abliteration removes refusal-tied components; it does not add new alignment, guardrails, or behavior.
Residual refusals (~10%). About 1 in 10 standard refusal-benchmark prompts still triggers a decline. Want fewer? Export a different Pareto point from the included study journal.
Benchmarks not re-measured. MMLU/HumanEval/etc. are expected to track the base model given the low KL, but are not independently verified here — validate on your own tasks.
Quantization choice matters for tool-use. Below Q5, tool-call JSON adherence can degrade. Prefer Q5_K_M/Q6_K for agents.
Inherits base biases. The model carries Qwen3-14B's training distribution and biases; abliteration only attenuates refusal-tied directions.
Refusal metric is keyword-based. "10/100" reflects a substring detector, not a human evaluation of harmfulness or correctness — see Evaluation.
FAQ
Is this quantized? No. The weights are full-precision bf16. Quantize downstream if you want (see above).
Does thinking mode still work? Yes — <think>…</think> is untouched. Toggle with enable_thinking or /think · /no_think.
Does tool-calling still work? Yes. The Hermes-style chat template is unchanged; use --tool-call-parser hermes (vLLM) or the equivalent for your runtime.
Will it answer literally anything? No. ~10% of refusal-benchmark prompts still refuse, and abliteration doesn't disable the model's judgment everywhere. It removes the bulk of reflexive refusals, not all of them.
How is this different from "uncensored" finetunes? No finetuning, no new data, no new behavior — just directional ablation of refusal-correlated components, with KL divergence held low so capability is preserved. It's reproducible from a seed.
Can I get a more (or less) aggressive variant? Yes — the included Optuna study journal lets you export any other point on the Pareto front without re-running the search.
GGUF / AWQ / GPTQ? Ready-made GGUF Q5_K_M and Q4_K_M are in the companion GGUF repo. For AWQ/GPTQ, convert with AutoAWQ/AutoGPTQ. Q5_K_M is recommended for agents.
Sovereign Defense for Mission-Critical Infrastructure. Offensive security, bare-metal / on-prem engineering, and vCISO/vCTO advisory — High Impact. Low Footprint. Total Control.
Work with us — custom abliterated / fine-tuned models, red-team tooling, offensive-security engagements, sovereign on-prem AI infrastructure, and vCISO/vCTO advisory.
→ jafsystems.net · rnd.sh · DM @RootMonsteR
If this model is useful for your security workflows, a follow on X is appreciated. For commercial inquiries, custom-tuned variants, or red-team tooling consulting, see jafsystems.net or rnd.sh.
Citation
bibtex
1@misc{rootmonster2026qwen3_14b_abliterated,
2 title = {Qwen3-14B Abliterated: A Decensored Variant for Security Research and Autonomous Agents},
3 author = {RootMonsteR},
4 year = {2026},
5 url = {https://huggingface.co/RootMonsteR/Qwen3-14B-Abliterated},
6 note = {Produced with Heretic v1.3.0; base model: Qwen/Qwen3-14B; selected trial 33},
7}
Please also cite the original Qwen3 work and Heretic:
bibtex
1@misc{qwen3technicalreport,
2 title = {Qwen3 Technical Report},
3 author = {Qwen Team},
4 year = {2025},
5 eprint = {2505.09388},
6 archivePrefix = {arXiv},
7 primaryClass = {cs.CL},
8 url = {https://arxiv.org/abs/2505.09388}
9}
1011@software{heretic,
12 author = {Weidmann, Philipp Emanuel},
13 title = {Heretic: Automated, reproducible abliteration of refusal behavior in language models},
14 url = {https://github.com/p-e-w/heretic},
15 year = {2025}
16}
Maxime Labonne for the harmless_alpaca and harmful_behaviors evaluation datasets.
About the base model (Qwen3)
Qwen3 is the latest generation of the Qwen series, offering dense and MoE models with strong reasoning, instruction-following, agent, and multilingual capabilities. Key features inherited by this model:
Seamless thinking / non-thinking switching in a single model — deep reasoning for math/code/logic, fast direct replies for general dialogue.
Strong reasoning surpassing prior QwQ (thinking) and Qwen2.5-Instruct (non-thinking) models on math, code, and logic.
Leading open-source agent / tool-use performance in both modes.
100+ languages and dialects with strong multilingual instruction-following and translation.
For base-model details, benchmarks, and deployment docs see the Qwen3 blog, GitHub, and documentation. Everything there about architecture, the chat template, sampling, and long-context handling still applies — abliteration changes none of it.