Model reference · open weights
ZwZ2 is an open-weight language model from inclusionAI. ZwZ2-27B (BF16) weighs 54.7 GB; the smallest configuration that runs it is H100 80 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. The estimate below is for another build of the family.
What it is
| Released by | inclusionAI |
|---|---|
| Released | 2026-10-16 |
| Parameters | 9.4B |
| VRAM | 54.7 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … L40S 48 GB 6 smaller cards | ||||
| A100 80 GB | 25 | 8 | all 256K | 78.2 GB |
| H100 80 GB | 18 | 6 | 227K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 37 | 12 | all 256K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 53 | 18 | all 256K | 107 GB |
| H200 141 GB | 89 | 30 | all 256K | 138 GB |
| B200 180 GB | 133 | 45 | all 256K | 176 GB |
| 2× L40S 48 GB tensor parallel | 34 | 11 | all 256K | 44.0 GB a card |
| 4× RTX 4090 24 GB tensor parallel | 35 | 12 | all 256K | 23.4 GB a card |
| 4× RTX 3090 24 GB tensor parallel | 35 | 12 | all 256K | 23.4 GB a card |
| 4× RTX 5090 32 GB tensor parallel | 71 | 24 | all 256K | 31.0 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 57.8 GB | 59.4 GB |
| 5 | 61.1 GB | 69.2 GB |
| 8 | 63.7 GB | 76.6 GB |
| 16 | 70.4 GB | 96.2 GB |
| 32 | 83.9 GB | 135 GB |
| 64 | 111 GB | 214 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.