CoolFace
Modelpublic

axi0mX/P1-VL-30B-A3B-GGUF

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
0likes556downloads
Model Card

<div align="center"> <h1 style="font-size: 2em; font-weight: bold;">P1-VL: Bridging Visual Perception and Scientific Reasoning in Physics Olympiads</h1> </div>

<p align="center"> <a href="https://arxiv.org/abs/2602.09443"><b>๐Ÿ“„ Paper</b></a> | <a href="https://github.com/PRIME-RL/P1-VL"><b>๐Ÿ’ป Code</b></a> | <a href="https://prime-rl.github.io/P1-VL/"><b>๐ŸŒ Project Page</b></a> | <a href="https://phyarena.github.io/"><b>๐Ÿ† Leaderboard</b></a> </p>

<p align="center"> <img src="hipho.png" style="width: 800px" align=center> </p>

<p align="center"> <i>High-performance vision-language model for physics reasoning</i> </p>

Model Description

P1-VL-30B-A3B is the mid-size variant of the P1-VL series, a high-performance open-source vision-language model specialized in physics reasoning. Introduced in P1-VL: Bridging Visual Perception and Scientific Reasoning in Physics Olympiads, it is built on Qwen3-VL-30B-A3B-Thinking and refined through multi-stage reinforcement learning on curated physics competition data. P1-VL-30B-A3B achieves impressive results while maintaining reasonable computational requirements, making it accessible for researchers working with physics problems that require visual understanding.

Key Highlights

  • โ€”๐Ÿฅ‡ HiPhO Excellence: Strong performance across 13 physics contests with exceptional efficiency
  • โ€”๐Ÿ“Š FrontierScience-Olympiad: Total score of 52.5/100, outperforming base model by significant margins
  • โ€”๐ŸŽฏ Multimodal Capability: Effectively handles diagram-based physics problems requiring visual-to-logic alignment
  • โ€”๐Ÿš€ STEM Generalization: Consistent improvements over base model across math, and multimodal benchmarks

Performance Benchmarks

HiPhO Comprehensive Results

<div align="center">

CategoryP1-VL-30B-A3BQwen3-VL-30B-A3B-ThinkingP1-30B-A3BQwen3-30B-A3B-Thinking-2507
Overall Score35.029.732.529.9
Gold Medals (๐Ÿฅ‡)9886

</div>

FrontierScience-Olympiad Benchmark

P1-VL-30B-A3B achieves significant gains over its base counterpart across all three scientific domains, demonstrating the effectiveness of multimodal training for scientific reasoning.

<div align="center">

ModelBiology/10Chemistry/40Physics/50Total/100
P1-VL-30B-A3B20.058.854.052.5
P1-30B-A3B15.061.956.354.4
Qwen3-VL-30B-A3B-Thinking18.849.443.543.4
Qwen3-30B-A3B-Thinking-250710.047.845.342.8

</div>

STEM Benchmarks

Beyond physics reasoning, P1-VL-30B-A3B demonstrates strong generalization across multiple domains, consistently outperforming its base model Qwen3-VL-30B-A3B-Thinking on both text-only and multimodal benchmarks.

<div align="center">

BenchmarkP1-VL-30B-A3BQwen3-VL-30B-A3B-Thinking
AIME2490.490.0
AIME2587.983.7
HMMT-Feb73.370.0
HMMT-Nov85.480.8
IMO-Answerbench65.360.3
AMOBench44.537.0
BeyondAIME65.963.8
Brumo89.283.8
CMICC79.173.4
GPQA76.573.1
LiveBench72.771.3
HLE13.412.3
MMMU73.674.8
MMMU-Pro63.462.3
EMMA-Mini64.861.4
MathVista-Mini79.479.2

</div>

Usage

python
from transformers import Qwen3VLMoeForConditionalGeneration, AutoProcessor
from PIL import Image

model_name = "PRIME-RL/P1-VL-30B-A3B"

# Load model and processor
model = Qwen3VLMoeForConditionalGeneration.from_pretrained(
    model_name, dtype="auto", device_map="auto"
)
processor = AutoProcessor.from_pretrained(model_name)

# Load diagram image
image = Image.open("physics_diagram.png")

# Physics problem with visual input
messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "image": image,
            },
            {
                "type": "text",
                "text": """Analyze this physics diagram and solve the problem:

A block of mass m is placed on an inclined plane with angle ฮธ.
The coefficient of kinetic friction is ฮผ.
Calculate the acceleration of the block down the incline.""",
            },
        ],
    }
]

# Preparation for inference
inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt"
)

# Inference: Generation of the output
generated_ids = model.generate(**inputs, max_new_tokens=8192)
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[0])

๐Ÿ™ Acknowledgements

We are grateful to the open-source community for their invaluable contributions. Special thanks to:

  • โ€”[Qwen3-VL](https://huggingface.co/collections/Qwen/qwen3-vl) - for providing the foundational base models that powered our research
  • โ€”[verl](https://github.com/volcengine/verl) - for the versatile reinforcement learning framework that enabled our training pipeline
  • โ€”[vLLM](https://github.com/vllm-project/vllm) - for the efficient LLM serving and inference infrastructure
  • โ€”[Megatron-LM](https://github.com/NVIDIA/Megatron-LM) - for the large-scale model training framework

Citation

bibtex
@misc{p1vl2025,
  title={P1-VL: Bridging Visual Perception and Scientific Reasoning in Physics Olympiads},
  author={Yun Luo and Futing Wang and Qianjia Cheng and Fangchen Yu and Haodi Lei and Jianhao Yan and Chenxi Li and Jiacheng Chen and Yufeng Zhao and Haiyuan Wan and Yuchen Zhang and Shenghe Zheng and Junchi Yao and Qingyang Zhang and Haonan He and Wenxuan Zeng and Li Sheng and Chengxing Xie and Yuxin Zuo and Yizhuo Li and Yulun Wu and Rui Huang and Dongzhan Zhou and Kai Chen and Yu Qiao and Lei Bai and Yu Cheng and Ning Ding and Bowen Zhou and Peng Ye and Ganqu Cui},
  year={2026},
  url={https://arxiv.org/abs/2602.09443}
}