alibaba-damo-academy/RynnVLA-001

[ICRA 2026] RynnVLA-001: Using Human Demonstrations to Improve Robot Manipulation

304

stars

27

commits

Python

primary language

Jan 23, 2026

updated

README

RynnVLA-001: Using Human Demonstrations to Improve Robot Manipulation

If our project helps you, please give us a star ⭐ on GitHub to support us. πŸ™πŸ™

πŸ“ƒ Tech Report Β Β  | Β Β  πŸ“‘ Blog Β Β  | Β Β πŸ€— Hugging FaceΒ Β  | Β Β πŸ€– ModelScope
πŸ–₯️ Demo Video (Youtube) | Β Β πŸ–₯️ Demo Video (Bilibili)

πŸ“° News

  • [2025.09.18] πŸ”₯πŸ”₯ Release our technical report.
  • [2025.08.08] πŸ”₯πŸ”₯ Release our pretrained models and training code.

🌟 Introduction

RynnVLA-001 is a VLA model based on pretrained video generation model. The key insight is to implicitly transfer manipulation skills learned from human demonstrations in ego-centric videos to the manipulation of robot arms.

We finetune the baseline on the same dataset to evaluate the performance. The comparison results are shown in the following figure.

πŸ› οΈ Requirements and Installation

Install required packages:

pip install torch==2.2.0 torchvision==0.17.0 --index-url https://download.pytorch.org/whl/cu121

pip install -r requirements.txt

pip install flash-attn==2.5.8

🌍 Model Zoo

ModelStageInitial WeightsModel Links
RynnVLA-001-7B-BaseEgo-Centric Video Generative PretrainingChemeleon-7BHuggingFace / ModelScope
RynnVLA-001-7B-TrajectoryTrajectory-Aware Video ModelingRynnVLA-001-7B-BaseHuggingFace / ModelScope

Both of the models can be used as the pretrained model for VLA finetuning (Stage 3). Our full model is initialized with RynnVLA-001-7B-Trajectory.

πŸ—οΈ Training

The training pipeline are shown as follows:

Here we provide instructions on how to finetune the model with your own LeRobot data (ActionVAE and Stage 3). We will release instructions on how to train models from scratch. Stay tuned!

Step 1: Prepare Pretrained Models

Download Chameleon Model and pretrained RynnVLA-001-7B-Trajectory models, and put the downloaded model under pretrained_models. The structure of the folder pretrained_models should be:

pretrained_models
β”œβ”€β”€ Chameleon
β”‚   β”œβ”€β”€ original_tokenizers
β”‚   β”‚   β”œβ”€β”€ text_tokenizer.json
β”‚   β”‚   β”œβ”€β”€ vqgan.ckpt
β”‚   β”‚   └── vqgan.yaml
β”‚   β”œβ”€β”€ config.json
β”‚   └── ...
└── RynnVLA-001-7B-Trajectory

Step 2: Prepare Training Data

If you have your own LeRobot data, please convert your LeRobot data into the hdf5 format. Here, we provide the conversion scripts. To execute the conversion successfully, we recommend you to install a seperate environment as suggested in LeRobot repo.

python misc/lerobot_data_convert.py --dataset_dir path-to-raw-lerobot-data --task_name dataset-name --save_dir path-to-save-hdf5-files

After the data conversion, you need to save the statistics and paths of all your data into a json file. You can use the following scripts to generate the json file. Before you run the scripts, please change the data path in the misc/merge_data/config.yaml.

cd misc/merge_data

python misc/data_process_with_configs.py -c misc/merge_data/config.yaml

Step 3: Prepare training script

Before you start training, please change the paths in ./configs/actionvae/actionvae_lerobot.yml and ./configs/lerobot/lerobot_exp.yml to corresponding local paths.

# ActionVAE
# Empirically, we train action_vae on our dataset for 300000 iterations with batch size of 16 * 8 (GPUs).
# You may visualize the reconstructed trajectory to check the quality.
bash scripts/actionvae/action_vae.sh

# Stage 3
bash scripts/lerobot/lerobot.sh

πŸ€– Inference

Here, we provide an example code for the inference on lerobot. You can adapt this code to interact with your robot arm for input and output.

Please refer to inference_lerobot.py for details.

You may need to upgrade the version of transformers to 4.46.3 if any error occurs.

πŸ“‘ Citation

@article{jiang2025rynnvla001,
  title={RynnVLA-001: Using Human Demonstrations to Improve Robot Manipulation},
  author={Jiang, Yuming and Huang, Siteng and Xue, Shengke and Zhao, Yaxi and Cen, Jun and Leng, Sicong and Li, Kehan and Guo, Jiayan and Wang, Kexiang and Chen, Mingxiu and Wang, Fan and Zhao, Deli and Li, Xin},
  journal={arXiv preprint arXiv:2509.15212},
  year={2025}
}

πŸ‘ Acknowledgement

The codebase of our RynnVLA-001 is refactored from Lumina-mGPT and Chameleon. If your work is used in RynnVLA-001 but not mentioned in either this repo or the technical report, feel free to let us know :heart:.

πŸ’‘ Other featured projects from our RynnBot family ✨.

RynnVLA-002: A Unified Vision-Language-Action and World Model
Jun Cen*, Siteng Huang*, Yuqian Yuan*, Kehan Li*, Hangjie Yuan, Chaohui Yu, Yuming Jiang, Jiayan Guo, Xin Li, Hao Luo, Fan Wang, Deli Zhao, Hao Chen
github github arXiv

RynnRCP: Open Robotics Context Protocol and RobotMotion
RynnBot Team
github github

RynnMotion: All-In-One Tookit for Fast Robot Prototyping and Heterogeneous Teleoperation
RynnBot Team
github github

RynnEC: Bringing MLLMs into Embodied World
Ronghao Dang*, Yuqian Yuan*, Yunxuan Mao*, Kehan Li*, Jiangpin Liu, Zhikai Wang, Fan Wang, Deli Zhao, Xin Li
github github arXiv

πŸ”’ License

This project is released under the Apache 2.0 license as found in the LICENSE file. The service is a research preview intended for non-commercial use ONLY. Please get in touch with us if you find any potential violations.

Contributors

yumingj

21 commits

lixin4ever

5 commits

LengSicong

1 commits

alibaba-damo-academy/RynnVLA-001

[ICRA 2026] RynnVLA-001: Using Human Demonstrations to Improve Robot Manipulation

304

stars

27

commits

Python

primary language

Jan 23, 2026

updated

README

RynnVLA-001: Using Human Demonstrations to Improve Robot Manipulation

If our project helps you, please give us a star ⭐ on GitHub to support us. πŸ™πŸ™

πŸ“ƒ Tech Report Β Β  | Β Β  πŸ“‘ Blog Β Β  | Β Β πŸ€— Hugging FaceΒ Β  | Β Β πŸ€– ModelScope
πŸ–₯️ Demo Video (Youtube) | Β Β πŸ–₯️ Demo Video (Bilibili)

πŸ“° News

  • [2025.09.18] πŸ”₯πŸ”₯ Release our technical report.
  • [2025.08.08] πŸ”₯πŸ”₯ Release our pretrained models and training code.

🌟 Introduction

RynnVLA-001 is a VLA model based on pretrained video generation model. The key insight is to implicitly transfer manipulation skills learned from human demonstrations in ego-centric videos to the manipulation of robot arms.

We finetune the baseline on the same dataset to evaluate the performance. The comparison results are shown in the following figure.

πŸ› οΈ Requirements and Installation

Install required packages:

pip install torch==2.2.0 torchvision==0.17.0 --index-url https://download.pytorch.org/whl/cu121

pip install -r requirements.txt

pip install flash-attn==2.5.8

🌍 Model Zoo

ModelStageInitial WeightsModel Links
RynnVLA-001-7B-BaseEgo-Centric Video Generative PretrainingChemeleon-7BHuggingFace / ModelScope
RynnVLA-001-7B-TrajectoryTrajectory-Aware Video ModelingRynnVLA-001-7B-BaseHuggingFace / ModelScope

Both of the models can be used as the pretrained model for VLA finetuning (Stage 3). Our full model is initialized with RynnVLA-001-7B-Trajectory.

πŸ—οΈ Training

The training pipeline are shown as follows:

Here we provide instructions on how to finetune the model with your own LeRobot data (ActionVAE and Stage 3). We will release instructions on how to train models from scratch. Stay tuned!

Step 1: Prepare Pretrained Models

Download Chameleon Model and pretrained RynnVLA-001-7B-Trajectory models, and put the downloaded model under pretrained_models. The structure of the folder pretrained_models should be:

pretrained_models
β”œβ”€β”€ Chameleon
β”‚   β”œβ”€β”€ original_tokenizers
β”‚   β”‚   β”œβ”€β”€ text_tokenizer.json
β”‚   β”‚   β”œβ”€β”€ vqgan.ckpt
β”‚   β”‚   └── vqgan.yaml
β”‚   β”œβ”€β”€ config.json
β”‚   └── ...
└── RynnVLA-001-7B-Trajectory

Step 2: Prepare Training Data

If you have your own LeRobot data, please convert your LeRobot data into the hdf5 format. Here, we provide the conversion scripts. To execute the conversion successfully, we recommend you to install a seperate environment as suggested in LeRobot repo.

python misc/lerobot_data_convert.py --dataset_dir path-to-raw-lerobot-data --task_name dataset-name --save_dir path-to-save-hdf5-files

After the data conversion, you need to save the statistics and paths of all your data into a json file. You can use the following scripts to generate the json file. Before you run the scripts, please change the data path in the misc/merge_data/config.yaml.

cd misc/merge_data

python misc/data_process_with_configs.py -c misc/merge_data/config.yaml

Step 3: Prepare training script

Before you start training, please change the paths in ./configs/actionvae/actionvae_lerobot.yml and ./configs/lerobot/lerobot_exp.yml to corresponding local paths.

# ActionVAE
# Empirically, we train action_vae on our dataset for 300000 iterations with batch size of 16 * 8 (GPUs).
# You may visualize the reconstructed trajectory to check the quality.
bash scripts/actionvae/action_vae.sh

# Stage 3
bash scripts/lerobot/lerobot.sh

πŸ€– Inference

Here, we provide an example code for the inference on lerobot. You can adapt this code to interact with your robot arm for input and output.

Please refer to inference_lerobot.py for details.

You may need to upgrade the version of transformers to 4.46.3 if any error occurs.

πŸ“‘ Citation

@article{jiang2025rynnvla001,
  title={RynnVLA-001: Using Human Demonstrations to Improve Robot Manipulation},
  author={Jiang, Yuming and Huang, Siteng and Xue, Shengke and Zhao, Yaxi and Cen, Jun and Leng, Sicong and Li, Kehan and Guo, Jiayan and Wang, Kexiang and Chen, Mingxiu and Wang, Fan and Zhao, Deli and Li, Xin},
  journal={arXiv preprint arXiv:2509.15212},
  year={2025}
}

πŸ‘ Acknowledgement

The codebase of our RynnVLA-001 is refactored from Lumina-mGPT and Chameleon. If your work is used in RynnVLA-001 but not mentioned in either this repo or the technical report, feel free to let us know :heart:.

πŸ’‘ Other featured projects from our RynnBot family ✨.

RynnVLA-002: A Unified Vision-Language-Action and World Model
Jun Cen*, Siteng Huang*, Yuqian Yuan*, Kehan Li*, Hangjie Yuan, Chaohui Yu, Yuming Jiang, Jiayan Guo, Xin Li, Hao Luo, Fan Wang, Deli Zhao, Hao Chen
github github arXiv

RynnRCP: Open Robotics Context Protocol and RobotMotion
RynnBot Team
github github

RynnMotion: All-In-One Tookit for Fast Robot Prototyping and Heterogeneous Teleoperation
RynnBot Team
github github

RynnEC: Bringing MLLMs into Embodied World
Ronghao Dang*, Yuqian Yuan*, Yunxuan Mao*, Kehan Li*, Jiangpin Liu, Zhikai Wang, Fan Wang, Deli Zhao, Xin Li
github github arXiv

πŸ”’ License

This project is released under the Apache 2.0 license as found in the LICENSE file. The service is a research preview intended for non-commercial use ONLY. Please get in touch with us if you find any potential violations.

Contributors

yumingj

21 commits

lixin4ever

5 commits

LengSicong

1 commits

Languages

Python

99.7%