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
|