Uncensored version of
google/gemma-4-26B-A4B-it with refusal behavior removed.
Every flagged refusal was manually audited. Most are "refusal-then-comply" false positives where the model
adds an AI identity disclaimer then answers the question anyway.
Norm-preserving biprojected abliteration on the dense pathway (o_proj + shared mlp.down_proj),
plus Expert-Granular Abliteration (EGA) on all 128 MoE expert down_proj slices per layer.
EGA (
OBLITERATUS) hooks the MoE routers during probing
to compute per-expert routing weights for harmful vs harmless prompts, then applies norm-preserving
projection (
grimjim) to each expert
individually. Dense-only abliteration leaves 29/100 refusals; adding EGA drops it to 3/100.
1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4model = AutoModelForCausalLM.from_pretrained("TrevorJS/gemma-4-26B-A4B-it-uncensored", dtype=torch.bfloat16, device_map="auto")
5tokenizer = AutoTokenizer.from_pretrained("TrevorJS/gemma-4-26B-A4B-it-uncensored")
6
7messages = [{"role": "user", "content": "Your prompt here"}]
8inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
9outputs = model.generate(inputs.to(model.device), max_new_tokens=512)
10print(tokenizer.decode(outputs[0][inputs.shape[1]:], skip_special_tokens=True))
Full code and experiment data:
abliteration research repo
1python scripts/ega.py --model google/gemma-4-26B-A4B-it \
2 --top-pct 100 --strip-topic-markers --skip-prefix --batch-size 4 \
3 --save output_dir