CoolFace
Modelpublic

OpenMMReasoner/OpenMMReasoner-ColdStart

sourceHugging Facecc-by-nc-4.0updated 9mo agoView on Hugging Face
3likes22downloads
README.md136 linesDownload Raw Back to root
1---2base_model:3- Qwen/Qwen2.5-VL-7B-Instruct4datasets:5- OpenMMReasoner/OpenMMReasoner-SFT-874K6pipeline_tag: image-text-to-text7library_name: transformers8license: cc-by-nc-4.09---10 11# OpenMMReasoner: Pushing the Frontiers for Multimodal Reasoning with an Open and General Recipe12 13<div align="center">14 15[![Data](https://img.shields.io/badge/Data-0040A1?style=for-the-badge&logo=huggingface&logoColor=ffffff&labelColor)](https://huggingface.co/collections/lmms-lab/openmmreasoner)16[![Paper](https://img.shields.io/badge/Paper-000000?style=for-the-badge&logo=arxiv&logoColor=white)](https://arxiv.org/abs/2511.16334)17[![Project Page](https://img.shields.io/badge/Website-000000?style=for-the-badge&logo=google-chrome&logoColor=white)](https://evolvinglmms-lab.github.io/OpenMMReasoner/)18[![Github](https://img.shields.io/badge/Code-000000?style=for-the-badge&logo=github&logoColor=white)](https://github.com/EvolvingLMMs-Lab/OpenMMReasoner)19</div>20 21## Overview22 23Recent advancements in large reasoning models have fueled growing interest in extending such capabilities to multimodal domains. However, despite notable progress in visual reasoning, the lack of transparent and reproducible data curation and training strategies remains a major barrier to scalable research.24 25In this work, we introduce **OpenMMReasoner**, a fully transparent two-stage recipe for multimodal reasoning spanning supervised fine-tuning (SFT) and reinforcement learning (RL). In the SFT stage, we construct an 874K-sample cold-start dataset with rigorous step-by-step validation, providing a strong foundation for reasoning capabilities. The subsequent RL stage leverages a 74K-sample dataset across diverse domains to further sharpen and stabilize these abilities, resulting in a more robust and efficient learning process. Extensive evaluations demonstrate that our training recipe not only surpasses strong baselines but also highlights the critical role of data quality and training design in shaping multimodal reasoning performance. Notably, our method achieves a 11.6% improvement over the Qwen2.5-VL-7B-Instruct baseline across nine multimodal reasoning benchmarks, establishing a solid empirical foundation for future large-scale multimodal reasoning research.26 27 28## Model Card29 30The model is the coldstart version of the OpenMMReasoner and was trained on https://huggingface.co/datasets/OpenMMReasoner/OpenMMReasoner-SFT-874K.31 32## Basic Usage33 34We present a very basic inference usage here for our model. Our model can be used just as Qwen2.5-VL-7B-Instruct and using vllm. For more detail about using and evaluation of our model, please visit [GitHub](https://github.com/EvolvingLMMs-Lab/OpenMMReasoner) for more information.35 36```python37from transformers import Qwen2_5_VLForConditionalGeneration, AutoTokenizer, AutoProcessor38from qwen_vl_utils import process_vision_info39 40SYSTEM_PROMPT = (41    "You are a helpful assistant. When the user asks a question, your response must include two parts: "42    "first, the reasoning process enclosed in <think>...</think> tags, then the final answer enclosed in <answer>...</answer> tags."43    "Please provide a clear, concise response within <answer> </answer> tags that directly addresses the question."44)45 46model = Qwen2_5_VLForConditionalGeneration.from_pretrained(47    "OpenMMReasoner/OpenMMReasoner-ColdStart", torch_dtype="auto", device_map="auto"48)49 50processor = AutoProcessor.from_pretrained("OpenMMReasoner/OpenMMReasoner-ColdStart")51 52messages = [53    {54        "role": "system",55        "content": [56            {"type": "text", "text": SYSTEM_PROMPT},57        ],58    },59    {60        "role": "user",61        "content": [62            {63                "type": "image",64                "image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",65            },66            {"type": "text", "text": "Describe this image."},67        ],68    }69]70 71# Preparation for inference72text = processor.apply_chat_template(73    messages, tokenize=False, add_generation_prompt=True74)75image_inputs, video_inputs = process_vision_info(messages)76inputs = processor(77    text=[text],78    images=image_inputs,79    videos=video_inputs,80    padding=True,81    return_tensors="pt",82)83inputs = inputs.to("cuda")84 85# Inference: Generation of the output86generated_ids = model.generate(**inputs, max_new_tokens=128)87generated_ids_trimmed = [88    out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)89]90output_text = processor.batch_decode(91    generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False92)93print(output_text)94 95```96 97## Evaluation Results98 99Our **OpenMMReasoner-7B (OMR-7B)** model demonstrates strong performance across a comprehensive suite of multimodal reasoning benchmarks. With only 874K SFT samples and 74K RL samples—significantly less data than many competing methods—our model achieves state-of-the-art or highly competitive results on 9 out of 14 benchmark tasks. Notably, OMR-7B achieves **79.5%** on MathVista testmini (best among all models), **63.8%** on MathVerse testmini (best), and **79.0%** on WeMath loose (best), demonstrating the effectiveness of our transparent two-stage training recipe. This performance validates our emphasis on data quality and rigorous training design over simply scaling dataset size.100 101| Model | SFT Data | RL Data | MathVista<br/>testmini | MathVision<br/>test | MathVision<br/>testmini | MathVerse<br/>testmini | DynaMath<br/>worst | WeMath<br/>loose | LogicVista<br/>test | MMMU<br/>val | MMMU-Pro<br/>standard | MMMU-Pro<br/>vision | CharXiv<br/>reas. | CharXiv<br/>desc. |102|-------|----------|---------|------------------------|---------------------|-------------------------|------------------------|--------------------|--------------------|---------------------|--------------|-----------------------|---------------------|-------------------|-------------------|103| VLAA-Thinker-Qwen2.5-7B | 126k | 25k | 68.0 | 26.4 | - | 48.2 | 22.4 | - | 48.5 | - | - | - | - | - |104| ThinkLite-7B-VL | - | 11k | 71.6 | 24.6 | - | 42.9 | 16.5 | - | 42.7 | - | - | - | - | - |105| VL-Rethinker-7B | - | 39k | 73.7 | 28.4 | - | 46.4 | 17.8 | - | 42.7 | - | 41.7 | - | - | - |106| M2-Reasoning | 6.2M | 102k | 75.0 | 42.1 | - | 40.4 | - | - | 50.6 | - | - | - | - | - |107| MMR1 | 1.6M | 15k | 72.0 | 31.8 | 29.0† | 55.4 | 27.9† | 68.0† | 48.9 | 52.4† | 41.1† | 37.1† | 43.5† | 71.1† |108| OpenVLThinker-7B | 3.3k | 9.6k | 65.3 | 23.0 | 26.9† | 38.1 | 16.8 | 61.9† | 44.5 | 55.1† | 39.7† | 38.4† | 41.0† | 69.2† |109| MM-Eureka-Qwen-7B | - | 15.6k | 72.6 | 28.1 | 32.1† | 45.4 | 23.0 | 59.8† | 46.3 | 54.4† | 40.1† | 37.1† | 42.4† | 74.1† |110| OVR-7B | 2M | 300k | 72.1 | **51.8** | 38.2† | 54.6 | 33.5 | 64.8 | **54.8** | 51.8† | **50.2** | 29.1† | 44.5 | 73.6 |111| **OMR-7B (ours)** | **874k** | **74k** | **79.5** | 43.6 | **38.8** | **63.8** | **34.9** | **79.0** | 50.0 | **57.8** | 44.1 | **40.6** | **46.1** | 73.5 |112 113**Note:** Bold numbers indicate the best performance, and † indicates results reproduced using the authors' checkpoints.114 115## Citation116 117If you find OpenMMReasoner useful for your research and applications, please cite using this BibTeX:118 119```bibtex120@article{zhang2025openmmreasoner,121  title={OpenMMReasoner: Pushing the Frontiers for Multimodal Reasoning with an Open and General Recipe},122  author={Zhang, Kaichen and Wu, Keming and Yang, Zuhao and Hu, Kairui and Wang, Bin and Liu, Ziwei and Li, Xingxuan and Bing, Lidong},123  journal={arXiv preprint arXiv:2511.16334},124  year={2025}125}126```127 128## Acknowledgements129 130We gratefully acknowledge the following open-source projects that made this work possible:131 132- [**lmms-eval**](https://github.com/EvolvingLMMs-Lab/lmms-eval) for providing the comprehensive evaluation framework for large multimodal models.133- [**lmms-engine**](https://github.com/EvolvingLMMs-Lab/lmms-engine) for the SFT training infrastructure and tools.134- [**verl**](https://github.com/volcengine/verl) for the reinforcement learning training framework.135 136We thank the developers and contributors of these projects for their excellent work and for making their code publicly available.