--- license: apache-2.0 library_name: diffusers pipeline_tag: image-to-video tags: - world-model - robotics - teleoperation - video-generation - image-to-video - egocentric - diffusion - causal - streaming - real-time base_model: Wan-AI/Wan2.2-TI2V-5B-Diffusers ---
π« Project Page | π€ Hugging Face | π€ ModelScope | π Demo | π arXiv
--- ## π Abstract We introduce **RynnWorld-Teleop**, a robot-centric generative world model that instantiates the paradigm of **digital teleoperation**βdecoupling robot data collection from physical hardware constraints. By transforming an operator's real-time hand-pose stream into high-fidelity egocentric robotic videos from a single reference image, RynnWorld-Teleop enables the scaling of expert trajectories in a purely virtual environment. Our framework integrates depth-aware skeletal conditioning with a progressive human-to-robot training curriculum, allowing it to inherit rich manipulation priors from large-scale human datasets. To support interactive use, we distill the model into a **causal, autoregressive student capable of real-time streaming**. Policies trained exclusively on RynnWorld-Teleop synthetic data achieve effective zero-shot Sim2Real transfer, demonstrating its power as a high-fidelity data engine for scaling dexterous robotic learning. --- ## π¦ This Repository This repository hosts the **distilled causal (streaming) checkpoint** of RynnWorld-Teleop. It is designed for **frame-by-frame, real-time** generation with a sliding KV cache. ### Files | File | Description | | :--- | :--- | | `ema_weights.bin` | EMA weights of the causal transformer (distilled from the SFT teacher) | | `control_patch_embedding.bin` | Conv3d patch embedding that injects hand-pose control video | | `control_scale.bin` | Learnable scalar for control-signal fusion | | `control_running_stats.bin` | Running stats for control normalization | ### Model Zoo | Model | HuggingFace | ModelScope | | :--------------- | :---------: | :--------: | | SFT (teacher) | [Link](https://huggingface.co/Alibaba-DAMO-Academy/RynnWorld-Teleop) | [Link](https://www.modelscope.cn/models/DAMO_Academy/RynnWorld-Teleop) | | Causal (streaming, this repo) | [Link](https://huggingface.co/Alibaba-DAMO-Academy/RynnWorld-Teleop-Causal) | [Link](https://www.modelscope.cn/models/DAMO_Academy/RynnWorld-Teleop-Causal) | --- ## π Quick Start Please refer to the [code repository](https://github.com/alibaba-damo-academy/RynnWorld-Teleop) for the full setup, training, and inference pipeline. ### π§ Environment Setup ```bash conda create -n "rynnworld-teleop" python=3.10 -y conda activate rynnworld-teleop pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu121 pip install -r requirements.txt ``` ### π Download the Checkpoint Our model is developed on top of [Wan2.2-TI2V-5B](https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B-Diffusers). Download the base model and place it under `pretrained/`: ``` RynnWorld-Teleop/ βββ pretrained/ βββ Wan2.2-TI2V-5B-Diffusers/ β βββ model_index.json β βββ scheduler/ β βββ transformer/ β βββ vae/ β βββ ... βββ RynnWorld-Teleop-Causal/ βββ ema_weights.bin βββ control_patch_embedding.bin βββ control_scale.bin βββ control_running_stats.bin ``` Download the causal weights: ```bash mkdir -p pretrained/RynnWorld-Teleop-Causal huggingface-cli download Alibaba-DAMO-Academy/RynnWorld-Teleop-Causal --local-dir pretrained/RynnWorld-Teleop-Causal ``` --- ## π Streaming Inference (Real-time) For real-time streaming inference with the distilled causal model, use `inference_streaming.py`, which supports frame-by-frame generation with a KV cache. ### Basic Usage ```bash python inference_streaming.py \ --image first_frame.png \ --control_video control.mp4 \ --checkpoint pretrained/RynnWorld-Teleop-Causal \ --output results/streaming_demo ``` ### Advanced Options **FP8 Quantization** (Hopper GPUs: H100/H800 only): ```bash python inference_streaming.py \ --image first_frame.png \ --control_video control.mp4 \ --checkpoint pretrained/RynnWorld-Teleop-Causal \ --output results/streaming_fp8 \ --fp8 ``` - Automatically detects GPU compute capability - Skips with warning on non-Hopper GPUs - Requires `torchao` package **torch.compile** (faster inference): ```bash python inference_streaming.py \ --image first_frame.png \ --control_video control.mp4 \ --checkpoint pretrained/RynnWorld-Teleop-Causal \ --output results/streaming_compiled \ --compile ``` - First sample includes compile overhead (~30-60s) - Subsequent samples run 1.3β1.6Γ faster **Batch Inference from Dataset**: ```bash python inference_streaming.py \ --data_json data/sample_data.json \ --checkpoint pretrained/RynnWorld-Teleop-Causal \ --output_dir results/batch_demo \ --num_samples_per_dataset 3 \ --fp8 --compile ``` ### Streaming Model Architecture The streaming model (`core/streaming/` in the code repo) implements: - **Causal Attention** β frame-by-frame generation with a sliding KV cache - **Control Patch Embedding** β skeleton / hand-pose conditioning - **Dynamic Cache** β efficient memory management for long sequences Key components: - `WanCausalTransformer3DModel` β causal transformer with KV-cache support - `DynamicCache` β sliding-window KV cache with sink-frame preservation - `WanStreamingPipeline` β frame-by-frame inference pipeline --- ## π Citation If you find this project useful, please cite: ```bibtex @article{rynnworld_teleop, title = {RynnWorld-Teleop: An Action-Conditioned World Model for Digital Teleoperation}, author = {DAMO Academy, Alibaba Group}, year = {2026}, } ``` ## License Apache License 2.0 β see [LICENSE](https://github.com/alibaba-damo-academy/RynnWorld-Teleop/blob/main/LICENSE) for details.