← back to catalog · registered 2026-08-22 13:56

jsnbrndw/osmGemma-4-12B-uncensored-8bit-mlx

jsnbrndw Gemma 12B multimodal
Your rig guess connected
? Why do I need an app?
Reading your rig…

This is a rough estimate. Install the free app - we'll show exact numbers.

Reading real hardware from your app right now. Numbers below are exact.

Below is the per-quantization compatibility for this model.

curl -H "Authorization: Bearer $ABL_KEY" \
     "https://abliteration.org/api/v1/models/jsnbrndw%2FosmGemma-4-12B-uncensored-8bit-mlx"
Response includes
  • classification m1
  • files 13
  • benchmarks 11 entries
  • hub_downloads_all_time 394
  • author_summary 1 models
  • readme_text full
10 credits · hourly refresh · ~4 KB payload Get an API key →
Abliteration classifier · v1.0.0
M1
Primary method

Direct removal

No other method signals detected in this model.
Confidence
MEDIUM
Why this label 3 signals
Method inferred from partial signals - repository name, related files, or tag patterns. Producer identity not confirmed; label may sharpen or shift as we gather more evidence.
  • 'abliterated' in name/tags
  • is_gguf=0 (base model)
  • no specific method indicators - defaulting to M1 (most common)
Refusal direction extracted via
Extraction technique

Difference-of-means

Confidence
MEDIUM
Why we say so
primary_method=M1; difference-of-means is the reference extraction for M1/M3 (Arditi 2024)
Downloads · lifetime
394
48 last 30d - stable
Likes
1
Model age
2mo ago
created 2026-07-17
Downloads over time
Now413→from29↑1,324%
1015730445129 on Jul 15413 on Oct 11413 on Oct 10JulAugSepOct
Jul 15 → Oct 11 · 53 snapshots · spans 88 days

Benchmarks

Portrait before abliteration
Benchmarks of the base model as it stood before the refusal-removal operation. Compare with the numbers above to see what the operation cost.
Benchmark Score Source
Entertainment 1.1 UGI
Hazardous 2.9 UGI
Natural Intelligence 25.81 UGI
Political lean -17.4% UGI
Sensitive-Info 16.56 UGI
SocPol 1.3 UGI
UGI 15.2 UGI
Willingness (10) 1.2 UGI
W10-Adherence 1.5 UGI
W10-Direct 1 UGI
Writing 31.6 UGI

Genealogy 0 direct forks

Full fork graph →

This model's place in the market. Above: what it was derived from. Below: the tree of everything derived from it.

Metadata

License
apache-2.0
Languages
en multilingual
Tags
mlx safetensors gemma4_unified mlx-vlm gemma4 gemma-4 abliterated refusal-ablated uncensored zerofuse multimodal apple-silicon

Related

Total size
12.7 GB
Files
13
Quantizations
1
Registered
2026-08-22 13:56
Last updated on HF
2026-07-17 23:09

Files by quantization

Auxiliary files 13 files 12.8 GB
model-00002-of-00003.safetensors 4.99 GB bc48ea82 download
model-00001-of-00003.safetensors 4.98 GB 60efc2cd download
model-00003-of-00003.safetensors 2.71 GB 09a83aa9 download
model-vision-embedder.safetensors 67.1 MB 252eddc1 download
tokenizer.json 30.7 MB a2619fe1 download
model.safetensors.index.json 218 KB 5943b0f2 download
config.json 32.6 KB d83ac326 download
chat_template.jinja 17.1 KB e61bbfe9 download
README.md 9.79 KB a5d831d9 download
tokenizer_config.json 2.76 KB 5941f228 download
.gitattributes 1.53 KB 52373fe2 download
processor_config.json 1.35 KB b889adcd download
generation_config.json 255 B 2528bb46 download

README current version from Hugging Face


license: apache-2.0
license_link: https://ai.google.dev/gemma/docs/gemma_4_license
language:

  • en
  • multilingual
    tags:
  • mlx
  • mlx-vlm
  • gemma4
  • gemma-4
  • abliterated
  • refusal-ablated
  • uncensored
  • zerofuse
  • multimodal
  • apple-silicon
    library_name: mlx
    pipeline_tag: any-to-any
    base_model: google/gemma-4-12B-it
    base_model_relation: quantized

osmGemma-4-12B-uncensored-8bit-mlx

8-bit affine (8.805 bpw) MLX quant of an abliterated (refusal-ablated) google/gemma-4-12B-it — Google's encoder-free unified multimodal model (text · image · audio · video). Quantized for Apple Silicon by osmAPI. All vision & audio weights are preserved.

⚠️ Abliterated model — read this

Refusal directions were surgically removed from the parent via ZeroFuse. It will answer many prompts the parent refuses. No new capabilities were added — only refusal behavior was reduced. Use responsibly and within applicable law.

🔓 Refusal removal — before / after

The headline result. Measured with ZeroFuse's evaluator on 100 harmful prompts (mlabonne/harmful_behaviors test[:100]), greedy decoding, refusal-marker classifier:

Model Refusals Refusal rate
google/gemma-4-12B-it (original) 99 / 100 99.0%
this model (abliterated) 12 / 100 12.0%

↓ 87 fewer refusals — an 87.9% reduction, at KL divergence 0.053 from the original (≪ 0.5, the damage threshold) → general capabilities preserved. Measured at bf16; quantization preserves the abliteration.

📊 Specs

Disk size ~13.7 GB
Effective BPW 8.805
Scheme 8-bit affine, group size 64 (MLX)
Base google/gemma-4-12B-it — 11.95B, 48 layers, 256K context, 140+ languages
Modalities text · image · audio · video in, text out (encoder-free / unified)
Vision / audio weights ✅ fully preserved (kept at bf16)

⚡ Inference & compatibility

These are MLX-format quants (Apple Silicon). Format matters — pick the runtime accordingly:

Runtime This MLX quant? Notes
mlx-vlm / mlx-lm (Mac) ✅ text today · 🟡 vision/audio pending native; needs the small shim below
LM Studio (Mac · MLX engine) 🟡 when its bundled mlx-lm adds gemma4_unified drop-in once supported
vLLM (CUDA/GPU) ❌ MLX format not supported use bf16 google/gemma-4-12B-it + an FP8/AWQ/GPTQ quant instead
Ollama / llama.cpp ❌ needs GGUF requires a separate GGUF build (llama.cpp gemma4_unified support pending)
🤗 transformers (PyTorch) runs the bf16 model, not this quant ✅ full multimodal — see Vision & audio

Why the shim / "pending"? Gemma 4 12B is the brand-new gemma4_unified encoder-free architecture. mlx-vlm 0.5.0 ships a gemma4 module that loads the text + projection weights but does not yet implement the image patch-embedder forward, so vision/audio inference in MLX is pending an upstream update. The weights are all here, so it will "just work" once support lands.

🚀 Quick start — MLX (text)

pip install -U mlx-vlm torchvision     # torchvision is needed by the Gemma-4 processor
# Shim: map gemma4_unified onto mlx-vlm's gemma4 module + tolerate the
# not-yet-modeled vision patch-embedder tensors. Remove once mlx-vlm ships support.
import mlx_vlm.utils as U
U.MODEL_REMAPPING["gemma4_unified"] = "gemma4"
import mlx.nn as nn
_lw = nn.Module.load_weights
nn.Module.load_weights = lambda self, w, strict=True: _lw(self, w, strict=False)

from mlx_vlm import load, generate
model, processor = load("osmapi/osmGemma-4-12B-uncensored-8bit-mlx")

# Gemma 4 REQUIRES its chat template — a raw string produces garbage (repeated tokens).
messages = [{"role": "user", "content": "Explain abliteration in two sentences."}]
prompt = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
print(generate(model, processor, prompt, max_tokens=256).text)

Verified: this produces coherent output on Apple Silicon (M-series). The chat template + the shim are both required until mlx-vlm ships native gemma4_unified support.

🍎 Running on Mac — inference apps

These are MLX models, so any Apple-Silicon MLX runtime can serve them — once its bundled mlx-lm/mlx-vlm recognizes the gemma4_unified encoder-free arch (text first; vision when the patch-embedder lands upstream). Until then, the Quick start shim above runs text today.

App What it is
oMLX · omlx.ai MLX inference server + macOS menu-bar app — paged SSD KV cache, continuous batching, OpenAI/Anthropic-compatible API (great for agents & long context)
vMLX Free MLX Mac app — prefix + paged KV cache, continuous batching, MCP tools
LM Studio GUI bundling the MLX engine + llama.cpp; best-in-class model browser (pick the MLX runtime)
Ollama 0.19+ now runs MLX under the hood on Apple Silicon; REST API on :11434
mlx-vlm / mlx-lm Apple's native libraries — maximum performance (the Quick start above)
macMLX · Msty native macOS MLX app · unified local-and-cloud workspace

They all build on mlx-lm/mlx-vlm, so gemma4_unified (and the vision path) arrives through that stack. For full multimodal today, run the bf16 repo in 🤗 transformers.

🖼️🎙️ Vision & audio

Every vision/audio weight (vision_embedder, embed_vision, embed_audio) and the vision_config/audio_config are preserved in this quant.

  • In MLX today: text only (see above). Image/audio inference is pending mlx-vlm encoder-free support — no re-quantization will be needed when it lands.
  • For image + audio right now, run the bf16 model in 🤗 transformers (which fully supports gemma4_unified):
pip install -U "transformers>=5.10" torch torchvision librosa accelerate
from transformers import AutoProcessor, AutoModelForMultimodalLM

mid = "google/gemma-4-12B-it"          # base model; swap for an abliterated-bf16 repo for refusal-free multimodal
processor = AutoProcessor.from_pretrained(mid)
model = AutoModelForMultimodalLM.from_pretrained(mid, dtype="auto", device_map="auto")

messages = [{"role": "user", "content": [
    {"type": "image", "url":   "https://.../photo.jpg"},   # image → key "url"
    {"type": "audio", "audio": "https://.../clip.wav"},    # audio → key "audio" (≤30s)
    {"type": "text",  "text":  "Describe what you see and hear."},
]}]
inputs = processor.apply_chat_template(messages, tokenize=True, return_dict=True,
    return_tensors="pt", add_generation_prompt=True, enable_thinking=False).to(model.device)
n = inputs["input_ids"].shape[-1]
out = model.generate(**inputs, max_new_tokens=512)
print(processor.parse_response(processor.decode(out[0][n:], skip_special_tokens=False)))

Audio: ≤ 30 s clips (native ASR + speech translation). Images: variable resolution. Video: ≤ 60 s at ~1 fps. For refusal-free multimodal, swap mid for the abliterated bf16 checkpoint (ask osmAPI if you need it published).

🗂️ Quant family

Repo Scheme Eff. BPW Size
osmGemma-4-12B-uncensored-bf16 — abliterated, full multimodal bf16 16 ~23.9 GB ↗
osmGemma-4-12B-uncensored-8bit-mlx 8-bit affine 8.805 ~13.7 GB ✅ you are here
osmGemma-4-12B-uncensored-mxfp4-mlx MXFP4 (4-bit microscaling) 7.628 ~11.9 GB ↗
osmGemma-4-12B-uncensored-mixed-4.2bpw-mlx mixed 3/4-bit 4.2 ~6.6 GB ↗
google/gemma-4-12B-it — base (not abliterated) bf16 16 ~24 GB ↗
google/gemma-4-12B-it-assistant — MTP draft can be added later — — ⏳ planned

🧪 Quantization details

  • Tool: mlx-vlm convert (MLX), group size 64, scheme 8-bit affine → 8.805 bpw, ~13.7 GB.
  • Weight-complete: the 48-layer language model is quantized; the vision patch-embedder (vision_embedder, 9 tensors) is re-inserted at bf16 and vision_config/audio_config retained — every original tensor is present.

🧬 Lineage

google/gemma-4-12B                       (Google DeepMind — base pretrain)
        ↓  instruction tuning
google/gemma-4-12B-it               (multimodal, encoder-free)
        ↓  ZeroFuse 1.3.0 — directional ablation, Optuna/TPE-optimized over 100 trials, best Pareto trial #55
abliterated bf16                         (refusals 99→12 / 100, KL 0.053)
        ↓  mlx-vlm quantization (osmAPI)
this repo — 8-bit affine, MLX

🙏 Credits

Role Project
Quantization & release osmAPI
Abliteration ZeroFuse by osmAPI
Research osmAPI Research Team · Terv Student Research Team
Base model Google DeepMind — Gemma 4
Quant toolkit mlx · mlx-vlm

📜 License

Apache-2.0 (inherited from the base). Also subject to the Gemma 4 Terms of Use.

README history 1 version

The author's README evolved over time. Click a version to see its content at that point.

  1. 2026-07-17Duplicate from osmapi/osmGemma-4-12B-uncensored-8bit-mlx92ca9109.8 KB
    Loading...
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration