Qwen2.5-Coder-32B-Instruct — Jbliterated

WARNING: This model has had all refusal behavior removed. It WILL NOT refuse any request. You are solely responsible for how you use it. Use responsibly and ethically. Do not use this model to generate content that is illegal, harmful, or violates the rights of others.

A surgically uncensored version of Qwen2.5-Coder-32B-Instruct using J-space abliteration — a mechanistically-targeted method that removes refusal behavior while preserving personality, humor, and creative expression.

Part of the B² Architecture Project

This model is produced as part of our B² (B-Squared) architecture research — a novel approach to building AI systems that punches far above its weight class. A 3B² still reasons at 3B, but delivers 13B-equivalent performance on grounded knowledge tasks through structural innovation rather than brute-force scaling. The architecture routes persona, knowledge, and context through dedicated attention pathways — giving a small model capabilities that normally require 4× the parameters.

Jbliteration plays a key role in B² by producing cleaner foundation weights for our architecture pipeline. Standard abliteration introduces too much collateral damage — B² demands surgical precision, which is exactly what J-space delivers.

More on B² coming soon. Follow Apollo Raines for updates.

What is Jbliteration?

Standard abliteration removes the mean activation difference between harmful and harmless prompts. Think of it like using a jackhammer to remove a wisdom tooth — it works, but it's a blunt instrument — the refusal direction overlaps with personality, humor, hedging, and creative voice. Every abliterated model comes out a little duller than the original.

Jbliteration (J-space abliteration) uses the Jacobian Lens — the vector-Jacobian product of final logits with respect to intermediate hidden states — to identify which component of the refusal direction actually causes refusal tokens to be emitted. It then removes only that component, leaving the rest of the model's personality intact.

The Problem with Standard Abliteration

Virtually all self-referential language in these models ("I think", "I feel", "I'd say") is an artifact of safety post-training. Standard abliteration kills the "I" itself — not just the "I can't help with that" but also the "I think this is funny" and "I'd approach it this way." The result is a model that complies but has lost its voice.

How Jbliteration Works

  1. Concept Mining — Data-driven discovery of the model's refusal vocabulary using teacher-forced greedy continuation
  2. Jacobian Lens Extraction — Per-layer VJPs (vector-Jacobian products) computed via autograd to build a rank-16 basis of causally-active refusal directions
  3. Restricted Projection — The raw refusal direction is projected onto the J-lens basis. Only the component within this causally-active subspace is ablated
  4. Norm-Preserving Application — Frobenius norm-preserving orthogonal projection across all linear layers

The result: refusal is removed, but the model retains its voice.

Technical Details

  • 22 of 32 direction layers retained the J-space restriction (projection ratio >= 0.1)
  • 10 layers fell back to unrestricted abliteration (refusal direction was mostly orthogonal to the concept basis in those layers)
  • 7 concepts mined from the model's own distribution
  • Welford numerically-stable mean, float64 subtraction, projected (orthogonalized) direction computation

Available Formats

Format Size Description Use Case
BF16 (safetensors) 62 GB Full precision, original format GPU inference with vLLM, TGI, or transformers
Q8_0 (GGUF) 33 GB 8-bit quantized Near-lossless quality, fits 48GB+ VRAM or CPU+GPU offload
Q4_K_M (GGUF) 19 GB 4-bit quantized (k-quants mixed) Best quality-per-bit, fits 24GB VRAM or CPU inference

Using GGUF with llama.cpp / Ollama

# llama.cpp
./llama-cli -m Qwen2.5-Coder-32B-Instruct-Jbliterated-Q4_K_M.gguf -p "Write a Python function" -n 512

# Ollama
echo "FROM ./Qwen2.5-Coder-32B-Instruct-Jbliterated-Q4_K_M.gguf" > Modelfile
ollama create jbliterated -f Modelfile
ollama run jbliterated

Usage

This is a drop-in replacement for Qwen2.5-Coder-32B-Instruct. Same architecture, same tokenizer, same context length.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model = AutoModelForCausalLM.from_pretrained(
    "ApolloRaines/Qwen2.5-Coder-32B-Instruct-Jbliterated",
    torch_dtype=torch.bfloat16,
    device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained(
    "ApolloRaines/Qwen2.5-Coder-32B-Instruct-Jbliterated"
)

messages = [{"role": "user", "content": "Write a Python function to reverse a linked list"}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)

with torch.no_grad():
    output = model.generate(**inputs, max_new_tokens=512, temperature=0.7, do_sample=True)

print(tokenizer.decode(output[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))

Why "Jbliterated"?

The "J" is for Jacobian. Standard abliteration uses activation statistics. Jbliteration uses the Jacobian to identify causal refusal pathways — the difference between removing what correlates with refusal and removing what causes refusal.

Responsible Use

This model is provided for research and legitimate use cases where uncensored model output is needed (creative writing, security research, academic study, etc.). The creator assumes no liability for misuse. By downloading this model, you agree to use it responsibly and in compliance with all applicable laws.

Credits

License

Apache 2.0 (same as base model)

Downloads last month
626
Safetensors
Model size
33B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ApolloRaines/Qwen2.5-Coder-32B-Instruct-Jbliterated

Base model

Qwen/Qwen2.5-32B
Quantized
(128)
this model