Что такое Zamba2‑VL
Zamba2‑VL — семейство открытых моделей vision‑language, построенных на гибридном ядре SSM‑Transformer (Mamba2 + Transformer). Выпущены три версии: 1.2 B, 2.7 B и 7 B параметров. Архитектура соответствует популярному шаблону LLaVA: визуальный энкодер (Vision Transformer из Qwen2.5‑VL) → лёгкий MLP‑адаптер → языковая модель, умеющая обрабатывать перемежающиеся токены изображения и текста. Поддерживается как одно‑, так и мульти‑изображение, а также «grounding» (указание на объекты в картинке).
Архитектура
В основе — гибрид Mamba2‑state‑space‑слоёв и небольшого количества общих трансформер‑блоков. Mamba2 обеспечивает линейную сложность O(n) при фиксированном размере состояния, а трансформер‑блоки сохраняют способность к контекстному поиску. Каждый блок снабжён уникальным LoRA‑адаптером. В качестве токенизатора используется Mistral v0.1, модель предобучена на 100 B токенов мультимодальных и чисто текстовых данных.
Качество модели и бенчмарки
Оценка проведена по 14 стандартным наборам: от распознавания таблиц и диаграмм до визуального счёта и общих reasoning‑задач. Ниже – сравнение ключевых метрик для модели 2.7 B.
- DocVQA (test) — 90.9 (в отличие от 95.3 у Qwen3‑VL‑4B)
- ChartQA (test) — 79.6 (лучше, чем у Qwen3‑VL‑2B, но хуже InternVL3.5‑2B)
- OCRBench — 73.6 (отстаёт от InternVL3.5‑2B = 83.4)
- CountBenchQA — 87.5 (выдающийся результат)
- PixMoCount (test) — 82.5 (существенно лучше, чем у InternVL3.5‑2B = 32.8)
- MMMU (val) — 37.7 (ниже у более крупных моделей)
- MathVista (mini) — 51.0 (отстаёт от Qwen3‑VL‑4B = 63.6)
Итого: сильные стороны — подсчёт объектов и понимание документов; слабые — глубокие knowledge‑reasoning задачи.
Почему инференс быстрее
Традиционный трансформер растёт квадратично O(n²) от длины токенов, а мульти‑модальные входы легко приводят к нескольким тысячам визуальных токенов. Zamba2‑VL использует рекуррентное состояние фиксированного размера и почти линейный предзаполняемый проход O(n). На предзаполнении в 32 k токенов модель демонстрирует почти порядок‑меньшую задержку time‑to‑first‑token (TTFT) по сравнению с аналогичными трансформер‑VLM.
Практические сценарии
- Извлечение данных из документов — отличные результаты DocVQA позволяют автоматизировать обработку счетов, накладных и форм.
- Подсчёт товаров и инвентаризация — модель «видит» и считает объекты, что полезно в рознице и складском учёте.
- Граундент‑интерфейсы — возможность указывать на конкретные элементы UI или продукта.
- Локальные помощники — 1.2 B версия работает на смартфонах и edge‑устройствах благодаря низкому TTFT.
- Обработка длинных визуальных контекстов — мульти‑страничные PDF, короткие видеоклипы.
Начало работы
Все три модели доступны в коллекции Zyphra Zamba2‑VL на Hugging Face. Инференс реализован в форке transformers от Zyphra (v4.57.1). Для быстрой работы требуются CUDA‑GPU и оптимизированные Mamba2‑ядра.
Установка зависимостей:
pip install "transformers @ git+https://github.com/Zyphra/transformers.git@zamba2-vl" pip install qwen-vl-utils==0.0.2 flash_attn pip install --no-build-isolation "causal-conv1d @ git+https://github.com/Zyphra/z-causal-conv1d.git@zamba2-vl" pip install --no-build-isolation "mamba-ssm @ git+https://github.com/Zyphra/mamba.git@zamba2-vl"
Пример однократного запроса:
from transformers import Zamba2_VLForConditionalGeneration, Zamba2_VLProcessor import torch, requests from PIL import Image from qwen_vl_utils import process_vision_infodevice = "cuda" processor = Zamba2_VLProcessor.from_pretrained("Zyphra/Zamba2-VL-2.7B", temporal_patch_size=1) model = Zamba2_VLForConditionalGeneration.from_pretrained( "Zyphra/Zamba2-VL-2.7B", device_map=device, torch_dtype=torch.bfloat16, attn_implementation="flash_attention_2", )
url = "http://images.cocodataset.org/val2017/000000039769.jpg" image = Image.open(requests.get(url, stream=True).raw) question = "What do you see in the image? Give us some detail." num_img_tokens = 3400
conversation = [ {"role": "user", "content": [ {"type": "image", "image": image, "max_pixels": num_img_tokens 28 28, "min_pixels": 10 28 28}, {"type": "text", "text": question}, ]}, ] prompt = processor.apply_chat_template(conversation, add_generationprompt=True) images, = process_vision_info(conversation) inputs = processor(text=prompt, images=images, add_special_tokens=True, return_tensors="pt") inputs = {k: v.to(device) for k, v in inputs.items()}
outputs = model.generate(**inputs, max_new_tokens=100) print(processor.tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Для работы с другими размерами замените идентификатор модели на Zamba2-VL-1.2B или Zamba2-VL-7B.
Сильные и слабые стороны
Плюсы:
- Первый открытый VLM‑семейство на гибридном SSM‑Transformer‑бэкенде.
- О десяток раз меньше TTFT по сравнению с трансформер‑базой.
- Выдающиеся результаты в визуальном подсчёте и документном понимании.
- Три размера для edge‑устройств, средних серверов и 7 B‑развёртываний.
- Apache 2.0, публичные веса и работающий код.
Минусы:
- Артефакт исследовательского характера; требует самостоятельного хостинга.
- Отстаёт в knowledge‑reasoning (MMMU, MathVista) от более крупных моделей.
- OCRBench хуже, чем у Qwen3‑VL и InternVL3.5 аналогичного размера.
- Оптимизированные ядра работают только на CUDA‑GPU; CPU‑путь слишком медленный.
Ключевые выводы
- Zamba2‑VL — открытые модели 1.2 B, 2.7 B и 7 B под лицензией Apache 2.0.
- Гибрид Mamba2 + Transformer обеспечивает почти линейный предзаполняемый проход.
- TTFT снижен примерно на порядок по сравнению с традиционными трансформер‑VLM.
- Сильные стороны — визуальный подсчёт и обработка документов; слабые — глубокий reasoning.
- Веса, код и документация доступны на Hugging Face и GitHub.




















