A Challenging Visual-centric Benchmark for Evaluating Multimodal Reasoning in MLLMs!
This is the Eval code repo of VisuLogic.
For more details, please refer to the project page for dataset exploration, code repos and visualization tools: https://visulogic-benchmark.github.io/VisuLogic/.
๐ Homepage | ๐ Leaderboard | ๐ Paper | ๐ค Benchmark | ๐ป Eval Code | ๐ค Train Data | ๐ป Train Code
- ๐ฅ[2025-06-28] Release the SFT data! ๐
- ๐ฅ[2025-04-26] VisuLogic has been merged into VLMEvalkit. You can evaluate your model on VisuLogic with it ! Usage see VLMEvalkit ! ๐
- ๐ฅ[2025-04-22] Release the paper, training data and training code! ๐
- ๐ฅ[2025-04-08] Release the benchmark and the code! ๐
- Release the benchmark dataset and eval code
- Release training code
- Release the paper
- Release the training dataset
- Release model ckpts
VisuLogic is a newly designed benchmark aimed at evaluating the visual reasoning capabilities of Multi-modal Large Language Models (MLLMs), independent of textual reasoning processes. It features carefully constructed visual reasoning tasks spanning multiple categories, divided into six types based on required reasoning skills (e.g., Quantitative Reasoning, which involves understanding and deducing changes in the quantity of elements in images). Unlike existing benchmarks, VisuLogic is a challenging visual reasoning benchmark that is inherently difficult to articulate using language, providing a more rigorous evaluation of the visual reasoning capabilities of MLLMs. Most models score below 30% accuracyโonly slightly above the 25% random baseline and far below the 51.4% achieved by humansโrevealing significant gaps in visual reasoning.

-
๐ Visuo-Logical Challenge
The first benchmark to integrate visual perception with logical reasoning, enabling authentic multimodal evaluation. Most models score below 30% accuracyโonly slightly above the 25% random baseline and far below the 51.4% achieved by humansโrevealing significant gaps in visual reasoning. -
๐ ๏ธ Rigorous Design
Includes 1,000 meticulously curated questions, spanning 6 domains and 23 subcategories, for comprehensive performance evaluation. -
๐ Anti-Linguistic Shortcut
Designed to avoid linguistic reasoning, ensuring tasks rely on genuine visual reasoning rather than shortcuts. -
๐ก RL Exploration
We identify the RL technique as a promising direction for improving the visual reasoning capabilities of MLLMs. Through RL method, models reach SOTA in VisuLogic! -
โ Fully Open-source
We open-source all the evaluation code, training scripts, and datasets associated with this work to promote further research and innovation.
For InternVL series, QwenVL series, glm-4v, ovis2, mplug-om3, llava-onevision
pip install -r requirements.txtpip install -r requirements.txt
pip install transformers==4.44.2pip install -r requirements.txt
pip install transformers==4.37For more details, please refer to this link.
pip install -r requirements.txt
pip install transformers==4.37- Download huggingface dataset in https://huggingface.co/datasets/VisuLogic/VisuLogic
- unzip images.zip
|- ...
|- data.jsonl
|- images/ (unzip from images.zip)
|- 00000.png
|- 00001.png
For example, just find the corresponding model and execute its script.
sh scripts/eval_internvl.shVisuLogic provides a clean and extensible framework to evaluate custom models. You only need to add & change 2 files
- add
model/mymodel.pywith template as following:
from models.base_model import BaseModel
class mymodel(BaseModel):
def __init__(self, model_path: str, user_prompt: str = None):
pass
def predict(self, input_data: Any) -> Any:
"""
Model prediction interface
Args:
input_data:
input_data['text'] # question text
input_data['image_path'] # image path of question
"""
pass
@property
def name(self) -> str:
"""Model name"""
pass- modified
model/__init__.py
...
from models.mymodel import mymodel
def load_model(args):
...
elif 'mymodel' in args.model_path.lower():
model = mymodel(model_path = args.model_path,
user_prompt = args.user_prompt)
...
return model- run scripts
mkdir -p outputs/
python evaluation/eval_model.py \
--input_file path/to/data.jsonl \
--output_file outputs/output_file.jsonl \
--model_path mymodel \
--judge_api_key sk-xxx
VisuLogic evaluates model accuracy by combining boxed, predefined, and LLM-based extraction methods to produce a single choice (a/b/c/d), then compares it with the ground-truth label to determine correctness.
Please refer to VisuLogic-Train for training code.
- Weiye Xu: [email protected]
- Jiahao Wang: [email protected]
BibTeX:
@article{xu2025visulogic,
title={VisuLogic: A Benchmark for Evaluating Visual Reasoning in Multi-modal Large Language Models},
author={Xu, Weiye and Wang, Jiahao and Wang, Weiyun and Chen, Zhe and Zhou, Wengang and Yang, Aijun and Lu, Lewei and Li, Houqiang and Wang, Xiaohua and Zhu, Xizhou and Wang, Wenhai and Dai, Jifeng and Zhu, Jinguo},
journal={arXiv preprint arXiv:2504.15279},
year={2025},
url={https://arxiv.org/abs/2504.15279}
}๐ Thank you for your interest in VisuLogic! We hope this benchmark helps drive advancements in multimodal reasoning! ๐
