← back to catalog · registered 2026-09-06 13:55

abhaymin/Ornith-1.5-Cyclos-1M-Uncensored

abhaymin 36B MoE multimodal second-order
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/abhaymin%2FOrnith-1.5-Cyclos-1M-Uncensored"
Response includes
  • classification m-uncensored
  • files 27
  • hub_downloads_all_time 124
  • author_summary 2 models
  • readme_text full
10 credits · hourly refresh · ~4 KB payload Get an API key →
Abliteration classifier · v1.0.0
M-U
Primary method

Uncensored (method unknown)

No other method signals detected in this model.
Confidence
LOW
Why this label 3 signals
Weak or ambiguous signals. Best guess based on catalog patterns; treat as tentative and check the evidence below.
  • 'uncensored' in name/tags but no 'abliterated' marker
  • method not identifiable from author declaration alone
  • may be DPO fine-tune, prompt engineering, or unknown technique
Refusal direction extraction

No specific extraction method could be identified for this model. The producer either did not document it or used a proprietary pipeline.

What is a refusal direction? →
Downloads · lifetime
124
52 last 30d - stable
Likes
3
Descendants
2
in 2 direct forks
Model age
6w ago
created 2026-09-06
Downloads over time
Now157→from0↑0%
0581151730 on Sep 6157 on Oct 21SepOct
Sep 6 → Oct 21 · 46 snapshots · spans 45 days

Genealogy 2 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.

Variants by this author 2 formats · 358 downloads combined

The same weights this author released in different packaging. Pick the format that matches your runtime.

Metadata

License
apache-2.0
Tags
transformers safetensors qwen3_5_moe image-text-to-text qwen3 moe vision uncensored long-context yarn vllm sglang

Related

Total size
67.0 GB
Files
27
Quantizations
1
Registered
2026-09-06 13:55
Last updated on HF
2026-09-06 16:03

Files by quantization

Auxiliary files 27 files 67.0 GB
model-00006-of-00016.safetensors 4.64 GB e40ca411 download
model-00009-of-00016.safetensors 4.64 GB b62ebd08 download
model-00012-of-00016.safetensors 4.64 GB 1136867f download
model-00015-of-00016.safetensors 4.64 GB 781cb2ac download
model-00003-of-00016.safetensors 4.64 GB d350ec61 download
model-00001-of-00016.safetensors 4.42 GB 3f718a95 download
model-00007-of-00016.safetensors 4.20 GB b679ae38 download
model-00010-of-00016.safetensors 4.20 GB d805dab4 download
model-00013-of-00016.safetensors 4.20 GB d4ed8e64 download
model-00004-of-00016.safetensors 4.20 GB cc3cff16 download
model-00016-of-00016.safetensors 4.08 GB 4cf55854 download
model-00008-of-00016.safetensors 3.70 GB 186fd20f download
model-00011-of-00016.safetensors 3.70 GB 6df9df2b download
model-00014-of-00016.safetensors 3.70 GB 3c3c0da9 download
model-00002-of-00016.safetensors 3.70 GB 10ce6681 download
model-00005-of-00016.safetensors 3.70 GB 452c2f95 download
tokenizer.json 19.1 MB 06b95093 download
model.safetensors.index.json 164 KB d4aa50d3 download
README.md 8.11 KB 5fc41c92 download
chat_template.jinja 7.36 KB b07660cc download
tokenizer_config.json 7.02 KB 58b4ba25 download
config.json 3.00 KB 50eb26ad download
.gitattributes 1.53 KB 52373fe2 download
processor_config.json 1.16 KB 33818c7f download
preprocessor_config.json 390 B 2ea84a43 download
generation_config.json 202 B 023756cf download
configuration.json 58.0 B d24dba94 download

README current version from Hugging Face


license: apache-2.0
base_model:

  • 0xKitkat/Ornith-1.5-35B-A3B-Uncensored
    base_model_relation: finetune
    pipeline_tag: image-text-to-text
    library_name: transformers
    tags:
  • qwen3
  • moe
  • vision
  • uncensored
  • long-context
  • yarn
  • vllm
  • sglang

Ornith 1.5 Cyclos 1M Uncensored — BF16

Native BF16 weights. A LoRA fine-tune of
0xKitkat/Ornith-1.5-35B-A3B-Uncensored,
merged into the base and extended to 1,048,576 context via YaRN.

All credit for the underlying model belongs upstream — see Credits.
This repository contributes a fine-tune, a context-window change, and nothing else.

For llama.cpp / Ollama / LM Studio, use the Q4_K_M GGUF build instead — it is far faster on
consumer hardware. This BF16 repo exists for vLLM and SGLang, which cannot load that GGUF.

Changes from the base model

Stated per Apache-2.0 §4(b):

  1. LoRA fine-tune (SFT), merged into the base weights. r=16, alpha=16, use_rslora=true
    (scaling alpha/sqrt(r) = 4.0). Targets attention and shared-expert projections plus, via PEFT
    target_parameters, the fused MoE expert tensors mlp.experts.gate_up_proj and
    mlp.experts.down_proj. Training focus: coding, market/trading analysis, content classification,
    and tool/function calling.
  2. Context extended 262,144 -> 1,048,576 via YaRN in config.json
    (rope_type: "yarn", factor: 4.0, original_max_position_embeddings: 262144).

The vision tower was not fine-tuned — every adapter tensor lives under language_model.*, and
model.visual.* is bit-identical to the base after merging. Vision/video ability is inherited.

vLLM

Tested on 2 x RTX 5060 Ti (16 GB each, 31.7 GB total), CUDA 13.1, 59 GB RAM, vLLM 0.27.1.
Loads and generates correctly.

vllm serve <this-repo> \
  --tensor-parallel-size 2 \
  --max-model-len 4096 \
  --gpu-memory-utilization 0.92 \
  --cpu-offload-gb 22 \
  --enforce-eager

--cpu-offload-gb is required on 32 GB of VRAM: the weights are ~67 GB, so roughly 44 GB spills
to system RAM. Expect about 1.8 tok/s in that configuration — it is offload-bound, not
compute-bound. Drop --cpu-offload-gb entirely once you have ~80 GB of VRAM (e.g. 2xA100 80GB,
4xL40S), and raise --max-model-len toward 1048576 as KV memory allows.

With enough VRAM, vLLM can also use the multi-token-prediction head for speculative decoding —
it registers Qwen3_5MoeMTP, a head that llama.cpp discards:

vllm serve <this-repo> --tensor-parallel-size 4 --max-model-len 262144 \
  --speculative-config '{"method":"mtp","num_speculative_tokens":1}'

SGLang

The architecture is supported upstream (Qwen3_5MoeForConditionalGeneration); upstream Ornith
recommends SGLang 0.5.9+. Not tested on this hardware — 32 GB of VRAM is below what a
67 GB BF16 model needs, and SGLang has no CPU-offload equivalent to vLLM's --cpu-offload-gb.
Treat this as a starting point on a larger machine, not a verified command:

python -m sglang.launch_server \
  --model-path <this-repo> \
  --tp 2 \
  --context-length 262144 \
  --mem-fraction-static 0.90 \
  --port 30000

Transformers

from transformers import AutoModelForImageTextToText, AutoProcessor
import torch

model_id = "<this-repo>"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
    model_id, dtype=torch.bfloat16, device_map="auto",
)

Requires Transformers 5.8.1+ (Qwen3_5MoeForConditionalGeneration does not exist in 4.x).

The 1M context, in detail

config.json carries max_position_embeddings: 1048576 with:

"rope_parameters": { "rope_type": "yarn", "factor": 4.0,
                     "original_max_position_embeddings": 262144, ... }

vLLM 0.27.1 reads the transformers-5 rope_parameters key (not the legacy rope_scaling), so the
scaling applies automatically. --max-model-len still bounds what you actually allocate.

It is extrapolation, not training. The base is natively 262,144 with rope_type: default.
YaRN interpolates RoPE frequencies at inference; nothing here was trained beyond 262,144, and no
long-context evaluation was run. Treat 1M as an upper bound. For results you can trust, cap at the
native length:

vllm serve <this-repo> --max-model-len 262144 ...

Memory. Qwen3.5-MoE is hybrid — only 10 of 40 layers use full attention, the rest are
linear/SSM with constant-size state — so KV is about 20 KiB/token at f16, roughly a quarter of
a comparable dense model. At 1,048,576 that is still ~21 GiB of KV on top of ~67 GiB of BF16
weights
, so full 1M in BF16 wants ~90 GiB of VRAM. On the 31.7 GB test rig this is not reachable;
--max-model-len 4096 was used for verification.

If you are training on these weights, set the context back to native first. Training under YaRN
while your sequences are a few thousand tokens applies the scaling to short positions, which is not
how the base was trained:

"max_position_embeddings": 262144,
"rope_parameters": { "rope_type": "default", ... }   // drop factor + original_max_position_embeddings

Built with soup-cli

Produced with soup-cli — the LoRA merge, the YaRN
context config, and the GGUF sibling build all ran through it. The rope block was generated by
soup's own helper rather than hand-written:

from soup_cli.utils.long_context import get_rope_scaling_config
get_rope_scaling_config("yarn", 1_048_576, 262_144)
# {'type': 'yarn', 'factor': 4.0, 'original_max_position_embeddings': 262144}

soup can serve and batch-run these weights directly, wrapping vLLM or SGLang:

soup serve -m <this-repo> --backend vllm   --tp 2 --max-model-len 262144
soup serve -m <this-repo> --backend sglang --tp 2 --max-model-len 262144
soup infer -m <this-repo> -i prompts.jsonl -o out.jsonl
soup chat  -m <this-repo>

Note soup's backends are transformers, vllm, sglang and mii — there is no llama.cpp serving
backend, so use llama-server directly for the GGUF sibling.

Honest limitations

  • The 1M context is extrapolation, not training. The base is natively 262,144 with no RoPE
    scaling; YaRN extends it at inference. Quality degrades as you move beyond 262,144, and this has
    not been measured. Treat 1M as an upper bound, not a validated working length. To train on these
    weights, set max_position_embeddings back to 262144 and rope_type to default first —
    training under YaRN on short sequences is not how the base was trained.
  • No audio. This architecture has no audio encoder; <|audio_start|>-style tokens in the
    tokenizer are vestigial shared-vocabulary entries. Use an external ASR front-end.
  • No benchmarks are claimed. No evaluation suite was run. Upstream numbers do not transfer.
  • "Uncensored" is inherited from the base, which reduced refusal behaviour. It does not mean
    every request is answered, and it does not shift responsibility for how the model is used.

Upstream recommended sampling: temperature=0.6, top_p=0.95, top_k=20. This is a reasoning
model and emits <think>...</think> before its answer.

Credits and attribution

This is a derivative several steps down a chain. Credit belongs to, in order:

Licensed under Apache-2.0, inherited from the base model. Upstream components carry their own
licenses as listed above.

README history 2 versions

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

  1. 2026-09-06Credit Ornith-1.5 upstream: add full lineage to base_model, name Ornith Team ...4086bda8.6 KB
    Loading...
  2. 2026-09-06BF16 merged weights, 1M YaRN context283bf818.1 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