Instructions to use EurekaTian/SyncPro-RL with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use EurekaTian/SyncPro-RL with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="EurekaTian/SyncPro-RL") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForSeq2SeqLM processor = AutoProcessor.from_pretrained("EurekaTian/SyncPro-RL") model = AutoModelForSeq2SeqLM.from_pretrained("EurekaTian/SyncPro-RL", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use EurekaTian/SyncPro-RL with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "EurekaTian/SyncPro-RL" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "EurekaTian/SyncPro-RL", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/EurekaTian/SyncPro-RL
- SGLang
How to use EurekaTian/SyncPro-RL with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "EurekaTian/SyncPro-RL" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "EurekaTian/SyncPro-RL", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "EurekaTian/SyncPro-RL" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "EurekaTian/SyncPro-RL", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use EurekaTian/SyncPro-RL with Docker Model Runner:
docker model run hf.co/EurekaTian/SyncPro-RL
SyncPro-RL
SyncPro-RL is the official reinforcement-learning checkpoint for SyncPro: Synchronous Reasoning and Responding for Proactive Streaming Video Understanding, an ICLR submission on proactive, frame-by-frame video understanding.
Project page · Paper · Code · Dataset · SFT checkpoint
Model
SyncPro forks the decoder into synchronous internal-reasoning and external-response branches. At each streaming step, it learns whether to remain silent, reason internally, or speak, while preserving causal processing.
This checkpoint starts from SyncPro-SFT and is optimized with the paper's balanced hard-F1 reinforcement-learning recipe:
- four proactive behavior groups presented in a fixed balanced order;
- chronological hard-window F1 rewards;
- query batch size 16 and group size 4;
- 60 sampled frames per trajectory;
- 50 optimizer steps with fixed gamma = 0.5 branch merging.
The release contains merged BF16 inference weights. RL optimizer state and rl_trainer_state.pt are intentionally excluded.
Usage
The checkpoint contains custom dual-branch parameters and must be loaded with the SyncPro runtime rather than stock AutoModel inference.
hf download EurekaTian/SyncPro-RL \
--local-dir /path/to/SyncPro-RL
git clone https://github.com/Eureka-Maggie/SyncPro.git
cd SyncPro
python -m pip install -e .
MSS_DUAL_BRANCH=1 \
MSS_MERGE_MODE=additive \
MSS_POSITION_ID_OVERLAP=1 \
python examples/infer/proactive_eval/runner_dual.py \
--model /path/to/SyncPro-RL \
--query "What is happening in the video?" \
--n_frames 3
For the paper's streaming benchmarks and constrained dual-stream decoding, follow the SyncPro evaluation documentation. The included dual_infer_contract.json records the checkpoint's architectural, decoding, and RL-step contract; system_prompt_dual.txt is the exact prompt matched by its SHA-256 digest.
Data and intended use
The model is intended for research on causal streaming-video understanding, proactive response timing, and separated internal/external generation. Its SFT and RL annotations are documented in SyncPro-189k. Source videos are not redistributed and must be obtained from their original publishers under the applicable terms.
The checkpoint may inherit limitations and biases from its base model and training datasets. It should not be treated as a safety-critical monitoring system.
License
The model weights are released under the Apache License 2.0. The annotation dataset has separate licensing and source-specific terms described on its dataset card.
Citation
@misc{tian2026syncpro,
title = {SyncPro: Synchronous Reasoning and Responding for
Proactive Streaming Video Understanding},
author = {Tian, Xueyun and Xu, Bingbing and Liu, Jiaming and
Yu, Jinpeng and Shi, Yang and Zhao, Yu and
Huang, Ruihua and Wang, Yuanzhuo and Shen, Huawei},
year = {2026},
url = {https://eureka-maggie.github.io/SyncPro/}
}
- Downloads last month
- -