Fully Open-source Multimodal Language Models for Science Discovery
167
stars
56
commits
Python
primary language
Mar 20, 2026
updated
Scientific Multimodal Large Language Model for Advanced Reasoning
π€ Models & Datasets | π Technical Report | π₯οΈ Demo
2026.1.29 π€π€ Our model has been officially released at the "Agentic Science at Scale" workshop!2026.1.29 π€π€ Weβve already adapted it to SciMaster. Come and give it a try!2026.1.28 π€π€ We release the Innovator-VL Technical Report!2026.1.26 π€π€ We release all of our code, model, data, and pipeline! Check out the InnovatorVL collection on Hugging FaceInnovator-VL is a scientific multimodal large language model designed to advance multimodal understanding and reasoning across diverse scientific domains. Contrary to conventional approaches that rely on massive scientific domain-specific pretraining, Innovator-VL demonstrates remarkable data efficiency, achieving competitive performance using fewer than five million carefully curated scientific samples. Meanwhile, we provide a fully transparent and end-to-end reproducible training pipeline for scientific multimodal modeling, covering all stages from data collection and cleaning to preprocessing, supervised fine-tuning, reinforcement learning, and evaluation.
π Superior Performance: State-of-the-art results on scientific benchmarks with 8B parameter model
π‘ Data Efficiency: Competitive performance without large-scale scientific pretraining
π¬ Strong Generalization: Maintains excellent performance on general vision and reasoning tasks
π Fully Transparent: Reproducible training methodology from data collection to evaluation
| Model | Base LLM | Size | Link | Training Log |
|---|---|---|---|---|
| Innovator-VL-8B-Instruct | Qwen3-8B | 8B | π€ HF | Available |
| Innovator-VL-8B-Thinking | Qwen3-8B | 8B | π€ HF | Available |
| Dataset | Size | Description | Status |
|---|---|---|---|
| LLaVA-558K | 558K | Alignment dataset for Stage 1 | π€ HF |
| LLaVA-OneVision-1.5-Mid-Training-85M | 85M | Diverse multimodal samples for Stage 1.5 | π€ HF |
| Innovator-VL-Instruct-46M | 46M | Instruction-following samples for Stage 2 | π€ HF |
| Innovator-VL-RL-172K | 172K | Discrepancy-driven RL dataset | π€ HF |
Innovator-VL adopts a principled architecture design optimized for scientific understanding:
Visual Encoder: RICE-ViT captures fine-grained, region-level semantics for accurate perception of structured visual elements (symbols, annotations, relational components)
Vision-Language Projector: PatchMerger balances representational capacity and computational efficiency by merging visual patches into compact yet semantically informative representations
Language Decoder: Qwen3-8B-Base provides a strong foundation for reasoning and generation, pre-trained on a broad and diverse corpus
from transformers import AutoTokenizer, AutoProcessor, AutoModelForCausalLM
from qwen_vl_utils import process_vision_info
model_path = "InnovatorLab/Innovator-VL-8B-Instruct"
# default: Load the model on the available device(s)
model = AutoModelForCausalLM.from_pretrained(
model_path, torch_dtype="auto", device_map="auto", trust_remote_code=True
)
# default processer
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",
},
{"type": "text", "text": "Describe this image."},
],
}
]
# Preparation for inference
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
# Inference: Generation of the output
generated_ids = model.generate(**inputs, max_new_tokens=1024)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text)
# Clone repository
git clone https://github.com/InnovatorLab/Innovator-VL.git
cd Innovator-VL
# Install dependencies
pip install -r requirements.txt
# HF β Megatron
bash examples/innovator_vl/convert/convert_8b_hf_to_mcore.sh
# Megatron β HF
bash examples/innovator_vl/convert/convert_8b_mcore_to_hf.sh
# Download LLaVA-558K dataset
# Set environment variables and run
AIAK_TRAINING_PATH=/path/to/Innovator-VL \
DATA_PATH=/path/to/LLaVA-558K \
TOKENIZER_PATH=/path/to/Innovator-VL-8B-stage0 \
CHECKPOINT_PATH=/path/to/Innovator-VL-8B-stage0 \
bash examples/innovator_vl/quick_start/train_auto_stage_1_alignment_innovator_vl_8b.sh
# Download Mid-Training dataset (85M samples)
AIAK_TRAINING_PATH=/path/to/Innovator-VL \
DATA_PATH=/path/to/LLaVA-OneVision-1.5-Mid-Training-85M \
TOKENIZER_PATH=/path/to/Innovator-VL-8B-stage0 \
CHECKPOINT_PATH=/path/to/stage_1_output \
bash examples/innovator_vl/quick_start/train_auto_stage_1.5_mid_training_innovator_vl_8b.sh
# Download instruct dataset (46M samples)
AIAK_TRAINING_PATH=/path/to/Innovator-VL \
DATA_PATH=/path/to/Innovator-VL-Instruct-46M \
TOKENIZER_PATH=/path/to/Innovator-VL-8B-stage0 \
CHECKPOINT_PATH=/path/to/stage_1.5_output \
bash examples/innovator_vl/quick_start/train_auto_stage_2_instruct_innovator_vl_8b.sh
cd RL/train_scripts
# Configure paths in configs/innovator-vl-8b-gspo.yaml
bash run_example.sh
Innovator-VL is evaluated using the lmms-eval framework, enabling standardized, reproducible evaluation across general vision, mathematical reasoning, and scientific domains.
We provide an official evaluation script that covers all supported benchmarks.
An official evaluation script is provided:
π lmms-eval/eval_innovator_vl.sh
Before running the evaluation, please set the model path:
export MODEL_PATH=/path/to/Innovator-VL-8B-Instruct (or Innovator-VL-8B-Thinking)
Then launch the evaluation:
cd lmms-eval
bash eval_innovator_vl.sh
The evaluation script is organized into three major categories.
These benchmarks evaluate perception, OCR, document understanding, and real-world multimodal reasoning:
ai2d, ai2d_no_maskmmmu_val, mmmu_pro_standardmmbench_en_dev, mmbench_en_testmmerealworld, mmerealworld_cndocvqa_valinfovqa_valseedbench, seedbench_2_plusThese benchmarks focus on mathematical reasoning and chain-of-thought multimodal problem solving:
mathvision_reason_test_reasoning, mathvision_reason_testmini_reasoningmathverse_testmini_reasoningmathvista_testmini_cot_reasoningwemath_testmini_reasoningThese benchmarks evaluate Innovator-VLβs capabilities across chemistry, biology, medicine, earth science, and scientific document understanding:
sfe-en, sfe-zh, scienceqarxnbench_vqa, OpenRxn, MolParse, SmolInstruct, superchem, superchem_cnEMVista, microvqa, ProteinLMBenchmsearth_mcq, xlrs-liteInnovator-VL/
βββ examples/innovator_vl/ # Training examples and scripts
β βββ quick_start/ # Training scripts for all stages
β βββ convert/ # Model conversion utilities
β βββ evaluate/ # Evaluation scripts
β
βββ aiak_training_llm/ # Core training framework
β βββ models/innovator_vl/ # Model implementations
β β βββ innovator_vl_model.py
β β βββ innovator_vl_config.py
β β βββ adapter.py
β β βββ vision_model.py
β βββ train.py # Main training script
β
βββ tools/ # Utilities
β βββ convert_checkpoint/ # Checkpoint conversion tools
β βββ custom/innovator_vl/ # Model-specific converters
β
βββ RL/ # RL training framework
β βββ train_scripts/ # RL training scripts
β βββ configs/ # RL configurations (GSPO)
β βββ trains/ # RL training core
β βββ engine/ # RL training engine
β βββ reward/ # Reward functions
β βββ 3rdparty/ # Third-party dependencies
β
βββ ds/ # Custom training implementations
β βββ innovator_vl/ # Model definitions
β βββ configuration_innovator_vl.py
β βββ modeling_innovator_vl.py
β
βββ asset/ # Assets (logos, figures)
β βββ logo.png
β βββ architecture.pdf
β βββ performance.pdf
β βββ data_pipeline.pdf
β
βββ requirements.txt
βββ LICENSE
βββ README.md
If you find Innovator-VL helpful for your research, please consider citing our technical report:
@article{wen2026innovator,
title={Innovator-VL: A Multimodal Large Language Model for Scientific Discovery},
author={Wen, Zichen and Yang, Boxue and Chen, Shuang and Zhang, Yaojie and Han, Yuhang and Ke, Junlong and Wang, Cong and others},
journal={arXiv preprint arXiv:2601.19325},
year={2026}
}
We express our sincere gratitude to the open-source community for their invaluable contributions that made this work possible:
These projects have significantly influenced our work, and we are deeply grateful to their respective authors and contributors.
Innovator-VL - Advancing Scientific Discovery through Multimodal AI
Python
77.6%
C++
9.1%
Cuda
8.7%
Jupyter Notebook
2.8%
Shell
1.4%
Fully Open-source Multimodal Language Models for Science Discovery
167
stars
56
commits
Python
primary language
Mar 20, 2026
updated
Scientific Multimodal Large Language Model for Advanced Reasoning
π€ Models & Datasets | π Technical Report | π₯οΈ Demo
2026.1.29 π€π€ Our model has been officially released at the "Agentic Science at Scale" workshop!2026.1.29 π€π€ Weβve already adapted it to SciMaster. Come and give it a try!2026.1.28 π€π€ We release the Innovator-VL Technical Report!2026.1.26 π€π€ We release all of our code, model, data, and pipeline! Check out the InnovatorVL collection on Hugging FaceInnovator-VL is a scientific multimodal large language model designed to advance multimodal understanding and reasoning across diverse scientific domains. Contrary to conventional approaches that rely on massive scientific domain-specific pretraining, Innovator-VL demonstrates remarkable data efficiency, achieving competitive performance using fewer than five million carefully curated scientific samples. Meanwhile, we provide a fully transparent and end-to-end reproducible training pipeline for scientific multimodal modeling, covering all stages from data collection and cleaning to preprocessing, supervised fine-tuning, reinforcement learning, and evaluation.
π Superior Performance: State-of-the-art results on scientific benchmarks with 8B parameter model
π‘ Data Efficiency: Competitive performance without large-scale scientific pretraining
π¬ Strong Generalization: Maintains excellent performance on general vision and reasoning tasks
π Fully Transparent: Reproducible training methodology from data collection to evaluation
| Model | Base LLM | Size | Link | Training Log |
|---|---|---|---|---|
| Innovator-VL-8B-Instruct | Qwen3-8B | 8B | π€ HF | Available |
| Innovator-VL-8B-Thinking | Qwen3-8B | 8B | π€ HF | Available |
| Dataset | Size | Description | Status |
|---|---|---|---|
| LLaVA-558K | 558K | Alignment dataset for Stage 1 | π€ HF |
| LLaVA-OneVision-1.5-Mid-Training-85M | 85M | Diverse multimodal samples for Stage 1.5 | π€ HF |
| Innovator-VL-Instruct-46M | 46M | Instruction-following samples for Stage 2 | π€ HF |
| Innovator-VL-RL-172K | 172K | Discrepancy-driven RL dataset | π€ HF |
Innovator-VL adopts a principled architecture design optimized for scientific understanding:
Visual Encoder: RICE-ViT captures fine-grained, region-level semantics for accurate perception of structured visual elements (symbols, annotations, relational components)
Vision-Language Projector: PatchMerger balances representational capacity and computational efficiency by merging visual patches into compact yet semantically informative representations
Language Decoder: Qwen3-8B-Base provides a strong foundation for reasoning and generation, pre-trained on a broad and diverse corpus
from transformers import AutoTokenizer, AutoProcessor, AutoModelForCausalLM
from qwen_vl_utils import process_vision_info
model_path = "InnovatorLab/Innovator-VL-8B-Instruct"
# default: Load the model on the available device(s)
model = AutoModelForCausalLM.from_pretrained(
model_path, torch_dtype="auto", device_map="auto", trust_remote_code=True
)
# default processer
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",
},
{"type": "text", "text": "Describe this image."},
],
}
]
# Preparation for inference
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
# Inference: Generation of the output
generated_ids = model.generate(**inputs, max_new_tokens=1024)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text)
# Clone repository
git clone https://github.com/InnovatorLab/Innovator-VL.git
cd Innovator-VL
# Install dependencies
pip install -r requirements.txt
# HF β Megatron
bash examples/innovator_vl/convert/convert_8b_hf_to_mcore.sh
# Megatron β HF
bash examples/innovator_vl/convert/convert_8b_mcore_to_hf.sh
# Download LLaVA-558K dataset
# Set environment variables and run
AIAK_TRAINING_PATH=/path/to/Innovator-VL \
DATA_PATH=/path/to/LLaVA-558K \
TOKENIZER_PATH=/path/to/Innovator-VL-8B-stage0 \
CHECKPOINT_PATH=/path/to/Innovator-VL-8B-stage0 \
bash examples/innovator_vl/quick_start/train_auto_stage_1_alignment_innovator_vl_8b.sh
# Download Mid-Training dataset (85M samples)
AIAK_TRAINING_PATH=/path/to/Innovator-VL \
DATA_PATH=/path/to/LLaVA-OneVision-1.5-Mid-Training-85M \
TOKENIZER_PATH=/path/to/Innovator-VL-8B-stage0 \
CHECKPOINT_PATH=/path/to/stage_1_output \
bash examples/innovator_vl/quick_start/train_auto_stage_1.5_mid_training_innovator_vl_8b.sh
# Download instruct dataset (46M samples)
AIAK_TRAINING_PATH=/path/to/Innovator-VL \
DATA_PATH=/path/to/Innovator-VL-Instruct-46M \
TOKENIZER_PATH=/path/to/Innovator-VL-8B-stage0 \
CHECKPOINT_PATH=/path/to/stage_1.5_output \
bash examples/innovator_vl/quick_start/train_auto_stage_2_instruct_innovator_vl_8b.sh
cd RL/train_scripts
# Configure paths in configs/innovator-vl-8b-gspo.yaml
bash run_example.sh
Innovator-VL is evaluated using the lmms-eval framework, enabling standardized, reproducible evaluation across general vision, mathematical reasoning, and scientific domains.
We provide an official evaluation script that covers all supported benchmarks.
An official evaluation script is provided:
π lmms-eval/eval_innovator_vl.sh
Before running the evaluation, please set the model path:
export MODEL_PATH=/path/to/Innovator-VL-8B-Instruct (or Innovator-VL-8B-Thinking)
Then launch the evaluation:
cd lmms-eval
bash eval_innovator_vl.sh
The evaluation script is organized into three major categories.
These benchmarks evaluate perception, OCR, document understanding, and real-world multimodal reasoning:
ai2d, ai2d_no_maskmmmu_val, mmmu_pro_standardmmbench_en_dev, mmbench_en_testmmerealworld, mmerealworld_cndocvqa_valinfovqa_valseedbench, seedbench_2_plusThese benchmarks focus on mathematical reasoning and chain-of-thought multimodal problem solving:
mathvision_reason_test_reasoning, mathvision_reason_testmini_reasoningmathverse_testmini_reasoningmathvista_testmini_cot_reasoningwemath_testmini_reasoningThese benchmarks evaluate Innovator-VLβs capabilities across chemistry, biology, medicine, earth science, and scientific document understanding:
sfe-en, sfe-zh, scienceqarxnbench_vqa, OpenRxn, MolParse, SmolInstruct, superchem, superchem_cnEMVista, microvqa, ProteinLMBenchmsearth_mcq, xlrs-liteInnovator-VL/
βββ examples/innovator_vl/ # Training examples and scripts
β βββ quick_start/ # Training scripts for all stages
β βββ convert/ # Model conversion utilities
β βββ evaluate/ # Evaluation scripts
β
βββ aiak_training_llm/ # Core training framework
β βββ models/innovator_vl/ # Model implementations
β β βββ innovator_vl_model.py
β β βββ innovator_vl_config.py
β β βββ adapter.py
β β βββ vision_model.py
β βββ train.py # Main training script
β
βββ tools/ # Utilities
β βββ convert_checkpoint/ # Checkpoint conversion tools
β βββ custom/innovator_vl/ # Model-specific converters
β
βββ RL/ # RL training framework
β βββ train_scripts/ # RL training scripts
β βββ configs/ # RL configurations (GSPO)
β βββ trains/ # RL training core
β βββ engine/ # RL training engine
β βββ reward/ # Reward functions
β βββ 3rdparty/ # Third-party dependencies
β
βββ ds/ # Custom training implementations
β βββ innovator_vl/ # Model definitions
β βββ configuration_innovator_vl.py
β βββ modeling_innovator_vl.py
β
βββ asset/ # Assets (logos, figures)
β βββ logo.png
β βββ architecture.pdf
β βββ performance.pdf
β βββ data_pipeline.pdf
β
βββ requirements.txt
βββ LICENSE
βββ README.md
If you find Innovator-VL helpful for your research, please consider citing our technical report:
@article{wen2026innovator,
title={Innovator-VL: A Multimodal Large Language Model for Scientific Discovery},
author={Wen, Zichen and Yang, Boxue and Chen, Shuang and Zhang, Yaojie and Han, Yuhang and Ke, Junlong and Wang, Cong and others},
journal={arXiv preprint arXiv:2601.19325},
year={2026}
}
We express our sincere gratitude to the open-source community for their invaluable contributions that made this work possible:
These projects have significantly influenced our work, and we are deeply grateful to their respective authors and contributors.
Innovator-VL - Advancing Scientific Discovery through Multimodal AI
Python
77.6%
C++
9.1%
Cuda
8.7%
Jupyter Notebook
2.8%
Shell
1.4%