
Современные LLM умеют «читать» не только текстовые материалы, но и визуальные — от сканов договоров и таблиц до рукописей и диаграмм, и даже обзавелись новым названием — VLM (Vision Language Models). Но измерять качество их работы на реальных бизнес‑сценариях было негде и нечем, особенно если дело касалось тяжелого мультимодального контента на русском. Поэтому мы подумали и собрали собственный бенчмарк — MWS Vision Bench.
Коротко о бенчмарке:
- Состоит из 5 практических заданий: полностраничный OCR (страница→текст), структурированный OCR (страница→Markdown), grounding (координаты текста), KIE/JSON (извлечение значений по ключам) и VQA (вопрос‑ответ).
- Размер: 2580 вопросов к 800 уникальным изображениям (валидационый сплит: 1302 вопроса, тестовый: 1 278 вопросов).
- Код и валидационный сплит открываем; приватный тест — по запросу. Повторить запуск можно менее чем за 1 час.
Репозиторий
Валидационный датасет
Теперь подробности — в вопросно-ответной форме.
Зачем нам ещё один бенчмарк?
За последние два года мультимодальные модели резко продвинулись в чтении изображений документов и другой визуальной информации: договоры, счета, формы, конспекты, диаграммы, интерфейсы приложений. Однако популярные международные бенчмарки часто не покрывают практику бизнеса или не поддерживают русский язык. Например, если мы взглянем на популярный лидерборд мультимодалок на Hugging Face, мы увидим, что он сводится к усреднению нескольких других бенчмарков, таких как HallusionBench, AI2D, MathVista и MMMU. Все бы ничего, но:
HallusionBench — диагностический набор про визуальные иллюзии и «галлюцинации» VLM, а не про документы.
AI2D (диаграммы) — очень примитивный бенчмарк 2016 года, состоит из диаграмм и учебных иллюстраций, нужно просто выбрать один верный вариант ответа из четырех.
MathVista — имеет репутацию математического. Однако если пробежаться по нему детально, можно увидеть, что ответ по-прежнему нужно выбирать из нескольких вариантов, а задания не только весьма просты для современных VLM, но часто еще и не имеют никакого отношения к математике. Например, на изображении может быть Обама с гостем, а вопрос звучать как "What is the age gap between these two people in image?".
MMMU — снова нужно выбирать ответы (хотя иногда их нужно прописывать текстом). Бенчмарк делает большой шаг вперед в плане сложности заданий — они доходят до университетского уровня, но это скорее тест на знания модели, чем на ее умение работать с документами.
Если вам нужно написать для вашей компании чат-ассистента, а в документации для базы знаний, по которой он должен работать, очень много сканов финансовых отчетов, вперемешку со схемами эвакуации из здания, скриншотами инструкций из интернета и электросхемами, которые рисовали ваши инженеры, — ни один из этих бенчмарков не будет вам полезен. Ближе всего будет OCRBench и его вторая версия OCRBench V2. Эти два бенчмарка содержат много разнообразных заданий с тяжелым OCR, но вот незадача — только на английском и китайском языках. На русском языке подходящих бенчмарков нет, совсем.
Иногда можно увидеть попытки решить проблему через перевод существующих бенчмарков с английского языка на русский. Однако если мы хотим оценивать способности VLM в понимании русскоязычной документации, нам нужны именно изображения с текстами на русском. Перевод вопросов и ответов какой-нибудь MathVista или MMMU тут не поможет.
Что внутри MWS Vision Bench?
Чтобы иметь возможность сравнивать разные модели на изображениях с русскоязычным текстом, мы с командой собрали датасет MWS Vision Bench. Он включает 800 изображений из трёх больших семейств:
-
Офисный контент — 500 изображений:
Сканы документов — 200
Контракты, письма, договоры. Обычно это страницы А4 с большим количеством печатного текста.Диаграммы — 100
Графики, диаграммы, слайды презентаций — там мало понять текст, его расположение на изображении играет важную роль.Таблицы — 100
Бухгалтерский учёт / финансы / отчёты с множеством строк и столбцов. Большие и сложные таблицы.Схемы / чертежи / карты — 100
Планы, карты, инженерные схемы — то, что сегодня даётся VLM тяжелее всего.
Примеры изображений категории "Офисный контент" -
Персональный контент — 300 изображений:
Рукописные конспекты — 100
Конспекты и тетради — исключительно рукописный текст образовательного содержания.Рукописные и смешанные документы — 100
Медицинские справки, открытки, ноты, личные записи и т. п. — рукописный текст с небольшой долей печатного текста.Персональные печатные документы — 100
Чеки, билеты, грамоты, медицинские анализы и т.д.
Примеры изображений категории "Персональный контент"
Все изображения обезличены, чувствительные данные замазаны.

На каких задачах оцениваем?
Hаиболее совершенный и сильный из существующих бенчмарков для VLM — OCRBench v2. Он содержит 31 сценарий и ~10 000 QA‑пар, однако все его задания — на английском либо китайском. Мы взяли за основу его идеи и сфокусировались на пяти «сутевых» направлениях (остальные типы заданий так или иначе сводятся к этим пяти):
1) Простой OCR (image→text)
Перевод изображения в простой текст, иногда части страницы, но чаще полностраничный (число токенов в ответе может превышать 4000). Итоговая оценка считается как среднее значение по метрикам BLEU, METEOR, F1-score (по словам), и нормализованной редакторской дистанции.
2) Структурированный OCR (image→markdown)
Усложненная версия — перевод изображения в markdown. Можно было бы добавить и перевод в более сложный код (python / html), но для бенчмарка мы решили, что markdown пока будет достаточно. Метрика TEDS (Tree‑Edit‑Distance Similarity) сравнивает структуру и текст markdown‑деревьев (таргетного и предсказанного). Мы пофиксили баг авторов OCRBench_V2, из‑за которого даже идентичные ответы иногда получали < 1.0.

3) Локализация текста на изображении (grounding)
Модель должна понять, где на изображении находится то или иное слово / элемент и вернуть его координаты. Формат боксов: [x1, y1, x2, y2]
, абсолютные координаты в диапазоне 0…2048 (под размер входных изображений). Метрика — IoU В OCRBench v2.
Изначально координаты были нормализованы к 0…1000 — мы сознательно перешли на абсолютные координаты для этого типа задания. Чтобы обойти препроцессинг (который может менять размеры изображения до того, как оно попадет в модель), мы в вопросе к VLM также сообщаем истинные размеры изображения. Grounding — самое сложное задание для современных мультимодальных моделек, как правило, средний IoU не превышает 25%.

4) Извлечение ключевой информации (Key Information Extraction→JSON)
Необходимо по изображению заполнить JSON — найти значения для заданных ключей и вернуть получившийся словарь. Метрика — точность извлечения ключевых значений. Метрика дискретная: подсчитывается доля ключей, значения которых полностью совпадают с эталоном. Формально вычисляются показатели Precision и Recall на множестве предсказанных пар ключ-значение относительно ожидаемых, после чего итоговая оценка рассчитывается как F1-мера.
5) Ответы на вопросы по изображению (VQA)
Короткие ответы — строгий exact match; ответ модели должен содержать внутри себя один из допустимых таргетных вариантов (например "два" или "2"); длинные ответы (более 5 слов) — текстовая близость (в т. ч. ANLS/редакционная схожесть).

Как мы делали разметку?
Для image→text и image→markdown использовалась предразметка (LLM), но каждый пример прошёл ручную верификацию и правки.
Grounding, VQA и KIE размечались полностью вручную.
Мы делали несколько итераций улучшений после прогонов моделей: находили спорные места в таргетах и исправляли.
Как показали себя популярные VLMки на бенчмарке?
Мы разделили исходный набор данных (800 изображений, 2580 заданий) случайным образом на две примерно равные части — валидационную (400 изображений, 1302 задания) и тестовую (400 изображений, 1278 вопроса).
Прогнав через бенчмарк известные модели от Google, OpenAI и Alibaba в их различных версиях, мы получили следующую картину.
Распределение моделей на валидационном наборе данных
Model |
Overall |
img→ text |
img→ markdown |
Grounding |
KIE (img→ JSON) |
VQA |
---|---|---|---|---|---|---|
Gemini-2.5-pro |
0.682 |
0.836 |
0.745 |
0.084 |
0.891 |
0.853 |
Gemini-2.5-flash |
0.644 |
0.796 |
0.683 |
0.067 |
0.841 |
0.833 |
gpt-4.1-mini |
0.643 |
0.866 |
0.724 |
0.091 |
0.750 |
0.782 |
Claude-4.5-Sonnet |
0.639 |
0.723 |
0.676 |
0.377 |
0.728 |
0.692 |
Cotype VL (32B 8bit) |
0.639 |
0.797 |
0.756 |
0.262 |
0.694 |
0.685 |
gpt-5-mini |
0.632 |
0.797 |
0.678 |
0.126 |
0.784 |
0.776 |
Qwen2.5-VL-72B-Instruct |
0.631 |
0.848 |
0.712 |
0.220 |
0.644 |
0.732 |
gpt-5-mini (responses) |
0.594 |
0.743 |
0.567 |
0.118 |
0.811 |
0.731 |
Qwen3-VL-30B-A3B-Instruct |
0.589 |
0.802 |
0.688 |
0.053 |
0.661 |
0.743 |
gpt-4.1 |
0.587 |
0.709 |
0.693 |
0.086 |
0.662 |
0.784 |
Qwen3-VL-30B-A3B-Instruct-FP8 |
0.583 |
0.798 |
0.683 |
0.056 |
0.638 |
0.740 |
Qwen2.5-VL-32B |
0.577 |
0.767 |
0.649 |
0.232 |
0.493 |
0.743 |
gpt-5 (responses) |
0.573 |
0.746 |
0.650 |
0.080 |
0.687 |
0.704 |
Qwen2.5-VL-7B |
0.549 |
0.779 |
0.704 |
0.185 |
0.426 |
0.651 |
gpt-4.1-nano |
0.503 |
0.676 |
0.672 |
0.028 |
0.567 |
0.573 |
gpt-5-nano |
0.503 |
0.487 |
0.583 |
0.091 |
0.661 |
0.693 |
Qwen2.5-VL-3B |
0.402 |
0.613 |
0.654 |
0.045 |
0.203 |
0.494 |
Примечание: обращаться к моделям OpenAI можно по Chat Completions API и Responses API. Последний вариант рекомендуется OpenAI и по нашим наблюдением работает гораздо быстрее (для GPT-5 при этом является единственным надежным). Оба API имеют несколько разный набор гиперпараметров (для Responses API и GPT-5 это, например, не Temperature, а Verbosity и Reasoning Effort). Результаты тоже получаются несколько разные. Если в скобочках не указано Responses API, значит использовался Chat Completions. Положение GPT-4.1-mini выше остальных версий от OpenAI удивительно, однако, доминирование мини-версии над главной - GPT-4.1 - проявляется и в официальных отчетах OpenAI (на том же MathVista или CharXiv). Отставание GPT-5 от других моделей (вроде Qwen2.5-VL-32B) заметно и на схожем по сути бенчмарке OCRBench.
Распределение моделей на тестовом наборе данных
Model |
Overall |
img→ text |
img→ markdown |
Grounding |
KIE (img→JSON) |
VQA |
---|---|---|---|---|---|---|
Gemini-2.5-pro |
0.670 |
0.850 |
0.734 |
0.079 |
0.855 |
0.834 |
Gemini-2.5-flash |
0.633 |
0.827 |
0.664 |
0.072 |
0.820 |
0.784 |
Claude-4.5-Sonnet |
0.632 |
0.727 |
0.652 |
0.369 |
0.745 |
0.665 |
gpt-4.1-mini |
0.628 |
0.865 |
0.710 |
0.091 |
0.741 |
0.735 |
Cotype VL (32B 8bit) |
0.624 |
0.799 |
0.742 |
0.246 |
0.694 |
0.685 |
Qwen2.5-VL-72B-Instruct |
0.620 |
0.840 |
0.699 |
0.203 |
0.631 |
0.725 |
gpt-5-mini |
0.615 |
0.797 |
0.675 |
0.104 |
0.745 |
0.754 |
gpt-4.1 |
0.575 |
0.729 |
0.691 |
0.077 |
0.673 |
0.705 |
gpt-5-mini (responses) |
0.575 |
0.749 |
0.588 |
0.114 |
0.741 |
0.685 |
gpt-5 (responses) |
0.568 |
0.748 |
0.646 |
0.079 |
0.691 |
0.676 |
Qwen2.5-VL-32B |
0.565 |
0.742 |
0.614 |
0.217 |
0.493 |
0.743 |
Qwen3-VL-30B-A3B-Instruct |
0.557 |
0.790 |
0.644 |
0.053 |
0.661 |
0.741 |
Qwen3-VL-30B-A3B-Instruct-FP8 |
0.555 |
0.794 |
0.656 |
0.051 |
0.582 |
0.689 |
Qwen2.5-VL-7B |
0.537 |
0.750 |
0.676 |
0.184 |
0.438 |
0.635 |
gpt-5-nano |
0.499 |
0.519 |
0.606 |
0.090 |
0.598 |
0.681 |
gpt-4.1-nano |
0.480 |
0.686 |
0.640 |
0.025 |
0.555 |
0.511 |
Qwen2.5-VL-3B |
0.409 |
0.631 |
0.688 |
0.026 |
0.232 |
0.469 |
Как можно заметить, несмотря на несколько разные значения метрик, относительный порядок моделей на валидационном и тестовом сплитах почти полностью совпадает. Безусловный лидер - Gemini-2.5-pro, чуть ниже идут примерно на одном уровне Gemini-2.5-flash, Claude-4.5-Sonnet и GPT-4.1-mini. Grounding дается тяжело всем сегодняшним моделям, кроме моделей от Anthropic. Наша же новая модель Cotype VL (32B 8bit) на обоих сплитах приземлилась в первой части лидерборда, но выше Qwen2.5-VL, Qwen3-VL и GPT-5.
Еще в 2024 году в продуктовой разработке мы замечали, что VLM часто работают лучше традиционного OCR, но все же недостаточно качественно. В начале 2025 года вижн-нейронки совершили большой прыжок вперед (семейство Qwen-2.5-VL и GPT-4.1). Летом 2025 вышло следующее поколение моделей. Однако, глядя на результаты GPT-5 (развитие в сторону рассуждений), а также на такие модели, как Qwen-3 / UI-TARS 2.0 (шаг в сторону моделей 200+ миллиардов параметров), создается впечатление, что трендом ушедшего лета стало кратное увеличение именно языковой составляющей. Новые модели (GPT-5, Qwen3-VL) оказались чуть хуже старых (GPT-4.1, Qwen2.5-VL). Мораль - в плане "вижн" пока ничего не меняется — энкодер на полмиллиарда параметров, проекция в LLM-токены. Эту часть никто не улучшает, так что в этом плане летние модели не лучше тех, что выпущены в начале года.
Как запустить бенчмарк у себя?
Клонируйте репозиторий, следуя README.md установите необходимую среду и запустите бенчмарк одной командой. Датасет при запуске скачается автоматически.
Производительность: время инференса зависит от числа запущенных параллельно потоков (у OpenAI это упрется в 5-30 в зависимости от tier, для GigaChat API рекомендуем 1 поток, для своих vllm API рекомендуем 30), время оценки — от числа CPU. При хорошем API с max_workers 30 и на мульти CPU-машине бенчмарк пройдет менее чем за полчаса.
Повторяемость: из‑за стохастики API/vLLM общий overall гуляет (в среднем) в диапазоне ±0.002 по overall для каждого сплита, по подзадачам — до ±0.010 (что немало для узких срезов, но приемлемо). Мы сознательно сделали фокус именно на vLLM, а не на transformers. Да, transformers позволили бы получать полностью воспроизводимый результат, однако тесты длились бы на порядок дольше (вплоть до суток и более), а главное — бенчмарк создавался для помощи разработчикам продуктов, а они будут работать именно через API / vLLM-интерфейс.
Заключение
Надеемся, бенчмарк будет вам полезен ?
Для тех, кто дочитал до конца, еще раз дублирую ссылки:
Репозиторий
Валидационный датасет
Используйте их, чтобы честно сравнивать модели в близких к продакшену условиях. Если же хотите прогон на закрытом тесте или добавить модель в лидерборд (пока положили в README на GitHab), пишите сюда: cotype@mts.ai.
Norgat
Странно, что pixtral пропустили в сравнении. Он выдает довольно хорошие результаты.