Downloads · 30 days
41
3% of all-time downloads
ZeroXClem/Qwen3.5-9B-Fable-5-Quad-Stock
Qwen3.5-9B-Fable-5-Quad-Stock is a text generation model from ZeroXClem. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
ZeroXClem/Qwen3.5-9B-Fable-5-Quad-Stock is a four-way fusion of the most-downloaded Claude Fable 5 distills on the Qwen3.5-9B architecture, merged with MergeKit's Model Stock method. One base, four flavors of Fable —…
Downloads · 30 days
41
3% of all-time downloads
All-time downloads
1.5K
Public
Parameters
9.4B
18.8 GB on disk
Likes
3
Public
Click a slice to open those files.
.safetensors18.8 GB · 100%
From the Hugging Face model README
ZeroXClem/Qwen3.5-9B-Fable-5-Quad-Stock is a four-way fusion of the most-downloaded Claude Fable 5 distills on the Qwen3.5-9B architecture, merged with MergeKit's Model Stock method. One base, four flavors of Fable — reasoning, coding, UI design, and instruction-following — geometrically recentered around Qwen3.5-9B into a single 9B model that keeps the storyteller's voice with the engineer's discipline. Fully multimodal: the complete Qwen3.5 vision tower survived the merge, so the model accepts images out of the box (transformers, vLLM, and llama.cpp/LM Studio via the bundled mmproj).
ZeroXClem/Qwen3.5-9B-Fable-5-Quad-StockQwen/Qwen3.5-9Bmodel_stock (geometric interpolation of finetunes around the base)~9.41 billion (hybrid linear-attention; MTP head not retained — see below)bfloat16Qwen/Qwen3.5-9B)The four most-downloaded mergeable Fable-5 distills on this architecture (2026-07-02 snapshot):
Qwable-9B-Claude-Fable-5 Creator: empero-ai The flagship community Fable-5 distill — general reasoning and conversation in Fable's register.
Qwen3.5-9B-Fable-5-v1 Creator: TeichAI Distilled on curated Fable-5 completions; keeps the full MTP (multi-token-prediction) head.
Qwen-3.5-9B-fable5-composer2.5-ui-design Creator: fnruha0921 Fable-5 × Composer UI-design specialization — frontend structure and component thinking.
Qwen3.5-9B-SFT-Fable5-Glint Creator: ermiaazarkhalili SFT on the Fable5-Glint dataset — instruction following and structured outputs.
merge_method: model_stock
base_model: Qwen/Qwen3.5-9B
models:
- model: empero-ai/Qwable-9B-Claude-Fable-5
- model: TeichAI/Qwen3.5-9B-Fable-5-v1
- model: fnruha0921/Qwen-3.5-9B-fable5-composer2.5-ui-design
- model: ermiaazarkhalili/Qwen3.5-9B-SFT-Fable5-Glint
parameters:
filter_wise: false
dtype: bfloat16
tokenizer_source: base
chat_template: auto
Merged with mergekit main (commit a6e40288, transformers 5.x support) on a Modal B200 — the qwen3_5 hybrid linear-attention architecture is handled via mergekit's automatic architecture inference.
MTP head: only 3 of the 5 input models carry Qwen3.5's optional multi-token-prediction head (
mtp.*tensors), and mergekit's architecture inference drops optional tensors that aren't shared by every input — so this merge ships without the MTP head (760 tensors, like the MTP-less donors). The config correctly declaresmtp_num_hidden_layers: 0(fixed 2026-07-03; the initial upload said1, which made GGUF conversions unloadable). Standard autoregressive inference is entirely unaffected.
Why model_stock and not della/dare? The qwen3_5 architecture's linear-attention
conv1dweights have a size-1 middle dimension, which breaks DELLA's row-wise rank-based drop probabilities (0/0 → NaN). Model Stock is deterministic, parameter-free, and flattens every tensor before computing — a perfect fit for this hybrid architecture.
The merge kept the entire vision tower (model.visual.*, 333 tensors) — every donor carried it, so model_stock merged it like any other weight. With preprocessor_config.json in place (added 2026-07-03), image input works everywhere:
from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration
import torch
model_id = "ZeroXClem/Qwen3.5-9B-Fable-5-Quad-Stock"
processor = AutoProcessor.from_pretrained(model_id)
model = Qwen3_5ForConditionalGeneration.from_pretrained(
model_id, torch_dtype=torch.bfloat16, device_map="auto")
messages = [{"role": "user", "content": [
{"type": "image", "image": "photo.jpg"},
{"type": "text", "text": "Describe this image."},
]}]
inputs = processor.apply_chat_template(
messages, add_generation_prompt=True, tokenize=True,
return_dict=True, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=256)
print(processor.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
For llama.cpp / LM Studio, each GGUF repo below ships an mmproj-*-f16.gguf (the vision encoder + projector, ~0.9 GB) — download it alongside the text GGUF and images just work. Verified end-to-end with llama-mtmd-cli. Tip: add --image-min-tokens 1024 for fine-grained grounding tasks.
Every level, one repo per quant (llama.cpp / LM Studio / Jan-ready — rebuilt 2026-07-03 with the corrected config; each repo also carries the mmproj for image input):
| Task | Setup | Quad-Stock | Qwen/Qwen3.5-9B |
|---|---|---|---|
ARC-Challenge (acc_norm) | 25-shot | 71.2 | 71.1 |
Measured 2026-07-03 on H100 (bfloat16, transformers backend). The merge holds the base's reasoning while adding the four distills' flavor — additional suite tasks to follow.
llama-bench, H100, full offload, flash attention)| Quant | Size | Prompt pp512 (t/s) | Generation tg128 (t/s) |
|---|---|---|---|
| Q2_K | 3.55 GiB | 6,350 | 209 |
| Q3_K_M | 4.30 GiB | 7,302 | 186 |
| Q4_0 | 4.94 GiB | 8,536 | 256 |
| Q4_K_M | 5.23 GiB | 7,929 | 215 |
| Q5_0 | 5.86 GiB | 7,830 | 225 |
| Q5_K_M | 6.01 GiB | 7,780 | 203 |
| Q6_K | 6.84 GiB | 6,883 | 168 |
| Q8_0 | 8.86 GiB | 8,828 | 198 |
| F16 | 16.68 GiB | 12,416 | 149 |
Q4_0 is the decode-speed pick; F16 wins prompt processing but is bandwidth-bound at generation; Q5_K_M/Q6_K are the quality sweet spots.
This fusion stands on the work of:
merge_cli.py pipeline💖 Special thanks to the open-source community.