VBVR-Pro: A Scalable and Verifiable Suite for Native Visual Reasoning

Overview

VBVR-Pro is a closed-loop testbed for training, verifying, and comparing native visual reasoning through generation. It provides 300 procedurally generated tasks, task-specific verifiable reward scorers, and controlled comparisons across image, video, and interleaved generators. The benchmark is designed to study visual reasoning trajectories directly and includes both in-domain and out-of-domain evaluations.

The models and benchmark are presented in VBVR-Pro: A Scalable and Verifiable Suite for Native Visual Reasoning.

Models Zoo

Model Base Architecture Other Remarks
Video Generation Models
VBVR-Pro-Wan2.2-TI2V-5BWan2.2-TI2V-5BComplete model, supervised fine-tuning
VBVR-Pro-Wan2.2-TI2V-5B-RLVRWan2.2-TI2V-5BComplete model, RL with verifiable rewards and Flow-CPS rollouts
VBVR-Pro-Wan2.2-TI2V-5B-RLVLM-Qwen3.6-27B-RewardWan2.2-TI2V-5BComplete model, RL with Qwen3.6-27B VLM rewards
VBVR-Pro-Wan2.2-TI2V-5B-SDE-RLWan2.2-TI2V-5BComplete model, verifiable-reward RL with DanceGRPO RF-SDE rollouts

Release Information

VBVR-Pro-Wan2.2-TI2V-5B-SDE-RL

This repository contains a complete Diffusers checkpoint for the VBVR-Pro Wan2.2 TI2V-5B model optimized with reinforcement learning using task-specific verifiable rewards. Training used DanceGRPO rectified-flow SDE rollouts with noise coefficient $\eta=0.3$.

The model is derived from Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B and is intended for research on image-conditioned video generation and native visual reasoning.

The repository includes the transformer, text encoder, tokenizer, VAE, and scheduler. It also includes pipeline.py, a custom image-to-video pipeline providing deterministic Euler and UniPC inference as well as Flow-CPS inference.

VBVR-Pro Benchmark Results

The same released model weights were evaluated under each inference setting below; no sampler-specific weights are used.

Inference method Coefficient Overall In-domain Out-of-domain
DanceGRPO SDE 0.1 0.5008 0.6576 0.3439
DanceGRPO SDE 0.3 0.4873 0.6432 0.3315
DanceGRPO SDE 0.5 0.4524 0.5977 0.3070
FlowMatch Euler ODE 0.5038 0.6677 0.3399

All rows use the matched VBVR-Pro evaluation contract: 500 samples, 512 × 512 resolution, 81 frames, 16 FPS, 30 inference steps, guidance scale 1.0, and seed 0. Reported scores are evaluation results, not guarantees for other prompts or runtime configurations.

Recommended evaluation settings

  • Resolution: 512 × 512
  • Frames: 81
  • Output FPS: 16
  • Inference steps: 30
  • Guidance scale: 1.0

Quick Start

Custom sampler pipeline

Use Diffusers 0.37.1 or newer. Because this example loads Python code from the model repository, review pipeline.py, pass trust_remote_code=True, and pin a reviewed revision in production.

import torch
from diffusers import AutoencoderKLWan, DiffusionPipeline
from diffusers.utils import export_to_video, load_image

model_id = "pufanyi/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RL"

# Wan's VAE is kept in float32 for stable decoding.
vae = AutoencoderKLWan.from_pretrained(
    model_id,
    subfolder="vae",
    torch_dtype=torch.float32,
)
pipe = DiffusionPipeline.from_pretrained(
    model_id,
    custom_pipeline="pipeline",
    trust_remote_code=True,
    vae=vae,
    torch_dtype=torch.bfloat16,
)
pipe.enable_model_cpu_offload()

image = load_image("input.png").convert("RGB")
frames = pipe(
    image=image,
    prompt="Move the marked object to the matching target.",
    height=512,
    width=512,
    num_frames=81,
    num_inference_steps=30,
    guidance_scale=1.0,
    sampler="euler",
    generator=torch.Generator(device="cuda").manual_seed(0),
).frames[0]

export_to_video(frames, "output.mp4", fps=16)

The bundled custom pipeline accepts euler, unipc, and the Flow-CPS settings cps-0.1, cps-0.3, cps-0.7, and cps-0.9. The generic form sampler="cps", cps_eta=<value> accepts any finite coefficient from 0 to 1. generator controls the initial latent and, by default, the fresh Flow-CPS transition noise. Pass a separate cps_generator when the two random streams must be controlled independently.

Loading the complete pipeline requires substantial CPU and accelerator memory. CPU offloading is recommended on smaller GPUs.

DanceGRPO SDE sampler

The custom Diffusers pipeline above does not implement the DanceGRPO RF-SDE update. To exactly reproduce the SDE rows, download the checkpoint to a local directory and use src.cli.eval_i2v_sde from the release training code:

hf download pufanyi/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RL \
  --local-dir models/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RL
python -m src.cli.eval_i2v_sde \
  --eval_json eval.json \
  --model_path models/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RL \
  --output_dir outputs \
  --eta 0.1 \
  --height 512 \
  --width 512 \
  --num_frames 81 \
  --num_inference_steps 30 \
  --guidance_scale 1.0 \
  --fps 16 \
  --seed 0

For eight-GPU data-parallel generation, replace python with torchrun --standalone --nproc_per_node=8.

Standard Diffusers pipeline

The bundled scheduler remains UniPC and model_index.json is unchanged. Users who only need the standard deterministic path can load the checkpoint without remote custom code:

import torch
from diffusers import AutoencoderKLWan, WanImageToVideoPipeline

model_id = "pufanyi/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RL"

vae = AutoencoderKLWan.from_pretrained(
    model_id,
    subfolder="vae",
    torch_dtype=torch.float32,
)
pipe = WanImageToVideoPipeline.from_pretrained(
    model_id,
    vae=vae,
    torch_dtype=torch.bfloat16,
)

Use WanImageToVideoPipeline, not the text-to-video WanPipeline: the latter does not accept the first-frame image argument in Diffusers 0.37.1.

Implementation and Reproducibility Notes

  • Training uses the DanceGRPO rectified-flow SDE formula with $\eta=0.3$; this coefficient is not interchangeable with a Flow-CPS coefficient.
  • Exact SDE inference uses the training-time shifted sigma schedule through src.cli.eval_i2v_sde. The bundled custom Diffusers pipeline separately exposes Flow-CPS, Euler, and UniPC inference.
  • The custom pipeline subclasses WanImageToVideoPipeline, preserving the official first-frame VAE conditioning and TI2V-5B expanded-timestep mask.
  • The release training/evaluation repository remains the source of truth for formal score provenance. Exact output bytes can vary with PyTorch, Diffusers, attention backend, dtype, and device.

Training Details

Summary

The model was optimized on VBVR-Pro image-to-video tasks using DanceGRPO SDE rollouts with $\eta=0.3$ and deterministic task-specific rule rewards. Training and evaluation targeted 512 × 512 videos with 81 frames.

Resources

Limitations

  • The model is a research artifact and may produce incorrect or visually inconsistent reasoning trajectories.
  • Results are most directly comparable under the settings listed above.
  • The model inherits limitations and potential biases from the Wan2.2 base model and its training data.
  • Do not use generated outputs as the sole basis for high-stakes decisions.

License

The model is released under Apache License 2.0. See LICENSE. Please also follow the terms and attribution guidance of the upstream Wan2.2 model.

Citation

@misc{xu2026vbvrproscalableverifiablesuite,
      title={VBVR-Pro: A Scalable and Verifiable Suite for Native Visual Reasoning},
      author={Junxiang Xu and Ruisi Wang and Fanyi Pu and Maijunxian Wang and Ran Ji and Tongxi Zhou and Chenyang Gu and Jing Zuo and Hongcan Xiao and Yimeng Geng and Wanqi Yin and Wei Chen and Oscar Qian and Zhengan Yan and Ziqi Huang and Haiwen Diao and Liang Pan and Bo Li and Xiangyu Fan and Dezhi Luo and Fengyuan Yu and Zehong Zhao and Qingying Gao and Tinghui Zhu and Yilan Zhang and Jingqi Tong and Pinyuan Feng and Zhengze Jiang and Letian Wang and Ziyu Guo and Renrui Zhang and Jieneng Chen and Sonia Joseph and Constantin Venhoff and Saman Motamed and Mengyue Yang and Chandra Sripada and Alan Yuille and Philip Torr and Lvmin Zhang and Vikash Kumar and Daniel Khashabi and Nikolaus Kriegeskorte and Raphaël Millière and Vincent C. Müller and Anyi Rao and Quan Wang and Ziwei Liu and Dahua Lin and Lei Yang and Hokin Deng and Zhongang Cai},
      year={2026},
      eprint={2608.26105},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2608.26105},
}
Downloads last month
-
Safetensors
Model size
5B params
Tensor type
F32
·
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RLVR

Finetuned
(3)
this model

Dataset used to train Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RLVR

Collection including Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RLVR

Paper for Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RLVR