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.
SyncPro synchronously decodes an internal reasoning stream and an external response stream under a causal streaming attention map.
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:
- 960 ordered training rows, with 240 schedule assignments in each of four proactive behavior groups;
- chronological hard-window F1 rewards;
- query batch size 16 and group size 4;
- 60 sampled frames per trajectory;
- a 60-step training run with fixed gamma = 0.5 branch merging;
- this released model is the selected checkpoint at step 50.
The release contains merged BF16 inference weights. RL optimizer state and rl_trainer_state.pt are intentionally excluded. Inference code and benchmark adapters are documented in the SyncPro repository.
Data and intended use
The model is intended for research on causal streaming-video understanding, proactive response timing, and separated internal/external generation. The public SyncPro-189k release contains the SFT annotations only; the RL annotations used for this checkpoint are not distributed. 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
- -