--- library_name: lerobot license: apache-2.0 language: - en base_model: - SberRoboticsCenter/GreenVLA-5b-base-stride-1 pipeline_tag: robotics tags: - robotics - vla - vision-language-action - manipulation - flow-matching - action-prediction - green-vla - bridge - widowx - reinforcement-learning datasets: - IPEC-COMMUNITY/bridge_orig_lerobot model-index: - name: GreenVLA-5b-stride-1-R2-bridge results: - task: type: robotics name: SimplerEnv WidowX (Bridge) dataset: type: IPEC-COMMUNITY/bridge_orig_lerobot name: Bridge metrics: - type: success_rate name: Partial Average value: 94.5 - type: success_rate name: Entire Average value: 80.5 ---
# GreenVLA-5b-stride-1-R2-bridge ### RL-Aligned VLA for Bridge (WidowX) **Sber Robotics Center · Manipulation Team** [![arXiv](https://img.shields.io/badge/arXiv-2602.00919-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white)](https://arxiv.org/abs/2602.00919) [![Project Page](https://img.shields.io/badge/Project-Page-blue?style=for-the-badge&logo=github&logoColor=white)](https://greenvla.github.io/) [![Code](https://img.shields.io/badge/Code-GitHub-181717?style=for-the-badge&logo=github&logoColor=white)](https://github.com/greenvla/GreenVLA)
--- ## Overview **GreenVLA-5b-stride-1-R2-bridge** is the R2 (RL-aligned) checkpoint of the [Green-VLA](https://arxiv.org/abs/2602.00919) family, fine-tuned on the [Bridge](https://huggingface.co/datasets/IPEC-COMMUNITY/bridge_orig_lerobot) dataset for the WidowX robot arm joined with additional trajectories collected in SimplerEnv Bridge environments. Trajectory collection and RL fine-tuning were conducted according to the Trajectory Optimization approach described in the [technical report](https://arxiv.org/abs/2602.00919). Starting from [GreenVLA-5b-base-stride-1](https://huggingface.co/SberRoboticsCenter/GreenVLA-5b-base-stride-1), this model went through both R1 (supervised fine-tuning) and R2 (RL policy alignment) stages, resulting in significant performance gains over behavior cloning alone. ## Evaluation Evaluated on **SimplerEnv WidowX (Bridge)** benchmark. > **Note:** Bridge benchmark results can vary up to ±6% between runs. We recommend averaging over multiple evaluation runs for reliable comparisons. ### Partial Success Rate | Task | Success Rate | |------|:---:| | Put Spoon on Towel | 90.6% | | Put Carrot on Plate | 89.6% | | Stack Blocks | 99.0% | | Put Eggplant in Basket | 99.0% | | **Average** | **94.5%** | ### Entire Success Rate | Task | Success Rate | |------|:---:| | Put Spoon on Towel | 80.2% | | Put Carrot on Plate | 76.1% | | Stack Blocks | 70.8% | | Put Eggplant in Basket | 94.8% | | **Average** | **80.5%** | ## Training | | Details | |---|---| | **Base checkpoint** | [GreenVLA-5b-base-stride-1](https://huggingface.co/SberRoboticsCenter/GreenVLA-5b-base-stride-1) | | **Stage** | R2 — RL policy alignment | | **Method** | Trajectory optimization (SFT + RL on collected trajectories) | | **Dataset** | [IPEC-COMMUNITY/bridge_orig_lerobot](https://huggingface.co/datasets/IPEC-COMMUNITY/bridge_orig_lerobot) + SimplerEnv rollouts | | **Robot** | WidowX (Bridge) | | **Parameters** | ~5B | ## Quick Start ### Installation ```bash git clone https://github.com/greenvla/GreenVLA.git cd GreenVLA uv sync # or: pip install -e . ``` ### Inference ```python import numpy as np import torch from lerobot.common.policies.factory import load_pretrained_policy from lerobot.common.utils.torch_observation import ( move_dict_to_batch_for_inference, torch_preprocess_dict_inference, ) # 1. Load policy and transforms. policy, input_transforms, output_transforms = load_pretrained_policy( "SberRoboticsCenter/GreenVLA-5b-stride-1-R2-bridge", data_config_name="bridge", ) policy.to("cuda").eval() # 2. Build an observation (replace with real sensor data). raw_obs = { "observation/state": np.random.rand(8).astype(np.float32), # x y z roll pitch yaw _pad_ gripper "observation/image": np.random.randint(0, 256, size=(224, 224, 3), dtype=np.uint8), "prompt": "pick up the green block and place it on the plate", } # 3. Transform, preprocess, and batch. obs = input_transforms(raw_obs) obs = torch_preprocess_dict_inference(obs) batch = move_dict_to_batch_for_inference(obs, device="cuda") # 4. Predict actions and post-process. with torch.inference_mode(): raw_actions = policy.select_action(batch).cpu().numpy() actions = output_transforms( {"actions": raw_actions, "state": batch["state"].cpu().numpy()} )["actions"] # actions shape: (action_horizon, 7) — [x, y, z, roll, pitch, yaw, gripper] ``` See [`examples/example_inference_bridge.py`](https://github.com/greenvla/GreenVLA/blob/main/examples/example_inference_bridge.py) for the full runnable script with argument parsing. ## Citation ```bibtex @misc{apanasevich2026greenvlastagedvisionlanguageactionmodel, title = {Green-VLA: Staged Vision-Language-Action Model for Generalist Robots}, author = {I. Apanasevich and M. Artemyev and R. Babakyan and P. Fedotova and D. Grankin and E. Kupryashin and A. Misailidi and D. Nerus and A. Nutalapati and G. Sidorov and I. Efremov and M. Gerasyov and D. Pikurov and Y. Senchenko and S. Davidenko and D. Kulikov and M. Sultankin and K. Askarbek and O. Shamanin and D. Statovoy and E. Zalyaev and I. Zorin and A. Letkin and E. Rusakov and A. Silchenko and V. Vorobyov and S. Sobolnikov and A. Postnikov}, year = {2026}, eprint = {2602.00919}, archivePrefix = {arXiv}, primaryClass = {cs.RO}, url = {https://arxiv.org/abs/2602.00919}, } ```
© 2026 Sber Robotics Center · Manipulation Team