# Fine Tuning Openvla Oft

Fine-tunes and evaluates OpenVLA-OFT and OpenVLA-OFT+ policies for robot action...

- Repository: https://github.com/Orchestra-Research/AI-Research-SKILLs (14176 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-10-11
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Orchestra-Research/AI-Research-SKILLs --skill fine-tuning-openvla-oft -g -a claude-code -y`
Codex: `npx skills add Orchestra-Research/AI-Research-SKILLs --skill fine-tuning-openvla-oft -g -a codex -y`
Cursor: `npx skills add Orchestra-Research/AI-Research-SKILLs --skill fine-tuning-openvla-oft -g -a cursor -y`
Gemini CLI: `npx skills add Orchestra-Research/AI-Research-SKILLs --skill fine-tuning-openvla-oft -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add Orchestra-Research/AI-Research-SKILLs`

## Description

Fine-tunes and evaluates OpenVLA-OFT and OpenVLA-OFT+ policies for robot action generation with continuous action heads, LoRA adaptation, and FiLM conditioning on LIBERO simulation and ALOHA real-world setups. Use when reproducing OpenVLA-OFT paper results, training custom VLA action heads (L1 or diffusion), deploying server-client inference for ALOHA, or debugging normalization, LoRA merge, and cross-GPU issues.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# OpenVLA-OFT

Fine-tuning and evaluation workflows for OpenVLA-OFT and OpenVLA-OFT+ from the official `openvla-oft` codebase. Covers blank-machine setup plus LoRA-based adaptation of OpenVLA for robot action generation with continuous action prediction heads.

## Quick start

Clone the public repo, follow the official setup, then evaluate a pretrained LIBERO checkpoint:

```bash
git clone https://github.com/moojink/openvla-oft.git
cd openvla-oft
python experiments/robot/libero/run_libero_eval.py \
  --pretrained_checkpoint moojink/openvla-7b-oft-finetuned-libero-spatial \
  --task_suite_name libero_spatial \
  --center_crop True \
  --num_trials_per_task 50 \
  --seed 7
```

## Core concepts

**What OpenVLA-OFT changes**: Standard OpenVLA tokenizes continuous actions into discrete bins, losing precision. OFT replaces this with dedicated continuous action heads (L1 regression or diffusion) while keeping the VLA backbone frozen and adapting via LoRA.

**OFT vs OFT+ variants**:

| Variant | FiLM | Images | Typical use |
|---------|------|--------|-------------|
| OFT | Off | 2 (front + wrist) | LIBERO simulation |
| OFT+ | On | 3 (high + left + right wrist) | ALOHA real-world |

**Key architecture choices**:
- **LoRA adaptation**: Rank-32 LoRA on VLA backbone (no full fine-tuning needed)
- **Continuous actions**: L1 regression head (default) or diffusion head
- **FiLM conditioning**: Feature-wise Linear Modulation for stronger language grounding in OFT+
- **Multi-image input**: Configurable 2 or 3 camera streams via `num_images_in_input`

## Compute requirements

| Task | GPU | VRAM | Notes |
|------|-----|------|-------|
| LIBERO evaluation | 1x A100/A40 | ~16 GB | Single GPU |
| ALOHA evaluation | 1x A100/A40 | ~18 GB | Single GPU |
| LIBERO fine-tuning | 8x A100 | ~27 GB/GPU | Paper default |
| ALOHA fine-tuning (OFT+) | 8x A100 | ~35 GB/GPU | FiLM + 3 images |
| LoRA merge | 1x any GPU | ~16 GB | One-time step |

## Expected performance benchmarks

The rest: https://github.com/Orchestra-Research/AI-Research-SKILLs/blob/HEAD/18-multimodal/openvla-oft/SKILL.md
