File size: 4,701 Bytes
857c2e9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# Installation Guide

This guide provides step-by-step instructions for setting up EVOLVE-VLA. We maintain **two separate conda environments**:

1. **`evolve-vla`**: For RL training (verl framework, OpenVLA, LIBERO)
2. **`vlac`**: For VLAC reward model service

---

## System Requirements


- **OS**: Linux (Ubuntu 20.04/22.04 recommended)
- **GPU**: NVIDIA GPU with CUDA 12.1 support. Recommended: H100 80GB for distributed training
- **CUDA**: 12.1
- **Python**: 3.10

---

## Environment 1: RL Training (evolve-vla)

**Important**: Follow the exact order below to avoid dependency conflicts.

```bash
# Create conda environment
conda create -n evolve-vla python=3.10 -y
conda activate evolve-vla

# Update pip and setuptools (critical for LIBERO installation)
pip install setuptools==78.1.1 pip==23.0

# Install verl framework
cd /path/to/EVOLVE-VLA
pip install --no-deps -e verl/

# Install OpenVLA-OFT (will install its own dependencies including torch)
cd /path/to/workspace
git clone https://github.com/moojink/openvla-oft.git
cd openvla-oft
pip install -e .

# Install LIBERO benchmark
cd /path/to/workspace
git clone https://github.com/Lifelong-Robot-Learning/LIBERO.git
cd LIBERO
pip install -e .
pip install -r experiments/robot/libero/libero_requirements.txt

# Install additional tools
pip install packaging ninja
pip install git+https://github.com/NICTA/pyairports.git

# CRITICAL: Reinstall correct PyTorch version (OpenVLA-OFT/LIBERO may have installed different versions)
pip uninstall -y torch torchvision torchaudio
pip3 install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 \
    --index-url https://download.pytorch.org/whl/cu121

# Install customized transformers for OpenVLA
pip install transformers@git+https://github.com/moojink/transformers-openvla-oft.git

# Install Flash Attention
pip uninstall -y flash_attn
pip install flash-attn==2.5.5 --no-build-isolation --no-cache-dir

# Install remaining dependencies
pip install tensordict==0.9.0 click==8.2.1
pip install "ray[default]==2.9.0"
pip install wandb  # For experiment tracking

# Install MuJoCo rendering dependencies
conda install -c conda-forge -y libegl-devel libstdcxx-ng

# System packages (requires sudo, mainly for simulation rendering)
sudo apt install -y libosmesa6 libosmesa6-dev
sudo apt-get install -y libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libglew-dev
```

---

## Environment 2: Reward Model Service (vlac)

```bash
# Create conda environment
conda create -n vlac python=3.10 -y
conda activate vlac

# Install VLAC dependencies first (before PyTorch)
pip install ms-swift==3.3 transformers==4.51.0 peft==0.15.2
pip install opencv-python loguru timm

# Install PyTorch
pip3 install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 \
    --index-url https://download.pytorch.org/whl/cu121

# Install Flash Attention
pip install packaging ninja
pip install flash-attn==2.5.5 --no-build-isolation --no-cache-dir

# Download VLAC checkpoint
cd /path/to/EVOLVE-VLA
mkdir -p checkpoints/VLAC
# Download checkpoint from HuggingFace: https://huggingface.co/InternRobotics/VLAC

# Set VLAC checkpoint path for service startup
export VLAC_CKPT_PATH=/path/to/EVOLVE-VLA/checkpoints/VLAC
```

---

## Ray Cluster Setup (Optional, for Multi-Node Training)

Ray is used for distributed training across multiple nodes.
**If you're training on a single node, you can skip this section** - Ray will be automatically initialized by the training script.

For multi-node distributed training (recommended for reproducing paper results):

**On Head Node (Machine 1):**

```bash
# Activate environment
conda activate evolve-vla

# Start Ray head
MUJOCO_GL=osmesa PYOPENGL_PLATFORM=osmesa ray start --head --port=6379

# The shell will show the head node IP
```

**On Worker Nodes (Machine 2, 3, ...):**

```bash
# Activate environment
conda activate evolve-vla

# Connect to head node (replace <HEAD_IP> with actual IP from above)
MUJOCO_GL=osmesa PYOPENGL_PLATFORM=osmesa ray start --address='<HEAD_IP>:6379'

# Example:
# ray start --address='10.124.104.163:6379'
```

**Verify Cluster:**

```bash
# On any node
ray status
```

You should see all nodes with their CPU/GPU resources.

**Stopping Ray:**

```bash
ray stop  # Stop Ray on current node
ray stop --force  # Stop and clean up
```

---

## Next Steps

After successful installation:

1. **Setup VLAC Service**: Follow [README Quick Start](../README.md#-quick-start)
2. **Set training environment variables**:
   - `EVOLVE_SFT_CHECKPOINT`
   - `EVOLVE_OUTPUT_DIR`
   - `EVOLVE_ALIGN_JSON`
3. **Run reproduction checklist**: see [REPRODUCTION.md](REPRODUCTION.md)
4. **Run training**: check [Quick Start](../README.md#-quick-start) in main README