Model reference · open weights

ZwZ2

LLMs inclusionAI Vision + text 3 builds Licence not stated 147 dl/mo

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.

  • ZwZ2-9B is a 9.4 billion parameter image-text-to-text model developed by inclusionAI.
  • It is designed for visual reasoning tasks, including fine-grained perception and spatial understanding, and supports a context length of 262144 tokens.
  • The model operates in English and is based on the Qwen3.5-9B architecture.

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 byinclusionAI
Released2026-10-16
Parameters9.4B
VRAM54.7 GB for the weights

What it runs on

Memory and cards for ZwZ2-27B (BF16)

54.7 GBweights, file size
66 MBcache per 1K tokens
308 MBfixed state per request
2.2 GBruntime overhead, at least
262,144 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … L40S 48 GB
6 smaller cards
A100 80 GB258all 256K78.2 GB
H100 80 GB186227K78.1 GB
RTX PRO 6000 Blackwell 96 GB3712all 256K93.8 GB
DGX Spark (GB10) 128 GB unified5318all 256K107 GB
H200 141 GB8930all 256K138 GB
B200 180 GB13345all 256K176 GB
2× L40S 48 GB
tensor parallel
3411all 256K44.0 GB a card
4× RTX 4090 24 GB
tensor parallel
3512all 256K23.4 GB a card
4× RTX 3090 24 GB
tensor parallel
3512all 256K23.4 GB a card
4× RTX 5090 32 GB
tensor parallel
7124all 256K31.0 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
157.8 GB59.4 GB
561.1 GB69.2 GB
863.7 GB76.6 GB
1670.4 GB96.2 GB
3283.9 GB135 GB
64111 GB214 GB

One card, with vLLM's small-card settings.

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
ZwZ2-9B ↗ 9.4BBF16 18.8 GBRTX 4090 24 GB
ZwZ2-27B (above) ↗ 27.4BBF16 54.7 GBH100 80 GB
ZwZ2-4B ↗ 4.5BBF16 9.1 GBRTX 3060 12 GB

From the model card

What inclusionAI says about ZwZ2

Read the model card

📃 Paper | 🏠 Project | 🤗 Collection

✨ Model Summary

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.

⚙️ Method and Data

EvidenceConnect builds verified multi-region questions from SA-1B images:

  1. Group 3–7 related regions and generate questions using privileged zoomed views.
  2. Check answers through cross-model agreement and drop-one region tests.
  3. Convert verified questions to four-option tasks and train with GRPO, without an additional supervised fine-tuning stage.

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.

📊 Performance

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.

🚀 Quickstart

Installation

Install a PyTorch build compatible with your hardware, then:

pip install "transformers==5.13.1" accelerate pillow huggingface_hub

Inference

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.

🤗 Models and Data

ModelBase model
ZwZ2-4BQwen3.5-4B
ZwZ2-9BQwen3.5-9B
ZwZ2-27BQwen3.6-27B

🤗 ZwZ2-RL-VQA training dataset

📄 Limitations and License

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.

First-generation ZwZ: Paper · Code.

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms