| --- |
| license: apache-2.0 |
| base_model: Qwen/Qwen3-VL-8B-Instruct |
| tags: |
| - video-quality |
| - reward-model |
| - defect-detection |
| - qwen3-vl |
| - grpo |
| language: |
| - en |
| pipeline_tag: text-generation |
| --- |
| |
| # DefectVideoReward (Qwen3-VL-8B, GRPO step800) |
|
|
| A video defect detection and quality scoring reward model, fine-tuned from Qwen3-VL-8B-Instruct using two-stage training: |
|
|
| 1. **SFT**: Supervised fine-tuning on video defect annotations |
| 2. **GRPO**: Group Relative Policy Optimization for 800 steps on pairwise video preference data |
|
|
| ## Task |
|
|
| Given a text prompt and an AI-generated video, the model: |
| 1. Identifies visible defects (artifacts, motion issues, misalignment, etc.) |
| 2. Assigns an overall quality score (1-10) |
|
|
| ## Input/Output Format |
|
|
| **Input**: System prompt + user message with video and text prompt |
|
|
| **Output**: JSON with defects and score |
| ```json |
| {"defects": [{"issue": "...", "weight": 1|2|3}, ...], "score": 7} |
| ``` |
|
|
| ## Usage |
|
|
| ```python |
| from transformers import Qwen3VLForConditionalGeneration, AutoProcessor |
| |
| model = Qwen3VLForConditionalGeneration.from_pretrained( |
| "CaoruiLi/DefectVideoReward", torch_dtype="bfloat16", device_map="auto") |
| processor = AutoProcessor.from_pretrained("CaoruiLi/DefectVideoReward") |
| ``` |
|
|
| ## Training Details |
|
|
| - **Base model**: Qwen/Qwen3-VL-8B-Instruct |
| - **SFT data**: Video defect annotations with expert-labeled defect lists |
| - **GRPO data**: 400 text prompts × pairwise video comparisons from VideoGen-RewardBench |
| - **GRPO steps**: 800 (best checkpoint by validation accuracy) |
| - **KL coefficient**: 0.01 |
|
|