mirror of
https://github.com/zenlm/zen-designer.git
synced 2026-07-27 03:09:16 +00:00
main
license, language, tags, library_name, pipeline_tag
| license | language | tags | library_name | pipeline_tag | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| apache-2.0 |
|
|
transformers | image-text-to-text |
Zen Designer
235B vision-language model by Zen LM — images, video, documents, and spatial reasoning
🤗 HuggingFace | 📖 Docs | 💻 GitHub
Introduction
Zen Designer is Zen LM's flagship vision-language model: 235B total parameters with 22B active via Mixture of Experts (MoE). It delivers comprehensive visual understanding — images, video, documents, charts, and GUIs — combined with state-of-the-art language capabilities.
Two variants are available:
- instruct: optimized for direct visual question answering and task completion
- thinking: extended chain-of-thought reasoning for complex visual analysis
Model Family
| Model | Type | Context | Description |
|---|---|---|---|
| zen-designer-235b-a22b-instruct | Instruct | 256K | Direct VLM tasks |
| zen-designer-235b-a22b-thinking | Thinking | 256K | Extended reasoning |
Model Specifications
| Attribute | Value |
|---|---|
| Total Parameters | 235B |
| Active Parameters | 22B (MoE) |
| Architecture | Dense vision encoder + MoE language decoder |
| Context Window | 256K tokens (expandable to 1M) |
| Languages | 100+ (OCR in 32 scripts) |
| Video Support | Long-form video understanding |
| License | Apache 2.0 |
Key Capabilities
Visual Understanding
- Detailed image analysis and description
- Video understanding with temporal reasoning
- Document parsing: PDFs, invoices, forms, tables, charts
- OCR across 32 languages and writing systems
Spatial and Structural Reasoning
- 2D and 3D spatial grounding
- Bounding box prediction
- GUI element recognition and navigation
- Code generation from UI screenshots (HTML/CSS/JS)
Agentic Vision
- Web navigation with visual context
- GUI interaction and automation
- Computer use workflows
- Diagram comprehension (Draw.io, flowcharts, schematics)
Quick Start
Install
pip install transformers torch accelerate
Image Understanding
from transformers import AutoModelForVision2Seq, AutoProcessor
import torch
from PIL import Image
model_name = "zenlm/zen-designer-235b-a22b-instruct"
processor = AutoProcessor.from_pretrained(model_name)
model = AutoModelForVision2Seq.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto"
)
image = Image.open("document.png")
messages = [
{
"role": "user",
"content": [
{"type": "image"},
{"type": "text", "text": "Extract all text and data from this document in structured format."}
]
}
]
text = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(text=text, images=image, return_tensors="pt").to(model.device)
with torch.no_grad():
generated_ids = model.generate(**inputs, max_new_tokens=2048)
response = processor.decode(generated_ids[0], skip_special_tokens=True)
print(response)
Video Understanding
from transformers import AutoModelForVision2Seq, AutoProcessor
import torch
model_name = "zenlm/zen-designer-235b-a22b-instruct"
processor = AutoProcessor.from_pretrained(model_name)
model = AutoModelForVision2Seq.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto"
)
messages = [
{
"role": "user",
"content": [
{"type": "video", "video": "path/to/video.mp4", "fps": 2},
{"type": "text", "text": "Describe what happens in this video, step by step."}
]
}
]
text = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(text=text, return_tensors="pt").to(model.device)
with torch.no_grad():
generated_ids = model.generate(**inputs, max_new_tokens=1024)
response = processor.decode(generated_ids[0], skip_special_tokens=True)
print(response)
Extended Thinking (Complex Tasks)
from transformers import AutoModelForVision2Seq, AutoProcessor
import torch
from PIL import Image
model_name = "zenlm/zen-designer-235b-a22b-thinking"
processor = AutoProcessor.from_pretrained(model_name)
model = AutoModelForVision2Seq.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto"
)
image = Image.open("math_problem.png")
messages = [
{
"role": "user",
"content": [
{"type": "image"},
{"type": "text", "text": "Solve this problem step by step, showing your reasoning."}
]
}
]
text = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(text=text, images=image, return_tensors="pt").to(model.device)
with torch.no_grad():
generated_ids = model.generate(**inputs, max_new_tokens=8192)
response = processor.decode(generated_ids[0], skip_special_tokens=True)
print(response)
Performance Benchmarks
| Benchmark | Score | Category |
|---|---|---|
| DocVQA | State-of-the-art | Document understanding |
| ChartQA | State-of-the-art | Chart reasoning |
| MMBench | Leading | Multimodal understanding |
| OCRBench | Leading | OCR accuracy |
| Video-MME | Leading | Video reasoning |
| MMMU | Competitive | Multi-discipline QA |
Hardware Requirements
| Setup | VRAM | Notes |
|---|---|---|
| Minimum (INT4) | 4x 24GB | Quantized inference |
| Recommended (BF16) | 4x 80GB | Full precision |
| Optimal | 8x 80GB | Maximum throughput |
Deployment
# vLLM (recommended for production)
vllm serve zenlm/zen-designer-235b-a22b-instruct \
--tensor-parallel-size 4 \
--max-model-len 65536
# SGLang
python -m sglang.launch_server \
--model-path zenlm/zen-designer-235b-a22b-instruct \
--tp-size 4
License
Apache 2.0
Citation
@misc{zenlm2025zen-designer,
title={Zen Designer: 235B Vision-Language Model by Zen LM},
author={Hanzo AI and Zoo Labs Foundation},
year={2025},
publisher={HuggingFace},
howpublished={\url{https://huggingface.co/zenlm/zen-designer-235b-a22b-instruct}}
}
Zen LM by Hanzo AI - Clarity Through Intelligence
zenlm.org |
HuggingFace |
GitHub
Languages
Python
79.6%
JavaScript
17.7%
Shell
2.7%
