Fine-tuning Guide
Training methods
| Method | VRAM | Speed | Quality |
|---|
| lora | Low | Fast | Good |
| qlora | Lowest | Medium | Good |
| full | Highest | Slow | Best |
LoRA fine-tuning
from vlarobot.training import VLATrainer, TrainingConfig
config = TrainingConfig(
model="openvla-7b",
dataset="/path/to/demos.hdf5",
method="lora",
lora_rank=16,
num_epochs=10,
learning_rate=2e-5,
batch_size=16,
)
trainer = VLATrainer(config)
results = trainer.train()
Prepare your data
from vlarobot.data import VLADataset
# From HDF5
dataset = VLADataset.from_hdf5("demos.hdf5")
# From LeRobot
dataset = VLADataset.from_lerobot("lerobot/pusht")
# Split
train_ds, val_ds = dataset.split(0.8)
Logging with W&B
config = TrainingConfig(
model="openvla-7b",
dataset="demos.hdf5",
wandb_project="my-experiments",
)