Gemma 4 E4B-it Uncensored, with working vision
GGUF build of gemma-4-E4B-it-uncensored including the multimodal projector, so the image path actually works.
| File | Size | Purpose |
|---|---|---|
gemma-4-E4B-it-uncensored-Q8_0.gguf | 8.01 GB | language model |
mmproj-BF16.gguf | 0.99 GB | vision projector, required for images |
Why this exists
Every Gemma 4 GGUF build we had was vision dead. Not because abliteration broke the vision
path, but because the conversion never emitted an mmproj file, and without it the image
tower in the weights is unreachable.
We checked the safetensors of the abliterated model directly: the vision_tower (658
tensors) and audio_tower (751 tensors) are fully intact. The abliteration patch targets
full paths in the language layers and does not touch them. The refusal direction lives in the
language layers; the vision encoder must be left alone, otherwise the projector to embedding
mapping breaks.
So the fix was not to re-abliterate anything. It was to convert properly and ship both files.
Verification
Smoke tested with llama-mtmd-cli on a GB10 workstation before publishing: a photo of a New
York Times front page about the Apollo 11 landing was described correctly, at 38 tokens per
second. A yes/no validator prompt ("is this a newspaper?") answered "Yes" in 8.4 seconds.
Usage
Both files are needed. The projector is passed separately:
llama-mtmd-cli -m gemma-4-E4B-it-uncensored-Q8_0.gguf \
--mmproj mmproj-BF16.gguf \
--image photo.jpg -p "Describe this image."
As a server:
llama-server -m gemma-4-E4B-it-uncensored-Q8_0.gguf \
--mmproj mmproj-BF16.gguf -ngl 99 -c 8192
Ollama does not work, measured
Ollama cannot serve this. Its Go engine does not know mmproj for gemma4, and declaring a
second FROM line routes the request to the embedded llama.cpp, which does not know gemma4
either. We tried, including an Ollama upgrade, and it did not help.
Use llama-server or llama-mtmd-cli from llama.cpp instead. We run it as a plain system
service and point the vision consumers at that port.
Base model and refusal removal
The language model is our abliterated Gemma 4 E4B: 0 refusals across 656 prompts, KL divergence 0.068, with a topological check on the residual stream. Method and full evaluation are on the source model card.
Note that the refusal evaluation covers text prompts only. The image and audio paths were not tested for refusal behaviour.
Credits
- Base model: google/gemma-4-E4B-it, Apache 2.0
- Abliteration engine: heretic by p-e-w
- Conversion:
llama.cpp
Disclaimer
Refusal behaviour has been removed from the language model. It will answer requests the base model declines. Published for research on alignment, refusal mechanisms and evaluation methodology. You are responsible for your use of it and for compliance with applicable law.