Downloads · 30 days
13
6% of all-time downloads
andrzejmontano/Qwen3.5-9B-MTP-Mixed-8bit
Qwen3.5-9B-MTP-Mixed-8bit is a image-text-to-text model from andrzejmontano. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for mlx. The card lists the license as apache-2.0.
Mixed-precision 8-bit quantization of Qwen3.5-9B — a 9B multimodal vision-language model with hybrid attention and multi-token prediction, optimized for efficient local inference with minimal quality loss.
Downloads · 30 days
13
6% of all-time downloads
All-time downloads
221
Public
Repo size
14.8 GB
Likes
0
Public
Click a slice to open those files.
.safetensors14.8 GB · 100%
From the Hugging Face model README
Mixed-precision 8-bit quantization of Qwen3.5-9B — a 9B multimodal vision-language model with hybrid attention and multi-token prediction, optimized for efficient local inference with minimal quality loss.
| Metric | Value |
|---|---|
| Base model | Qwen/Qwen3.5-9B |
| Architecture | Qwen3.5-9B (32-layer hybrid attention VLM) |
| Quantization | MLP-only 8-bit, group-size=64 |
| BF16 size | ~18 GB |
| Mixed 8-bit size | ~14 GB (22% reduction) |
| Parameters | ~9B |
| Context window | 262,144 tokens |
| License | Apache 2.0 |
This model uses surgical mixed-precision quantization: only the SwiGLU MLP projection matrices (gate_proj, up_proj, down_proj) in the language model transformer layers are quantized to 8-bit. All other components remain in BF16:
Rationale: MLP layers are "knowledge lookup" / feature transformation layers that are extremely quantization-tolerant. Attention mechanisms carry reasoning and context-window recall. The vision tower and MTP head are kept in full precision to preserve multimodal understanding and multi-token prediction quality.
[linear_attention × 3, full_attention × 1] × 8mtp_use_dedicated_embeddings: false)Quantized using mixed_quantize_qwen3_5_9b_v3.py — an MTP-aware quantization pipeline that:
mlx_vlm to preserve MTP keys through Model.sanitize() (stock mlx_vlm strips mtp.* keys)TextConfig.from_dict to retain mtp_num_hidden_layersLanguageModel.__init__ to attach MTPModule when config declares MTP layersnn.quantize() with surgical class predicate{"format": "mlx"}) to safetensors shards| Category | Count | Precision |
|---|---|---|
| LLM MLP (gate/up/down_proj) | 96 | 8-bit |
| Linear attention (all sub-layers) | ~192 | BF16 |
| Full attention (q/k/v/o_proj) | ~64 | BF16 |
| Vision tower | 333 | BF16 |
| MTP head | 15 | BF16 |
| Norms, embeddings, LM head, SSM params | ~75 | BF16 |
| Total | 775 | — |
The 15 MTP tensors are stored with mtp. prefix in the weight index (HF-style naming). When loading with patched mlx_vlm, these are renamed to language_model.mtp.* during sanitization. The keys preserved:
mtp.fc.weight
mtp.norm.weight
mtp.pre_fc_norm_hidden.weight
mtp.pre_fc_norm_embedding.weight
mtp.layers.0.{self_attn.{q,k,v,o,k_norm,q_norm}_proj.weight, mlp.{gate,up,down}_proj.weight, {input,post_attention}_layernorm.weight}
Loads natively with MTP and vision support. The MLX format metadata in safetensors ensures sanitize() is skipped on reload, preserving MTP keys.
from mlx_vlm.utils import load
model, processor = load("your-username/Qwen3.5-9B-MTP-Mixed-8bit", lazy=True)
# Model loads in ~14 GB vs ~18 GB for BF16
Note: If using stock
mlx_vlmwithout the MTP patches from the quantization script, MTP keys may be stripped during loading. Use oMLX or apply the patches.
| File | Description |
|---|---|
model-00001.safetensors – model-00007.safetensors | Sharded model weights (2 GB shards) |
model.safetensors.index.json | Weight index (775 tensors, HF-style naming) |
config.json | Model configuration with quantization metadata |
tokenizer.json / tokenizer_config.json | Tokenizer |
chat_template.jinja | Chat template |
preprocessor_config.json | Vision preprocessor config |
video_preprocessor_config.json | Video preprocessor config |
processor_config.json | Processor config |
vocab.json / merges.txt | Tokenizer vocabulary |
Apache 2.0 — same as Qwen/Qwen3.5-9B