How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("image-text-to-text", model="mlabonne/gemma-3-27b-it-abliterated")
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
            {"type": "text", "text": "What animal is on the candy?"}
        ]
    },
]
pipe(text=messages)
# Load model directly
from transformers import AutoProcessor, AutoModelForMultimodalLM

processor = AutoProcessor.from_pretrained("mlabonne/gemma-3-27b-it-abliterated")
model = AutoModelForMultimodalLM.from_pretrained("mlabonne/gemma-3-27b-it-abliterated", device_map="auto")
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
            {"type": "text", "text": "What animal is on the candy?"}
        ]
    },
]
inputs = processor.apply_chat_template(
	messages,
	add_generation_prompt=True,
	tokenize=True,
	return_dict=True,
	return_tensors="pt",
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=40)
print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

πŸ’Ž Gemma 3 27B IT Abliterated

image/png

Gemma 3 1B Abliterated β€’ Gemma 3 4B Abliterated β€’ Gemma 3 12B Abliterated

This is an uncensored version of google/gemma-3-27b-it created with a new abliteration technique. See this article to know more about abliteration.

I was playing with model weights and noticed that Gemma 3 was much more resilient to abliteration than other models like Qwen 2.5. I experimented with a few recipes to remove refusals while preserving most of the model capabilities.

Note that this is fairly experimental, so it might not turn out as well as expected.

I recommend using these generation parameters: temperature=1.0, top_k=64, top_p=0.95.

⚑️ Quantization

βœ‚οΈ Layerwise abliteration

image/png

In the original technique, a refusal direction is computed by comparing the residual streams between target (harmful) and baseline (harmless) samples.

Here, the model was abliterated by computing a refusal direction based on hidden states (inspired by Sumandora's repo) for each layer, independently. This is combined with a refusal weight of 1.5 to upscale the importance of this refusal direction in each layer.

This created a very high acceptance rate (>90%) and still produced coherent outputs.

Downloads last month
2,760
Safetensors
Model size
27B params
Tensor type
BF16
Β·
Inference Providers NEW
Input a message to start chatting with mlabonne/gemma-3-27b-it-abliterated.

Model tree for mlabonne/gemma-3-27b-it-abliterated

Finetuned
(451)
this model
Adapters
5 models
Finetunes
11 models
Merges
2 models
Quantizations
25 models

Spaces using mlabonne/gemma-3-27b-it-abliterated 14

Collection including mlabonne/gemma-3-27b-it-abliterated