README.md

December 13, 2025 ยท View on GitHub

Reward Forcing:
Efficient Streaming Video Generation with
Rewarded Distribution Matching Distillation


1ZJU, 2Ant Group, 3SIAS-ZJU, 4HUST, 5SJTU

Paper Project Page Models

๐Ÿš€ Progress

  • ๐Ÿ“ Technical Report / Paper
  • ๐ŸŒ Project Homepage
  • ๐Ÿ’ป Training & Inference Code
  • ๐Ÿค— Pretrained Model: T2V-1.3B
  • ๐Ÿ”œ Pretrained Model: T2V-14B (In progress)

๐ŸŽฏ Overview

TL;DR: We propose Reward Forcing to distill a bidirectional video diffusion model into a 4-step autoregressive student model that enables real-time (23.1 FPS) streaming video generation. Instead of using vanilla distribution matching distillation (DMD), Reward Forcing adopts a novel rewarded distribution matching distillation (Re-DMD) that prioritizes matching towards high-reward regions, leading to enhanced object motion dynamics and immersive scene navigation dynamics in generated videos.

๐Ÿ“‹ Table of Contents

๐Ÿ”ง Requirements

  • GPU: NVIDIA GPU with at least 24GB memory for inference, 80GB memory for training.
  • RAM: 64GB or more recommended.
  • Linux operating system.

๐Ÿ› ๏ธ Installation

Step 1: Clone the repository

git clone https://github.com/JaydenLyh/Reward-Forcing.git
cd Reward-Forcing

Step 2: Create conda environment

conda create -n reward_forcing python=3.10
conda activate reward_forcing

Step 3: Install dependencies

pip install -r requirements.txt
pip install flash-attn --no-build-isolation

Step 4: Install the package

pip install -e .

๐Ÿ“ฆ Pretrained Checkpoints

ModelDownload
VideoRewardHugging Face
Wan2.1-T2V-1.3BHugging Face
Wan2.1-T2V-14BHugging Face
ODE InitializationHugging Face
Reward ForcingHugging Face

File Structure

After downloading, organize the checkpoints as follows:

checkpoints/
โ”œโ”€โ”€ Videoreward/
โ”‚   โ”œโ”€โ”€ checkpoint-11352/
โ”‚   โ””โ”€โ”€ model_config.json
โ”œโ”€โ”€ Wan2.1-T2V-1.3B/
โ”œโ”€โ”€ Wan2.1-T2V-14B/
โ”œโ”€โ”€ Reward-Forcing-T2V-1.3B/
โ””โ”€โ”€ ode_init.pt

Quick Download Script

pip install "huggingface_hub[cli]"

# Download all checkpoints
bash download_checkpoints.sh

๐Ÿš€ Inference

Quick Start

# 5-seconds video inference
python inference.py \
    --num_output_frames 21 \
    --config_path configs/reward_forcing.yaml \
    --checkpoint_path checkpoints/Reward-Forcing-T2V-1.3B/rewardforcing.pt \
    --output_folder videos/rewardforcing-5s \
    --data_path prompts/MovieGenVideoBench_extended.txt \
    --use_ema

# 30-seconds video inference
python inference.py \
    --num_output_frames 120 \
    --config_path configs/reward_forcing.yaml \
    --checkpoint_path checkpoints/Reward-Forcing-T2V-1.3B/rewardforcing.pt \
    --output_folder videos/rewardforcing-30s \
    --data_path prompts/MovieGenVideoBench_extended.txt \
    --use_ema

๐Ÿ‹๏ธ Training

Multi-GPU Training

# bash train.sh
torchrun --nnodes=1 --nproc_per_node=8 --rdzv_id=5235 --rdzv_backend=c10d  \
    --rdzv_endpoint=$MASTER_PORT train.py  --config_path configs/reward_forcing.yaml \
    --logdir logs/reward_forcing \
    --disable-wandb

Multi-Node Training

torchrun --nnodes=$NODE_SIZE --nproc_per_node=8 --node-rank=$NODE_RANK --rdzv_id=5235 --rdzv_backend=c10d  \
    --rdzv_endpoint=$MASTER_IP:$MASTER_PORT train.py  --config_path configs/reward_forcing.yaml \
    --logdir logs/reward_forcing \
    --disable-wandb

Configuration Files

Training configurations are in configs/:

  • default_config.yaml: Default configuration
  • reward_forcing.yaml: Reward Forcing configuration

๐Ÿ“Š Results

Quantitative Results

Performance on VBench

MethodTotal ScoreQuality ScoreSemantic ScoreParamsFPS
SkyReels-V282.6784.7074.531.3B0.49
MAGI-179.1882.0467.744.5B0.19
NOVA80.1280.3979.050.6B0.88
Pyramid Flow81.7284.7469.622B6.7
CausVid82.8883.9378.691.3B17.0
Self Forcing83.8084.5980.641.3B17.0
LongLive83.2283.6881.371.3B20.7
Ours84.1384.8481.321.3B23.1

Qualitative Results

Visualizations can be found in our Project Page.

๐Ÿ“„ Citation

If you find this work useful, please consider citing:

@article{lu2025reward,
  title={Reward Forcing: Efficient Streaming Video Generation with Rewarded Distribution Matching Distillation},
  author={Lu, Yunhong and Zeng, Yanhong and Li, Haobo and Ouyang, Hao and Wang, Qiuyu and Cheng, Ka Leong and Zhu, Jiapeng and Cao, Hengyuan and Zhang, Zhipeng and Zhu, Xing and others},
  journal={arXiv preprint arXiv:2512.04678},
  year={2025}
}

๐Ÿ™ Acknowledgements

This project is built upon several excellent works: CausVid, Self Forcing, Infinite Forcing, Wan2.1, VideoAlign

We thank the authors for their great work and open-source contribution.

๐Ÿ“ง Contact

For questions and discussions, please: