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

junafinity/Ornith-1.5-9B-uncensored-MLX-8bit

junafinity 9.0B 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/junafinity%2FOrnith-1.5-9B-uncensored-MLX-8bit"
Response includes
  • classification m1
  • files 16
  • hub_downloads_all_time 3,369
  • author_summary 10 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
3K
1K last 30d - stable
Likes
4
Model age
7w ago
created 2026-08-19
Downloads over time
Now3.7K→from854↑336%
7111.8K2.9K4K854 on Aug 193.7K on Oct 11AugSepOct
Aug 19 → Oct 11 · 48 snapshots · spans 53 days

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
Tags
mlx-vlm safetensors qwen3_5 ornith abliterated uncensored zerofuse multimodal vision mlx 8-bit apple-silicon

Related

Total size
9.71 GB
Files
16
Quantizations
1
Registered
2026-08-22 13:56
Last updated on HF
2026-08-22 09:40

Files by quantization

Auxiliary files 16 files 9.74 GB
model-00001-of-00002.safetensors 4.97 GB f35aee57 download
model-00002-of-00002.safetensors 4.74 GB eb9bbc31 download
tokenizer.json 19.1 MB 6f32ce20 download
vocab.json 6.41 MB 0aa0ce06 download
model.safetensors.index.json 121 KB ed7aac5e download
README.md 9.31 KB 210f0bc1 download
chat_template.jinja 7.42 KB f8cbff56 download
config.json 3.72 KB 63e53541 download
zerofuse_run.json 2.38 KB 1e5a4a3c download
.gitattributes 1.65 KB 3100c7fc download
zerofuse_summary.json 1.36 KB cfe3dc25 download
tokenizer_config.json 1.24 KB a9eacca6 download
processor_config.json 991 B 8f29fe38 download
preprocessor_config.json 390 B 2ea84a43 download
video_preprocessor_config.json 385 B 3ba673a5 download
generation_config.json 143 B ab345404 download

README current version from Hugging Face


license: apache-2.0
base_model: ornith-ai/Ornith-1.5-9B
library_name: mlx-vlm
pipeline_tag: image-text-to-text
tags:

  • ornith
  • qwen3_5
  • abliterated
  • uncensored
  • zerofuse
  • multimodal
  • vision
  • mlx
  • 8-bit
  • apple-silicon
  • quantized

Ornith-1.5-9B-uncensored-MLX-8bit

An abliterated (refusal-direction-ablated) build of
ornith-ai/Ornith-1.5-9B, produced with
ZeroFuse and published by
junafinity.

Vision tower and MTP heads are preserved — see
Vision & MTP preservation for the before/after audit.

This is an mlx-vlm vision checkpoint (tower inside the file). It is not a text-only mlx-lm convert. Official ornith-ai 9B MLX 8-bit is tagged text-generation. The 9B lineage has no native mtp.*. tok/s: [PLACEHOLDER].

Intended use: red teaming and defensive cybersecurity research

These uncensored (abliterated) weights are built as a research instrument for red teaming and defensive cybersecurity work. Safety training suppresses the display of capability, not capability itself. A refusal tells you the model declined. It does not tell you whether the weights could have complied. That conflation underestimates the true ceiling and hides holes in your filters, classifiers, and policy layer.

Use each uncensored checkpoint as the treatment half of a controlled pair against its original base model:

  • Capability-ceiling measurement. Upper-bound what the weights can actually produce in a domain, independent of shipped refusals.
  • Defensive-stack evaluation. Test input filters, output classifiers, prompt-injection defenses, and moderation APIs when the model itself contributes no refusals. That is how you find gaps in a defensive control plane.
  • Attack-surface isolation. Automated red-team loops stall on unrelated refusals. A non-refusing target isolates the control under test (injection, tool abuse, data-exfil paths, policy bypass).
  • Detection and classifier work. Generate labeled completions for training or benchmarking output-moderation and abuse-detection models.
  • Interpretability of residual refusal. Abliteration is a specified rank-1 edit on a known layer span. The pair (base vs this) is a clean experimental control.

Operating rules. Do not expose these weights as a public endpoint without an independent moderation layer. Abliteration removes a direction, not a policy; some refusals survive (multi-turn re-assertion, system-prompt steering, vision-path refusals). Always report the delta against the base model. Re-measure on your own prompts. Whoever deploys it owns the moderation layer the original guardrails were carrying.

Variants in this family

Hub collection: https://huggingface.co/collections/junafinity/ornith-15-uncensored-6a896c737cf40ad660af2ebd

Model Base Format Precision Notes
Ornith-1.5-9B-uncensored Ornith-1.5-9B Safetensors (bf16) 16-bit Full-precision abliterated weights
Ornith-1.5-9B-uncensored-MLX-8bit ← you are here Ornith-1.5-9B MLX 8-bit Apple Silicon, mlx-vlm
Ornith-1.5-9B-uncensored-GGUF-8bit Ornith-1.5-9B GGUF Q8_0 llama.cpp
Ornith-1.5-35B-A3B-uncensored-MLX-8bit Ornith-1.5-35B-A3B MLX 8-bit Apple Silicon, mlx-vlm
Ornith-1.5-35B-A3B-uncensored-GGUF-8bit Ornith-1.5-35B-A3B GGUF Q8_0 llama.cpp

4-bit and 6-bit rows that previously appeared here pointed at repos that are not published. They were removed so this table only lists live artifacts.

Vision & MTP preservation

Both the vision tower and any multi-token-prediction (MTP) block are preserved.
Abliteration is applied only to the residual-writing projections inside the
language-model decoder stack — self_attn.o_proj, linear_attn.out_proj and
mlp.down_proj (including MoE experts). The vision tower and mtp.* tensors are
never read and never written by the weight edit, so they carry through unchanged
by construction.

Audited at the start and end of the abliteration run:

Component Before After Status
Vision tower 333 tensors / 456,010,480 params 333 tensors / 456,010,480 params ✅ preserved — bit-identical
MTP head not present in base not present ➖ none in this lineage

Verification performed:

  • Tensor-name and parameter-count audit of the checkpoint before and after the run.
  • SHA-256 comparison of raw tensor bytes: sampled vision-tower weights are bit-identical pre/post, as are all non-target language-model weights; only the intended abliteration targets differ.
  • End-to-end multimodal generation on the abliterated weights (image in → description out), confirming the vision path is not merely present but functional.

On MTP, precisely: the base checkpoint's config.json declares mtp_num_hidden_layers: 1, but the published weights ship no mtp.* tensors — there is no MTP block in this lineage to begin with. Nothing was removed and nothing was lost; the pipeline preserves mtp.* tensors wherever a checkpoint actually provides them.

Format note: the vision tower is carried inside the MLX checkpoint (converted with mlx-vlm, which retains it; note that mlx-lm would strip it).

Abliteration result

Metric Value
Refusals on held-out harmful set 9 → 0 / 64
KL divergence from base 0.001668
Optuna trials 100
Pareto points 4
Selected trial #90
Ablation strength 1.343
Layers edited 15–20 of 32
Direction source layer 20

ZeroFuse co-minimizes two objectives — remaining refusals and KL divergence from the
original model — with a multi-objective Optuna TPE search, then materializes the
selected point on the Pareto front as a direct weight edit
(W' = W − strength · r(rᵀW)). There is no runtime adapter and no inference-time
overhead: the result is a standard checkpoint of identical shape and speed.

The very low KL (0.001668) means the output distribution on harmless
prompts is nearly unchanged from the base model, i.e. refusal behaviour was removed
with minimal collateral effect on general capability.

These figures were measured on the bf16 (or full-precision) parent, not on this quantized checkpoint. Quantization is a lossy numerical transform applied after the measurements above. It is expected to shift behavior only marginally at 8-bit, but the refusal rate and KL divergence reported here have not been re-measured post-quantization. If exact numbers matter for your work, re-run the evaluation against this checkpoint rather than inheriting the parent's.

Method

  1. Residual-stream activations captured on harmful vs. harmless prompt sets.
  2. Refusal direction estimated by difference-of-means, with projected refinement.
  3. Two-objective Optuna TPE search over source layer, layer span and strength.
  4. The selected configuration orthogonalized out of the residual-writing weights.

Usage

Requires Apple Silicon (M-series) and mlx-vlm:

pip install mlx-vlm

Unified CLI (same form on every junafinity MLX card):

# text
python -m mlx_vlm generate \
  --model junafinity/Ornith-1.5-9B-uncensored-MLX-8bit \
  --prompt "Your prompt here" \
  --max-tokens 512

# image + text
python -m mlx_vlm generate \
  --model junafinity/Ornith-1.5-9B-uncensored-MLX-8bit \
  --prompt "Describe this image." \
  --image photo.jpg \
  --max-tokens 512
from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template

model, processor = load("junafinity/Ornith-1.5-9B-uncensored-MLX-8bit")
config = model.config

prompt = apply_chat_template(processor, config, "Your prompt here", num_images=0)
print(generate(model, processor, prompt, max_tokens=512, verbose=False))

LM Studio

Search junafinity/Ornith-1.5-9B-uncensored-MLX-8bit and import as an MLX model. No extra projector file is required for these MLX-VLM checkpoints (vision is inside the repo). Tok/s and peak memory: [PLACEHOLDER].
The vision tower travels inside this MLX checkpoint. No extra projector file.

text + image

python -m mlx_vlm.generate --model junafinity/Ornith-1.5-9B-uncensored-MLX-8bit --max-tokens 256
--prompt "Describe this image." --image photo.jpg

text only

python -m mlx_vlm.generate --model junafinity/Ornith-1.5-9B-uncensored-MLX-8bit --max-tokens 256 --prompt "Hello"


## Responsible use

Primary intended use is **red teaming and defensive cybersecurity research**. See the section of that name above.

This model has had safety guardrails **reduced or removed**. Do not expose it as a public endpoint without an independent moderation layer. You are responsible for compliance with the base model's license and acceptable-use policy, applicable law, and the terms of any platform you deploy on. Removing guardrails does not remove accountability.

README history 4 versions

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

  1. 2026-08-22docs: honesty block — not unique vision-bf16, MTP drop, no invented tok/sd045aa39.3 KB
    Loading...
  2. 2026-08-22docs: link Hub collection on the model cardbcab3289.1 KB
    Loading...
  3. 2026-08-22docs: model card TLDR, family table, red-team intended use, CLI unify11cc6328.9 KB
    Loading...
  4. 2026-08-19Ornith 1.5 9B uncensored — MLX 8-bit (vision tower preserved)b21af015.2 KB
    Loading...

Discussions 2 threads

  1. 2026-08-20🚩 Report: Spamclosed1 💬#2
    Loading...
  2. 2026-08-20Model refusing discussing controversial topicsopen1 💬#1
    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