--- license: apache-2.0 base_model: Qwen/Qwen3-VL-32B-Instruct tags: - spatial-reasoning - multi-hop - grounding - vision-language - qwen3-vl - GRPO language: - en datasets: - etri-vilab/MultihopSpatial pipeline_tag: image-text-to-text --- # [ECCV 2026] MultiHopSpatial-Qwen3-VL-32B-Instruct This model is [Qwen3-VL-32B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-32B-Instruct) post-trained on [MultihopSpatial-Train](https://huggingface.co/datasets/etri-vilab/MultihopSpatial) using **GRPO (Group Relative Policy Optimization)** for multi-hop spatial reasoning.

Project Page | Paper | Dataset

## Model Zoo | Model | Params | HF Link | |---|---|---| | MultiHopSpatial-Qwen3-VL-4B-Instruct | 4B | [🤗 etri-vilab/MultiHopSpatial-Qwen3-VL-4B-Instruct](https://huggingface.co/etri-vilab/MultiHopSpatial-Qwen3-VL-4B-Instruct) | | MultiHopSpatial-Qwen3-VL-8B-Instruct | 8B | [🤗 etri-vilab/MultiHopSpatial-Qwen3-VL-8B-Instruct](https://huggingface.co/etri-vilab/MultiHopSpatial-Qwen3-VL-8B-Instruct) | | MultiHopSpatial-Qwen3-VL-32B-Instruct | 32B | [🤗 etri-vilab/MultiHopSpatial-Qwen3-VL-32B-Instruct](https://huggingface.co/etri-vilab/MultiHopSpatial-Qwen3-VL-32B-Instruct) | ## Model Details | | | |---|---| | **Base Model** | [Qwen3-VL-32B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-32B-Instruct) | | **Architecture** | Qwen3VLForConditionalGeneration | | **Training Method** | GRPO (Group Relative Policy Optimization) | | **Training Data** | [MultihopSpatial-Train](https://huggingface.co/datasets/etri-vilab/MultihopSpatial) (6,791 samples) | | **Precision** | bfloat16 | ## Results

Training corpus comparison across model scales

## Usage This model shares the same architecture and usage as [Qwen3-VL-32B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-32B-Instruct). Please refer to the [official Qwen3-VL documentation](https://huggingface.co/Qwen/Qwen3-VL-32B-Instruct) for detailed usage instructions. ### Quick Start ```python from transformers import Qwen3VLForConditionalGeneration, AutoProcessor from qwen_vl_utils import process_vision_info model = Qwen3VLForConditionalGeneration.from_pretrained( "etri-vilab/MultiHopSpatial-Qwen3-VL-32B-Instruct", torch_dtype="auto", device_map="auto", ) processor = AutoProcessor.from_pretrained("etri-vilab/MultiHopSpatial-Qwen3-VL-32B-Instruct") messages = [ { "role": "user", "content": [ {"type": "image", "image": "your_image.jpg"}, {"type": "text", "text": "From the perspective of the person wearing a red shirt, which object is on their left? (a) chair (b) table (c) lamp (d) bookshelf. And provide the bounding box coordinate of the region related to your answer."}, ], } ] 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", ).to(model.device) generated_ids = model.generate(**inputs, max_new_tokens=2048) output_text = processor.batch_decode( generated_ids[:, inputs.input_ids.shape[1]:], skip_special_tokens=True ) print(output_text[0]) ``` ## Citation ```bibtex @inproceedings{lee2026multihopspatial, title={MultihopSpatial: Multi-hop Compositional Spatial Reasoning Benchmark for Vision-Language Models}, author={Lee, Youngwan and Jang, Soojin and Cho, Yoorhim and Lee, Seunghwan and Lee, Yong-Ju and Hwang, Sung Ju}, booktitle={European Conference on Computer Vision (ECCV)}, year={2026} } ```