[ICLR 2026 Oral & ICML 2026] Generative Universal Verifier as Multimodal Meta-Reasoner
See the codeWe introduce Generative Universal Verifier, a novel concept and plugin designed for next-generation multimodal reasoning in vision-language models and unified multimodal models, providing the fundamental capability of reflection and refinement on visual outcomes during the reasoning and generation process.
OmniVerifier advances both reliable reflection during generation and scalable test-time refinement, marking a step toward more trustworthy and controllable next-generation reasoning systems.
[2026.05] OmniVerifier-M1 is accepted by ICML 2026.
[2026.05] We release OmniVerifier-M1, advancing multimodal verifiers through symbolic meta-verification.
[2026.02] OmniVerifier is accepted by ICLR 2026 (Oral Paper, Top 1%).
[2025.11] Inference code of two automated pipelines for visual verifier data construction is released.
[2025.10] Inference code of Sequential OmniVerifier-TTS (based on Qwen-Image) is released.
[2025.10] Evaluation code of ViVerBench is released.
[2025.10] Training code of OmniVerifier is released.
git clone https://github.com/Cominclip/OmniVerifier.git
cd OmniVerifier
pip install -e .
Use the following command to test OmniVerifier-7B on a generated image:
python inference.py
Please modify image_path and prompt to your own settings.
The model will output both an answer and an explanation, indicating whether the image is strictly aligned with the given prompt.
We provide two evaluation approaches: rule-based and model-based. As a first step, store the model outputs in a JSON file such as your_model.json.
For rule-based evaluation:
python viverbench_eval_rule_based.py --model_response your_model.json
For model-based evaluation, we use GPT-4.1 as the judge model:
python viverbench_eval_model_based.py --model_response your_model.json
We apply DAPO to directly train Qwen2.5VL-7B without cold start:
bash examples/qwen2_5_vl_7b_dapo.sh
After training, you should merge the checkpoint in Hugging Face format:
python3 scripts/model_merger.py --local_dir checkpoints/omniverifier/exp_name/global_step_1/actor
We provide the code for sequential Omniverifier-TTS using Qwen-Image. You should first generate the step0 image and use this script for iteratively self-refine:
python sequential_omniverifier_tts.py
bash examples/M1_decoupled_training.sh
bash examples/M1_joint_training.sh
@article{zhang2025generative,
title={Generative Universal Verifier as Multimodal Meta-Reasoner},
author={Zhang, Xinchen and Zhang, Xiaoying and Wu, Youbin and Cao, Yanbin and Zhang, Renrui and Chu, Ruihang and Yang, Ling and Yang, Yujiu},
journal={arXiv preprint arXiv:2510.13804},
year={2025}
}
@article{zhang2026omniverifier,
title={OmniVerifier-M1: Multimodal Meta-Verifier with Explicit Structured Recalibration},
author={Zhang, Xinchen and Liu, Bowei and Liu, Jiale and Shi, Chufan and Zhang, Yizhen and Liu, Junhong and Zhang, Youliang and Li, Zhiheng and Yang, Yujiu and Yang, Ling},
journal={arXiv preprint arXiv:2605.28805},
year={2026}
}
OmniVerifier is built upon several solid works. Thanks to EasyR1 and veRL for their wonderful work and codebase!
20 commits
1 commits
Python
98.9%
Cuda
1.1%
[ICLR 2026 Oral & ICML 2026] Generative Universal Verifier as Multimodal Meta-Reasoner
See the codeWe introduce Generative Universal Verifier, a novel concept and plugin designed for next-generation multimodal reasoning in vision-language models and unified multimodal models, providing the fundamental capability of reflection and refinement on visual outcomes during the reasoning and generation process.
OmniVerifier advances both reliable reflection during generation and scalable test-time refinement, marking a step toward more trustworthy and controllable next-generation reasoning systems.
[2026.05] OmniVerifier-M1 is accepted by ICML 2026.
[2026.05] We release OmniVerifier-M1, advancing multimodal verifiers through symbolic meta-verification.
[2026.02] OmniVerifier is accepted by ICLR 2026 (Oral Paper, Top 1%).
[2025.11] Inference code of two automated pipelines for visual verifier data construction is released.
[2025.10] Inference code of Sequential OmniVerifier-TTS (based on Qwen-Image) is released.
[2025.10] Evaluation code of ViVerBench is released.
[2025.10] Training code of OmniVerifier is released.
git clone https://github.com/Cominclip/OmniVerifier.git
cd OmniVerifier
pip install -e .
Use the following command to test OmniVerifier-7B on a generated image:
python inference.py
Please modify image_path and prompt to your own settings.
The model will output both an answer and an explanation, indicating whether the image is strictly aligned with the given prompt.
We provide two evaluation approaches: rule-based and model-based. As a first step, store the model outputs in a JSON file such as your_model.json.
For rule-based evaluation:
python viverbench_eval_rule_based.py --model_response your_model.json
For model-based evaluation, we use GPT-4.1 as the judge model:
python viverbench_eval_model_based.py --model_response your_model.json
We apply DAPO to directly train Qwen2.5VL-7B without cold start:
bash examples/qwen2_5_vl_7b_dapo.sh
After training, you should merge the checkpoint in Hugging Face format:
python3 scripts/model_merger.py --local_dir checkpoints/omniverifier/exp_name/global_step_1/actor
We provide the code for sequential Omniverifier-TTS using Qwen-Image. You should first generate the step0 image and use this script for iteratively self-refine:
python sequential_omniverifier_tts.py
bash examples/M1_decoupled_training.sh
bash examples/M1_joint_training.sh
@article{zhang2025generative,
title={Generative Universal Verifier as Multimodal Meta-Reasoner},
author={Zhang, Xinchen and Zhang, Xiaoying and Wu, Youbin and Cao, Yanbin and Zhang, Renrui and Chu, Ruihang and Yang, Ling and Yang, Yujiu},
journal={arXiv preprint arXiv:2510.13804},
year={2025}
}
@article{zhang2026omniverifier,
title={OmniVerifier-M1: Multimodal Meta-Verifier with Explicit Structured Recalibration},
author={Zhang, Xinchen and Liu, Bowei and Liu, Jiale and Shi, Chufan and Zhang, Yizhen and Liu, Junhong and Zhang, Youliang and Li, Zhiheng and Yang, Yujiu and Yang, Ling},
journal={arXiv preprint arXiv:2605.28805},
year={2026}
}
OmniVerifier is built upon several solid works. Thanks to EasyR1 and veRL for their wonderful work and codebase!
20 commits
1 commits
Python
98.9%
Cuda
1.1%