ngqtrung/video-r1-perceptiontest-mc-v1
--- language: - en license: apache-2.0 size_categories: - 1K<n<10K task_categories: - video-text-to-text tags: - multimodal-rl - qwen3-vl - gspo - grpo --- # ngqtrung/video-r1-perceptiontest-mc-v1 Curated v1 dataset for multimodal RL fine-tuning of Qwen3-VL-4B-Instruct. | Property | Value | |---|---| | Rows | 6348 | | Modality | video | | Split | train | | Schema | verl-ready (prompt + images + videos +… See the full description on the dataset page: https://huggingface.co/datasets/ngqtrung/video-r1-perceptiontest-mc-v1.
language:
- en license: apache-2.0 size_categories:
- 1K<n<10K task_categories:
- video-text-to-text tags:
- multimodal-rl
- qwen3-vl
- gspo
- grpo ---
# ngqtrung/video-r1-perceptiontest-mc-v1
Curated v1 dataset for multimodal RL fine-tuning of Qwen3-VL-4B-Instruct.
## Config
{
"fps": 1,
"max_frames": 32,
"max_pixels": 501760
}## System prompt
You are a careful reasoning assistant. ALWAYS respond in this EXACT format:
<think>step-by-step reasoning</think>
<answer>\boxed{final_answer}</answer>
Examples:
Q: 7 × 8?
<think>7 × 8 = 56.</think>
<answer>\boxed{56}</answer>
Q: A right triangle has legs of length 3 and 4. What is the hypotenuse?
<think>By the Pythagorean theorem, c² = 3² + 4² = 9 + 16 = 25, so c = 5.</think>
<answer>\boxed{5}</answer>
For multiple-choice, put the letter, e.g. \boxed{B}.
Always wrap reasoning in <think>...</think> and answer in <answer>\boxed{...}</answer>. No text outside these tags.## Source credit
Video-R1 (https://huggingface.co/datasets/Video-R1/Video-R1-data) — PerceptionTest MC subset
## How to use with verl
The parquet contains videos with file:// paths pointing to local disk (if video modality). Set VIDEO_R1_ROOT=/path/to/your/video-r1-extracted and either edit the parquet's video paths or use a path-resolver wrapper.
For image rows, images are inline PNG/JPEG bytes — no external dependencies.
## Schema
prompt: list[struct(role: str, content: str)]
images: list[struct(bytes: binary, path: str)]
videos: list[struct(type, video, fps, max_frames, max_pixels)]
data_source: str
ability: str
reward_model: struct(ground_truth: str, style: str)
extra_info: struct(reward_type: str, answer: str)## License
This dataset inherits the Apache-2.0 license of the underlying sources. See the source credit above for upstream attribution.
