mannequin sounds costly, fragile, and exhausting to confirm. I wished a smaller check: can I run an actual OpenVLA LoRA fine-tune in Colab, show that the dataset loaded appropriately, affirm that the GPU carried out actual coaching, and depart behind proof that another person can examine?
In case you are making an attempt to grasp whether or not OpenVLA fine-tuning is approachable, this text provides you a small, reproducible path earlier than you spend time on bigger robotic experiments. By the tip, you’ll know what adjustments in OpenVLA fine-tuning, what a LoRA adapter buys you, find out how to run the official coaching path in Colab, and find out how to confirm that the result’s greater than a pocket book that merely completed with out crashing.
The OpenVLA paper introduces OpenVLA as a 7-billion-parameter open-source vision-language-action mannequin skilled on 970,000 real-world robotic demonstrations. That scale is strictly why a small, verifiable first run is helpful.
OpenVLA is a mannequin for robotic management. A vision-language-action mannequin, or VLA, takes two inputs: a digital camera picture from the robotic workspace and a natural-language instruction similar to “put the cup on the plate.” From these inputs, it predicts the following motion the robotic ought to take.
Nice-tuning means taking a pretrained mannequin and coaching it additional on a selected dataset. For OpenVLA, the dataset consists of robotic demonstrations. Every demonstration reveals what the robotic noticed, what instruction it was following, and what motion it took subsequent. The objective is to enhance the mannequin’s capacity to foretell the demonstrated motion for a process household that issues to the run.
This text walks via one small, reproducible OpenVLA fine-tuning run. It makes use of the `openvla/openvla-7b` checkpoint, which is the 7-billion-parameter checkpoint used within the official OpenVLA recipe, and trains a Low-Rank Adaptation (LoRA) adapter as a substitute of updating the total mannequin. LoRA retains the run smaller as a result of it trains solely a small set of adapter weights, whereas a lot of the unique mannequin stays frozen.
The run makes use of the `libero_spatial_no_noops` Robotic Studying Dataset Normal (RLDS) dataset. Robotic Studying Dataset Normal is a format for storing robotic demonstrations as episodes. Every episode comprises observations, directions, actions, and step data. On this run, OpenVLA learns from these episodes by evaluating its predicted motion tokens with the demonstrated motion tokens.
The remainder of the article follows that path from setup to proof. It explains the dataset, the coaching command, the vital hyperparameters, what OpenVLA predicts, what the loss and motion accuracy metrics imply, and the way the finished run was checked in Weights & Biases (W&B). The objective is to not make the run look bigger than it’s. The objective is to make it inspectable.
What that is and isn’t
This tutorial demonstrates a reproducible, end-to-end OpenVLA adaptation workflow. The LIBERO dataset masses efficiently, the official fine-tuning pipeline runs, LoRA adapter
weights are up to date, coaching metrics are logged, GPU utilization is seen, and the ensuing run could be inspected in W&B.
The brief Colab run is an integration validation, not a task-performance benchmark. Measuring whether or not the tailored coverage improves success charges would require held-out
simulation rollouts or real-robot analysis. Right here, the objective is to offer readers a working, verifiable basis earlier than they decide to an extended coaching and analysis run.
Replica supplies
Colab pocket book: https://colab.analysis.google.com/drive/1AiiJuFvNUTyQ-eksm9Mj7wAGtvH_V4zQ
W&B run: https://wandb.ai/wb-authors/openvla-lora-finetune/runs/zwo162re
Dataset: libero_spatial_no_noops
Mannequin: openvla/openvla-7b
{Hardware}: Colab A100 Excessive-RAM
Coaching size: 100 steps

What OpenVLA fine-tuning adjustments
After the checkpoint is loaded, fine-tuning adjustments the mannequin’s habits by coaching on robotic demonstrations. A robotic coverage is the a part of the system that chooses the following robotic motion. On this run, OpenVLA is the coverage: it receives a workspace picture and an instruction, then predicts motion tokens for the following robotic transfer.
Motion tokens are discrete vocabulary entries that stand for robotic management values. The launched OpenVLA motion represents a normalized seven-degree-of-freedom finish effector command. The tip effector is the software or gripper on the finish of the robotic arm. The seven values symbolize x, y, z, roll, pitch, yaw, and gripper. A robotic system should convert these normalized values again to the motion scale utilized by its personal robotic and dataset earlier than execution.

Throughout coaching, the mannequin sees a picture, a language instruction, and the following motion demonstrated within the LIBERO dataset. The LoRA adapter learns small weight updates that make the mannequin extra prone to predict the motion tokens demonstrated on this process household.
Prompting and reinforcement studying clear up totally different issues. A immediate adjustments the directions given to the mannequin when it’s used. Nice-tuning updates weights utilizing demonstration knowledge. On-line reinforcement studying improves a coverage via trial and error, reward, and suggestions from an atmosphere.
Nice-tuning is helpful when the pretrained coverage is near the duty however mismatched to the robotic setup. Widespread causes are a brand new digital camera angle, a brand new gripper, a unique motion scale, totally different objects, or process language that was not properly coated within the unique coaching knowledge. Robotics papers typically name this drawback embodiment shift: the robotic physique, sensors, or motion house modified, so the outdated coverage now not matches the brand new setup.
Why begin with LoRA
Low Rank Adaptation (LoRA) is the adapter methodology used on this run. It trains a small set of recent weights whereas a lot of the base OpenVLA checkpoint stays frozen. That makes LoRA a sensible first experiment for a big robotic mannequin as a result of the run makes use of much less reminiscence and produces a smaller adapter checkpoint.

The OpenVLA mission stories that LoRA matched full fine-tuning in its parameter-efficient fine-tuning experiments whereas coaching just one.4 p.c of the parameters. That declare helps the selection of LoRA for a primary run, nevertheless it doesn’t make this 100-step run a full mannequin high quality analysis.
For this text, LoRA is helpful as a result of it retains the experiment sufficiently small to run within the pocket book whereas nonetheless utilizing the official OpenVLA fine-tuning script. The result’s a smoke check with actual coaching proof: the dataset masses, the adapter trains, metrics are logged, and the completed run syncs to W&B.
The dataset used on this run
LIBERO is a benchmark for language-conditioned robotic manipulation. The spatial break up focuses on duties the place the robotic should comply with spatial relationships between objects, similar to transferring one object relative to a different object. Robotic Studying Dataset Normal (RLDS) shops robotic demonstrations as episodes. Every episode comprises observations, language directions, actions, and step metadata. The no_noops suffix signifies that no-op actions have been eliminated, so the coaching knowledge focuses on steps through which the robotic adjustments the duty state. The pocket book downloads the dataset mechanically and shops it within the Colab runtime.

The pattern episode beneath reveals what the dataset comprises. The frames are digital camera observations from one robotic demonstration. The instruction for this episode is: “choose up the black bowl on the ramekin and place it on the plate.” The primary motion has seven values: x, y, z, roll, pitch, yaw, and gripper.

The animated GIF beneath reveals the identical episode over time, whereas the contact sheet above provides a steady nonetheless view for readers and exports.

/content material/knowledge/rlds/modified_libero_rlds
The OpenVLA coaching script wants two dataset values. –data_root_dir factors to the folder that comprises the modified LIBERO RLDS knowledge, and –dataset_name selects the precise LIBERO break up used for coaching:
--dataset_name libero_spatial_no_noops
These two values are the hyperlink between the downloaded knowledge and the coaching command. If the folder or break up title is improper, OpenVLA can not load the demonstrations.
Dataset license. This run makes use of the libero_spatial_no_noops break up from the modified LIBERO RLDS knowledge distributed by the OpenVLA mission. The LIBERO datasets are launched underneath the Inventive Commons Attribution 4.0 Worldwide (CC BY 4.0) license, which allows industrial use with attribution. The LIBERO and OpenVLA codebases are launched underneath the MIT License. Dataset supply: LIBERO (Liu et al., 2023).
Colab runtime setup
The pocket book is constructed for a single Colab run: set the runtime as soon as, add a Weights & Biases API key in Colab Secrets and techniques, and run the cells from high to backside. It’s designed for an A100 Excessive-RAM Colab runtime, not a free CPU runtime or a small native laptop computer. The objective is to maintain the experiment sufficiently small for one pocket book session whereas nonetheless utilizing the actual OpenVLA coaching path. The fastened dataset path and automated W&B entity detection preserve the command constant throughout accounts.
Use this runtime kind:
Runtime kind: Python 3
{Hardware} accelerator: A100 GPU
Excessive-RAM: on
The pocket book reads WANDB_API_KEY from Colab Secrets and techniques. Throughout sync, it asks W&B which default entity belongs to the important thing and writes the run there. The ultimate run URL belongs to the account related to that key.
OpenVLA pins older machine studying dependencies, so the pocket book makes use of two Python environments:
/content material/openvla_venv OpenVLA coaching atmosphere
/content material/wandb_sync_venv W&B sync atmosphere
The coaching atmosphere runs the official OpenVLA script. The sync atmosphere makes use of a present W&B consumer to add the offline run after coaching finishes. This break up retains the OpenVLA dependency stack steady and nonetheless helps present W&B authentication.
The distinctive half is the sync logic. The pocket book trains offline within the OpenVLA atmosphere, creates a contemporary sync atmosphere, resolves the entity from the API key, and uploads the offline run:
!pip set up -U wandb
import wandb
from google.colab import userdata
wandb.login(key=userdata.get("WANDB_API_KEY"))
wandb.init(mission="openvla-lora-finetune")
Coaching command
The pocket book runs the official OpenVLA LoRA entry level, vla-scripts/finetune.py. The core command is:
torchrun --standalone --nnodes 1 --nproc-per-node 1 vla-scripts/finetune.py
--vla_path openvla/openvla-7b
--data_root_dir /content material/knowledge/rlds/modified_libero_rlds
--dataset_name libero_spatial_no_noops
--run_root_dir /content material/openvla_runs
--adapter_tmp_dir /content material/openvla_adapter_tmp
--lora_rank 32
--batch_size 2
--grad_accumulation_steps 8
--learning_rate 0.0005
--image_aug True
--wandb_project openvla-lora-finetune
--wandb_entity "$WANDB_ENTITY"
--max_steps 100
Gradient accumulation means the coach accumulates gradients throughout a number of small batches earlier than performing a single optimizer replace. The efficient batch dimension is:
efficient batch dimension = batch dimension x gradient accumulation steps x variety of coaching processes
For this run:
2 x 8 x 1 = 16
The run makes use of 100 coaching steps. That is sufficient to confirm that the dataset masses, LoRA trains, metrics are logged, and W&B sync works.
The hyperparameters are deliberately conservative for an A100 Colab smoke run. LoRA rank 32 and studying fee 0.0005 comply with the OpenVLA LoRA instance’s scale. A batch dimension of two retains GPU reminiscence manageable. Gradient accumulation of 8 provides an efficient batch dimension of 16, whereas the bodily batch dimension stays small. Picture augmentation stays on as a result of the OpenVLA LoRA recipe makes use of it to enhance robustness to visible variation.
Proof captured by the pocket book
On the finish of the Colab run, the pocket book writes an proof folder and zip file:
/content material/openvla_article_outputs/
/content material/openvla_article_outputs.zip
The proof folder comprises:
colab_environment.json
openvla_lora_colab_command.sh
openvla_lora_train_stdout.txt
wandb_run_url.txt
wandb_verified_run.json
The coaching log confirms the precise mannequin and dataset:
Nice-tuning OpenVLA Mannequin `openvla/openvla-7b` on `libero_spatial_no_noops`
The verified W&B metadata factors to the synced run:
https://wandb.ai/wb-authors/openvla-lora-finetune/runs/zwo162re
What the run confirmed
The 100-step run produced a visual studying sign. Three metrics matter earlier than studying the numbers. train_loss measures supervised coaching error, so decrease is best. l1_loss measures absolute motion error, so decrease is best. action_accuracy measures how typically predicted motion tokens match demonstrated motion tokens, so increased is best. The vital end result is just not the ultimate motion accuracy by itself. The vital result’s that each one three indicators transfer within the anticipated route throughout an actual coaching run: supervised loss decreases, motion error decreases, and action-token accuracy improves. The W&B abstract recorded:
train_loss: 3.42928
l1_loss: 0.2222
action_accuracy: 0.28571




That is the system proof. system/reminiscence reveals the host’s reminiscence utilization. Course of GPU Energy Utilization (W) and Course of GPU Energy Utilization (%) present that the Colab A100 was lively throughout the coaching window. Course of GPU energy was roughly 170 to 190 watts for a lot of the run, and course of GPU utilization sat round 40 p.c. These panels assist affirm that the pocket book carried out actual GPU coaching work after which synced the metrics to W&B.
These metrics present that OpenVLA LoRA fine-tuning ran on the RLDS dataset, used the A100 GPU, and synced interactive charts to W&B.
Use the tracker as proof
For this type of robotics tutorial, the experiment tracker is the audit path for the run. The vital query is whether or not every article declare connects to logged metrics, system telemetry, recordsdata, and metadata from the identical coaching job.
This run makes use of W&B as a result of the pocket book and captured proof have been synced there. The identical proof sample applies to any tracker able to storing metrics, system telemetry, recordsdata, and a steady run URL. The run provides the tutorial a reviewable report:
- Run URL
- Coaching loss curve
- L1 motion loss curve
- Motion accuracy curve
- System reminiscence
- GPU energy utilization
- Synced run recordsdata
The pocket book trains with W&B offline logging first, then syncs the completed run. That makes the run resilient to dependency conflicts whereas nonetheless ending with a dynamic W&B web page that readers can open.
Reproduce the run
Open the companion pocket book:
https://colab.analysis.google.com/drive/1AiiJuFvNUTyQ-eksm9Mj7wAGtvH_V4zQ
Set the runtime to A100 GPU with Excessive-RAM. Add WANDB_API_KEY in Colab Secrets and techniques. Then select:
Runtime -> Run all
The pocket book performs the total sequence so as. It installs dependencies, clones OpenVLA, levels the modified LIBERO RLDS dataset, creates the OpenVLA Python 3.10 atmosphere, runs the LoRA fine-tune, syncs the offline W&B run, verifies the W&B run URL, and zippers the proof recordsdata.
When the run completes, open the W&B hyperlink printed by the pocket book to examine the run historical past, charts, recordsdata, and metadata.
What this run provides you
A 100-step LoRA run is not going to let you know whether or not a robotic coverage is able to deploy. It’ll let you know whether or not the coaching path is wired appropriately: the best dataset masses, the official script runs, the adapter receives updates, the graphics processing unit does actual work, and the metrics survive exterior the pocket book.
That’s the sensible worth of the article. Earlier than scaling to longer coaching, simulation analysis, or actual robotic testing, you’ve gotten a compact baseline that’s reproducible, inspectable, and trustworthy about what it proves.
The identical sample applies past OpenVLA. For any large-model fine-tuning tutorial, the helpful query is just not solely whether or not the pocket book is full. The helpful query is whether or not the run leaves behind sufficient proof for one more individual to examine the information, command, metrics, {hardware} exercise, and ultimate artifacts. For me, that’s the actual lesson: earlier than asking whether or not a fine-tuned robotic mannequin is sweet, first show that the coaching run is actual, reproducible, and measurable.
Sources
- OpenVLA: An Open Supply Imaginative and prescient Language Motion Mannequin, the paper behind the mannequin, structure, dataset scale, and fine-tuning claims.
- OpenVLA mission web page, the mission description for mannequin construction, robotic evaluations, and parameter-efficient fine-tuning.
- openvla/openvla GitHub repository, the official supply for set up, LoRA command arguments, dataset setup, and coaching scripts.















