Downloads · 30 days
18
25% of all-time downloads
SberRoboticsCenter/GreenVLA-5b-stride-4-R2-calvin
GreenVLA-5b-stride-4-R2-calvin is a robotics model from SberRoboticsCenter. Use it for the robotics task on the model card, and read the license before you ship it in a product. It is set up for lerobot. The card lists the license as apache-2.0.
Downloads · 30 days
18
25% of all-time downloads
All-time downloads
73
Public
Repo size
9.4 GB
Likes
1
Public
Click a slice to open those files.
.safetensors9.4 GB · 100%
From the Hugging Face model README
Sber Robotics Center · Manipulation Team
</div>GreenVLA-5b-stride-4-R2-calvin is the R2 (RL-aligned) checkpoint of the Green-VLA family, fine-tuned for the CALVIN benchmark environment.
Starting from GreenVLA-5b-base-stride-4, this model went through both R1 (supervised fine-tuning) and R2 (RL policy alignment) stages on CALVIN data.
Evaluated on the CALVIN benchmark:
| Metric | Value |
|---|---|
| Avg Chain Length | 4.57 |
| Details | |
|---|---|
| Base checkpoint | GreenVLA-5b-base-stride-4 |
| Stage | R2 — RL policy alignment |
| Method | Trajectory optimization (SFT + RL on collected trajectories) |
| Environment | CALVIN |
| Parameters | ~5B |
git clone https://github.com/greenvla/GreenVLA.git
cd GreenVLA
uv sync # or: pip install -e .
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-4-R2-calvin",
data_config_name="calvin",
)
policy.to("cuda").eval()
# 2. Build an observation (replace with real sensor data).
raw_obs = {
"observation/state": np.random.rand(8).astype(np.float32),
"observation/image": np.random.randint(0, 256, size=(224, 224, 3), dtype=np.uint8),
"prompt": "open the drawer",
}
# 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"]
@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},
}
<div align="center">
© 2026 Sber Robotics Center · Manipulation Team
</div>