ZeroXClem/Qwen3.5-9B-Fable-5-Quad-Stock

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).


🌟 Model Details

  • Name: ZeroXClem/Qwen3.5-9B-Fable-5-Quad-Stock
  • Base Model: Qwen/Qwen3.5-9B
  • Merge Method: model_stock (geometric interpolation of finetunes around the base)
  • Parameter Count: ~9.41 billion (hybrid linear-attention; MTP head not retained — see below)
  • Modalities: text + image input (27-layer vision tower, merged from all five inputs)
  • Precision: bfloat16
  • Tokenizer: from base (Qwen/Qwen3.5-9B)

🧩 Models Merged

The four most-downloaded mergeable Fable-5 distills on this architecture (2026-07-02 snapshot):

  1. Qwable-9B-Claude-Fable-5 Creator: empero-ai The flagship community Fable-5 distill — general reasoning and conversation in Fable's register.

  2. Qwen3.5-9B-Fable-5-v1 Creator: TeichAI Distilled on curated Fable-5 completions; keeps the full MTP (multi-token-prediction) head.

  3. Qwen-3.5-9B-fable5-composer2.5-ui-design Creator: fnruha0921 Fable-5 × Composer UI-design specialization — frontend structure and component thinking.

  4. Qwen3.5-9B-SFT-Fable5-Glint Creator: ermiaazarkhalili SFT on the Fable5-Glint dataset — instruction following and structured outputs.


🔧 MergeKit Configuration

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 declares mtp_num_hidden_layers: 0 (fixed 2026-07-03; the initial upload said 1, 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 conv1d weights 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.


💡 Use Cases

  • 🗣️ Fable-flavored chat & reasoning — the shared distillation source gives coherent, warm, structured responses
  • 💻 Code generation & review — coder and UI-design ancestry
  • 🎨 Frontend prototyping — component-structured UI thinking from the Composer distill
  • 📋 Instruction following & structured output — SFT-Glint ancestry
  • 🖼️ Image understanding — describe, analyze, and reason over images through the retained vision tower

🖼️ Multimodal (Image Input)

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.


📦 GGUF Quants

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):


📊 Benchmarks

Quality (lm-evaluation-harness, identical settings for merge and base)

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.

Speed (llama.cpp 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.


🧪 Limitations

  • All four donors distill the same teacher (Claude Fable 5) — expect a strong shared voice, not four unrelated skill sets.
  • The qwen3_5 architecture has no explicit mergekit definition yet; this merge relies on automatic architecture inference (verified tensor-by-tensor for this model set).
  • Users are responsible for appropriate safety and moderation when deploying.

⚖️ License

  • Apache 2.0, following the base model and all merged donors.

🪐 Credits & Acknowledgements

This fusion stands on the work of:

  • empero-ai, TeichAI, fnruha0921, and ermiaazarkhalili for the Fable-5 distills
  • Qwen for the Qwen3.5-9B base and ecosystem
  • Arcee AI for MergeKit
  • Merged end-to-end on Modal (B200) via a custom merge_cli.py pipeline

💖 Special thanks to the open-source community.

Downloads last month
1,244
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ZeroXClem/Qwen3.5-9B-Fable-5-Quad-Stock