alt.freeweights.text / Qwythos-9B-v2-OptiQ-4bit
From: mlx-community <huggingface.co/mlx-community>Newsgroups: alt.freeweights.textSubject:

Qwythos-9B-v2-OptiQ-4bit

Date: 2026-11-15Commit: 270f3fdSigned: 2DC28CC7B26A283B ✓

Image text to text model with 9B parameters. Safetensors weights, 8.22 GB in all. Published by mlx-community under Apache-2.0.

9B params8.22GBQwythos-9B-v2-OptiQ-4bitsafetensorspermissive
FactsParams9BSize8.22 GBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get mlx-community/Qwythos-9B-v2-OptiQ-4bit
# manifest sha256 15cdbb8b7114… · 8.22 GB · 16 files
$ fw verify ./Qwythos-9B-v2-OptiQ-4bit mlx-community/Qwythos-9B-v2-OptiQ-4bit
From sourceHosted (signed)mlx-community/Qwythos-9B-v2-OptiQ-4bitLast check: 2026-11-15 05:15 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Quantized of Qwythos-9B-v2.

Works with

Overview

Size
8.22 GB
Weights
8.20 GB (safetensors)
Parameters
9B
Formats
safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
16, each with a sha256
Publisher
mlx-community
Added
2026-11-15
Section
alt.freeweights.text
Lineage

Original release from the publisher.

Base model: empero-ai/Qwythos-9B-v2

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 05:15 UTCpassed

Model card

From the publisher at commit 270f3fd. Shown as plain text with links; images open at the publisher.

mlx-community/Qwythos-9B-v2-OptiQ-4bit#

Built with mlx-optiq, the MLX-native toolkit to quantize, fine-tune, and serve LLMs locally on Apple Silicon, no PyTorch and no cloud. Try the Lab · All OptiQ quants · Docs

A 4-bit mixed-precision MLX quant of empero-ai/Qwythos-9B-v2, a reasoning-tuned Qwen3.5-9B derivative. Per-layer bit-widths come from a KL-divergence sensitivity pass on a six-domain calibration mix (prose, reasoning, code, agent, tool-call, and constraint-bearing instructions). Sensitive layers go to 8-bit; robust ones stay at 4-bit.

Image input works. The vision tower is kept at bf16 in a sidecar, so this quant takes images as well as text.

Quantization details#

PropertyValue
Predominant precision4-bit
Layers at 8-bit (sensitive)134
Layers at 4-bit (robust)114
Total quantized layers248
Achieved bits per weight5.211
Group size64
Calibration mixsix-domain mix
Reference for sensitivityuniform-4-bit
Vision towerbf16, 333 tensors, in optiq/optiq_vision.safetensors
Bundled MTP headoptiq/mtp.safetensors (4-bit projections, BF16 norms)
Size on disk7.6 GB (language 6.6 GB, sidecars 1.0 GB), from an 18 GB bf16 base

We follow the same naming convention llama.cpp uses for Q4_K_M and similar mixed-precision quants: the "4-bit" label is the predominant precision, not the weighted average.

Only the language tower is quantized. The vision tower stays at bf16, which is how every OptiQ VLM ships: it is a small fraction of the weights, so quantizing it costs quality for very little disk.

Usage#

Text#

Load it with mlx-lm and use it as usual. The sidecars live in an optiq/ subfolder, so a stock *.safetensors glob ignores them and mlx-lm sees a clean language model.

pip install mlx-lm
from mlx_lm import load, generate

model, tokenizer = load("mlx-community/Qwythos-9B-v2-OptiQ-4bit")
response = generate(
    model, tokenizer,
    prompt="Explain quantum computing in simple terms.",
    max_tokens=512,
)

This is a reasoning model: it thinks inside <think>...</think> before answering, so give it enough max_tokens to finish.

Images#

Image input needs mlx-optiq, which loads the bf16 vision sidecar and feeds the merged embeddings to the quantized language tower:

pip install mlx-optiq
from PIL import Image
from optiq.runtime.engine import OptiqEngine

engine = OptiqEngine("mlx-community/Qwythos-9B-v2-OptiQ-4bit")
answer = engine.generate(
    "What is in this image?",
    images=[Image.open("photo.jpg")],
    max_tokens=512,
)
print(answer.text)

Or serve it over an OpenAI-compatible endpoint that accepts image content parts:

optiq serve --model mlx-community/Qwythos-9B-v2-OptiQ-4bit
Speculative decoding (MTP)#

The base ships a Multi-Token Prediction head, bundled here as optiq/mtp.safetensors:

optiq serve --model mlx-community/Qwythos-9B-v2-OptiQ-4bit --mtp

Using the head outside optiq serve: optiq/mtp.safetensors holds Qwen's original MTP tensors, so its seven RMSNorm weights (mtp.*norm*) are zero-centred, applied as 1 + w. The main weights have the +1 folded in, as MLX expects. Add 1.0 to all seven norms when loading the head into another runtime.

Provenance#

Produced with optiq convert empero-ai/Qwythos-9B-v2 --target-bpw 5.0 --reference uniform_4bit. The recipe matches mlx-community/Qwen3.5-9B-OptiQ-4bit, the quant of the base architecture this model is tuned from, which lands at the same bits per weight.

Text and image generation were both verified on the finished artifact before release. No task benchmarks were run on this quant; for measured quality numbers on the base architecture, see the Qwen3.5-9B OptiQ card.

Quantization does not change the alignment characteristics of the base model. Use it under the same terms as the original.

Files

16 files · 8.22 GBWeights 8.20 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 16 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
README.md4.74 KBb05b44ea265a098f1fad0272477893a505bd9b7d4486379d1ae2b9d6a781795c
chat_template.jinja7.95 KB2dda373b9705a692af9a9b65cd402d597ff87b9e917d0e737510bc5f75d74529
config.json56.0 KB47654a34f6240e4fb3b1a089033f3a8048d7d72b72d1107bc92ed540f707f85c
generation_config.json163 B6a391fdcafb170d69b8c5f7f2b131f8210c2fd7f6fa241862f664166bdc32d92
kv_config.json528 B049474dc1d43800fbd9545de4af84d127b95ff6ba313f462acd10b426726f6ff
model-00001-of-00002.safetensors5.33 GBc2497600b2d92b80e329ca67fddd2d864761e931afcd8d27fd75b34e4700a762
model-00002-of-00002.safetensors1.78 GB95566add2fd391f5ff919345f46b8382dcf09ffe5b8064c808ec7137e61f2641
model.safetensors.index.json116 KB8d0077548a7c50dacb58407099bc2063e1b375b50fa9b491f5fcc2d09b316fb8
optiq/mtp.safetensors185 MB9f2f4965ec9b8cc708c671cb3fd84a63b64753113d04dcc1c1ebbc37c3d47bee
optiq_metadata.json26.2 KBde001cf0211523c2bf1ebd3e02f9b8e89c7c91e00add058d6eae599c4d4aac76
optiq_vision.safetensors912 MB0e73d7e0eb3c013088edf80e503b4cfac920bbb77e465d8d5ccc3230e4a4abe2
preprocessor_config.json390 B27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516
tokenizer.json20.0 MB87a7830d63fcf43bf241c3c5242e96e62dd3fdc29224ca26fed8ea333db72de4
tokenizer_config.json1.27 KB5329d02a1dac4ac77f2d182ede6d6aedd16b8b341cb3b2e10fe7038859141921
video_preprocessor_config.json385 B7768af27c1fafa9cc9011c1dc20067e03f8915e03b63504550e11d5066986d13
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
270f3fdf2d pinned now2026-11-15 05:15 UTC16 files · 8.22 GB

Use it

$ fw get mlx-community/Qwythos-9B-v2-OptiQ-4bit
# manifest sha256 15cdbb8b7114… · 8.22 GB · 16 files
$ fw verify ./Qwythos-9B-v2-OptiQ-4bit mlx-community/Qwythos-9B-v2-OptiQ-4bit
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/mlx-community/Qwythos-9B-v2-OptiQ-4bit.json --dir ./Qwythos-9B-v2-OptiQ-4bit $ python3 fw.py verify ./Qwythos-9B-v2-OptiQ-4bit ./mlx-community__Qwythos-9B-v2-OptiQ-4bit.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mlx-community/Qwythos-9B-v2-OptiQ-4bit --revision 270f3fdf2d4f97f0f13e3e867fe0a08348e4d106 --local-dir ./Qwythos-9B-v2-OptiQ-4bit
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForImageTextToText, AutoProcessor processor = AutoProcessor.from_pretrained("mlx-community/Qwythos-9B-v2-OptiQ-4bit", revision="270f3fdf2d4f97f0f13e3e867fe0a08348e4d106") model = AutoModelForImageTextToText.from_pretrained("mlx-community/Qwythos-9B-v2-OptiQ-4bit", revision="270f3fdf2d4f97f0f13e3e867fe0a08348e4d106", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve mlx-community/Qwythos-9B-v2-OptiQ-4bit --revision 270f3fdf2d4f97f0f13e3e867fe0a08348e4d106

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
b05b44ea265a098f1fad0272477893a505bd9b7d4486379d1ae2b9d6a781795c
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: mlx-community <huggingface.co/mlx-community>Newsgroups: alt.freeweights.textSubject: Qwythos-9B-v2-OptiQ-4bitDate: 2026-11-15Commit: 270f3fdSigned: 2DC28CC7B26A283B ✓
Upstream
mlx-community/Qwythos-9B-v2-OptiQ-4bit
Pinned commit
270f3fdf2d4f97f0f13e3e867fe0a08348e4d106
Manifest
Qwythos-9B-v2-OptiQ-4bit.json · .minisig
Manifest sha256
15cdbb8b711451348ac8675acad7817f1ad06079f586fb4d79e695f1e8b71957
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 05:15 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/mlx-community/Qwythos-9B-v2-OptiQ-4bit.json $ curl -O https://freeweights.allternit.com/manifests/mlx-community/Qwythos-9B-v2-OptiQ-4bit.json.minisig $ minisign -Vm Qwythos-9B-v2-OptiQ-4bit.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

empero-ai/Qwythos-9B-v2 · this model is a quantization of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mlx-community/Qwythos-9B-v2-OptiQ-4bit
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. Qwythos-9B-v2-OptiQ-4bit.json. Provenance. Takedown history: none.
From: laion <huggingface.co/laion>Subject: a2-rl-e2egit_large-50-32B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-large-15-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-v2-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_pymethods2test-large-80-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_unitsyn-python-large-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_mix_h2_language_proportional-65-8B