Model reference · open weights
ZwZ2 is an open-weight language model from inclusionAI. ZwZ2-9B (BF16) weighs 18.8 GB; the smallest configuration that runs it is RTX 4090 24 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the inclusionAI/ZwZ2-9B model card, 2026-10-28
What it is
| Released by | inclusionAI |
|---|---|
| Released | 2026-10-16 |
| Parameters | 9.4B |
| VRAM | 18.8 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … RTX 4060 Ti 16 GB 2 smaller cards | ||||
| RTX 3090 24 GB | 6 | 2 | 69K | 23.4 GB |
| RTX 4090 24 GB | 6 | 2 | 68K | 23.4 GB |
| RTX 5090 32 GB | 27 | 8 | all 256K | 31.0 GB |
| L40S 48 GB | 61 | 19 | all 256K | 44.0 GB |
| A100 80 GB | 154 | 48 | all 256K | 78.2 GB |
| H100 80 GB | 139 | 43 | all 256K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 181 | 57 | all 256K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 217 | 68 | all 256K | 107 GB |
| H200 141 GB | 300 | 94 | all 256K | 138 GB |
| B200 180 GB | 401 | 126 | all 256K | 176 GB |
| 2× RTX 4060 Ti 16 GB tensor parallel | 20 | 6 | 227K | 15.4 GB a card |
| 2× RTX 4090 24 GB tensor parallel | 63 | 20 | all 256K | 23.4 GB a card |
| 2× RTX 3090 24 GB tensor parallel | 63 | 20 | all 256K | 23.4 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 21.3 GB | 22.1 GB |
| 5 | 22.8 GB | 26.8 GB |
| 8 | 23.9 GB | 30.4 GB |
| 16 | 26.9 GB | 39.8 GB |
| 32 | 32.8 GB | 58.6 GB |
| 64 | 44.7 GB | 96.3 GB |
One card, with vLLM's small-card settings.
Builds
From the model card
📃 Paper | 🏠 Project | 🤗 Collection
ZwZ2-9B is the Qwen3.5-9B-based model in Zooming-without-Zooming-v2 (ZwZ2). It learns to connect visual evidence across regions through comparison, aggregation, matching, and multi-step reasoning. Training uses full images; inference requires no zooming tools.
On 25 benchmarks across six domains, it improves over its base model on every benchmark, increasing overall accuracy from 51.63 to 56.59 (+4.96 points). Gains extend from fine-grained perception to spatial reasoning, long-context understanding, multimodal agents, and general visual reasoning.
EvidenceConnect builds verified multi-region questions from SA-1B images:
All three model sizes use approximately 20K training examples. The policy sees full images with colored region outlines; privileged crop layouts are used only for data construction. See ZwZ2-RL-VQA for the data schema and synthesis process.
Editable vector PDF. The figure shows eight representative benchmarks; the complete results follow.
Full-resolution results. Scores are accuracies (%); domain and overall averages weight the corresponding benchmarks equally. MMLongBench* uses the visual core: V-RAG, Image MM-NIAH, and VH-Multi, comprising 25 non-Counting tasks. Advanced-model image resolution is constrained by their serving platforms.
Install a PyTorch build compatible with your hardware, then:
pip install "transformers==5.13.1" accelerate pillow huggingface_hub
from pathlib import Path
import torch
from huggingface_hub import hf_hub_download
from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration
model_id = "inclusionAI/ZwZ2-9B"
model = Qwen3_5ForConditionalGeneration.from_pretrained(
model_id, dtype=torch.bfloat16, device_map="auto"
).eval()
processor = AutoProcessor.from_pretrained(model_id)
processor.chat_template = Path(
hf_hub_download(model_id, "chat_template.jinja")
).read_text(encoding="utf-8")
messages = [{"role": "user", "content": [
{"type": "image", "url": "/path/to/image.jpg"},
{"type": "text", "text": "Describe this image."},
]}]
inputs = processor.apply_chat_template(
messages, tokenize=True, add_generation_prompt=True,
return_dict=True, return_tensors="pt", enable_thinking=False,
).to(model.device)
with torch.inference_mode():
generated_ids = model.generate(
**inputs, max_new_tokens=2048, do_sample=False
)
output_text = processor.batch_decode(
generated_ids[:, inputs["input_ids"].shape[1]:],
skip_special_tokens=True, clean_up_tokenization_spaces=False,
)[0]
print(output_text)
Replace /path/to/image.jpg with an existing image. All three sizes use Qwen3_5ForConditionalGeneration, including the Qwen3.6-27B-based model. The example preserves the released chat template and uses non-thinking mode. The template requests final answers inside ...; a custom system message replaces that default instruction.
| Model | Base model |
|---|---|
| ZwZ2-4B | Qwen3.5-4B |
| ZwZ2-9B | Qwen3.5-9B |
| ZwZ2-27B | Qwen3.6-27B |
🤗 ZwZ2-RL-VQA training dataset
The model can hallucinate details, misread text, and make counting or spatial errors. Performance depends on image resolution, context length, and prompt format. Refer to the license accompanying the released weights and the applicable backbone license for usage terms.
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.