# OpenVLA: LoRA policy fine-tuning

Pinned distributed parameter-efficient OpenVLA fine-tuning entrypoint using PEFT LoRA and a selected RLDS demonstration dataset. Statically reviewed source only; not run and no Hub preparation adapter.

ID: `openvla-vla-scripts-finetune-py`

Record version: `source-0b3d7ccd6b95ce7fb13ea82414f2be80c2c1aa8f0f84060eb677dd0e0e40243b`

Hub commit: `66a13cd6ae8ab828219a4916587fb83d6dc71809`

## Access

Fetch the pinned repository, verify this source checksum, and use upstream installation and invocation. This record does not install or execute code.

Optional inert file retrieval: `python /PATH_TO_SKILL/scripts/rsh.py fetch-source openvla-vla-scripts-finetune-py --expected-source-revision c8f03f48af692657d3060c19588038c7220e9af9 --expected-source-sha256 0b3d7ccd6b95ce7fb13ea82414f2be80c2c1aa8f0f84060eb677dd0e0e40243b --project ./experiment --json`. This verifies one file, preserves provenance and never installs or runs it. See [source-file retrieval](https://hub.superfastrobotics.com/source-files.md).

Hub preparation adapter: **false**. Runtime verification: **not_run**.

Upstream setup: https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/README.md

## Source and license

- Repository: https://github.com/openvla/openvla
- Pinned source: https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/vla-scripts/finetune.py
- Revision: `c8f03f48af692657d3060c19588038c7220e9af9`
- Path: `vla-scripts/finetune.py`
- Source SHA256: `0b3d7ccd6b95ce7fb13ea82414f2be80c2c1aa8f0f84060eb677dd0e0e40243b`
- Source bytes: 17834
- Original authors: Moo Jin Kim, Karl Pertsch, Siddharth Karamcheti
- License: [MIT](https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/LICENSE)
- License scope: Selected first-party Python workflow source only. Preserve upstream copyright and per-file notices. Model weights, datasets, third-party code, robot drivers/firmware and services retain separate terms; no rights for those assets are inferred.

License SHA256: `c4ee2ba5958af03d74b1d3dfa174e3749171d689fb4c23cc170749c05ae3eeb5`

## Artifact

```json
{
  "kind": "workflow",
  "format": "python",
  "workflow_role": "policy-training"
}
```

## Requirements

```json
{
  "python": ">=3.8 in metadata; README installation uses Python 3.10.",
  "packages": [
    "Pinned OpenVLA checkout",
    "Upstream PyTorch 2.2.0, transformers 4.40.1, timm 0.9.10 and tokenizers 0.19.1 pins",
    "Workflow-specific dependencies in pinned README and source"
  ],
  "display": "Hardware: Source explicitly asserts at least one CUDA GPU. Source examples report batch 12 on 48 GB and batch 24 on 80 GB; README's different batch examples describe roughly 27 GB minimum after adjustments and roughly 72 GB for batch16. These are distinct upstream configurations, not measured requirements here. Weights: Loads a configured pretrained OpenVLA processor/model; default model ID openvla/openvla-7b. Source enables trust_remote_code=True and writes/merges checkpoint artifacts. Datasets: Requires an existing named RLDS dataset under configured data_root_dir. README's BridgeData example is separately obtained data; no data were downloaded. Services/auth: Initializes Weights & Biases logging on the main process. Project/entity fields are present; the selected file does not name a particular API-key environment variable. No service was contacted.",
  "execution_domain": "computation",
  "source_imports": [
    "accelerate",
    "collections",
    "dataclasses",
    "draccus",
    "os",
    "pathlib",
    "peft",
    "prismatic.extern.hf.configuration_prismatic",
    "prismatic.extern.hf.modeling_prismatic",
    "prismatic.extern.hf.processing_prismatic",
    "prismatic.models.backbones.llm.prompting",
    "prismatic.util.data_utils",
    "prismatic.vla.action_tokenizer",
    "prismatic.vla.datasets",
    "prismatic.vla.datasets.rlds.utils.data_utils",
    "torch",
    "torch.distributed",
    "torch.nn.parallel",
    "torch.optim",
    "torch.utils.data",
    "tqdm",
    "transformers",
    "transformers.modeling_outputs",
    "typing",
    "wandb"
  ],
  "notes": "Checkpoint weights, RLDS data and W&B setup remain external. No model licensing or runtime success is established by the code license. Code licensing does not establish model, checkpoint, dataset or service permission.",
  "declared_requirements": {
    "python": ">=3.8 in metadata; README installation uses Python 3.10.",
    "weights": "Loads a configured pretrained OpenVLA processor/model; default model ID openvla/openvla-7b. Source enables trust_remote_code=True and writes/merges checkpoint artifacts.",
    "datasets": "Requires an existing named RLDS dataset under configured data_root_dir. README's BridgeData example is separately obtained data; no data were downloaded.",
    "hardware": "Source explicitly asserts at least one CUDA GPU. Source examples report batch 12 on 48 GB and batch 24 on 80 GB; README's different batch examples describe roughly 27 GB minimum after adjustments and roughly 72 GB for batch16. These are distinct upstream configurations, not measured requirements here.",
    "external_services_and_auth": "Initializes Weights & Biases logging on the main process. Project/entity fields are present; the selected file does not name a particular API-key environment variable. No service was contacted.",
    "evidence": [
      {
        "anchor": "assert torch.cuda.is_available()",
        "line": 118
      },
      {
        "anchor": "trust_remote_code=True",
        "line": 157
      },
      {
        "anchor": "wandb.init",
        "line": 242
      }
    ],
    "license_scopes": {
      "code": "MIT for selected first-party workflow source.",
      "weights": "README explicitly says the released OpenVLA models derive from Llama-2 and are subject to the Llama Community License. No checkpoint/model card/base-model license was fetched or evaluated here; MIT is asserted only for the selected first-party Python source.",
      "datasets": "README names BridgeData V2, Open X-Embodiment and LIBERO datasets. Individual dataset terms were not reviewed, and repository MIT is not applied to them.",
      "third_party_code": "External dependencies retain their own licenses."
    },
    "interpretation": "Pinned upstream declarations only; no dependency resolution, model/data access, compatibility inference or runtime validation was performed."
  }
}
```

## Invocation

```json
{
  "entrypoint": "torchrun --standalone --nnodes 1 --nproc-per-node <reviewed-gpu-count> vla-scripts/finetune.py --data_root_dir <reviewed-rlds-data> --dataset_name <dataset>",
  "notes": "Checkpoint weights, RLDS data and W&B setup remain external. No model licensing or runtime success is established by the code license."
}
```

## Compatibility

```json
[]
```

Missing environment fields remain unknown. Source discovery labels do not establish robot compatibility.

## Evidence

Level: **source_reviewed**. Runtime verification: **not_run**.

Verified exact source, applicable license and author/setup document bytes at a full Git commit; parsed the Python AST and reviewed this guarded operational entrypoint and its explicit license notices. No upstream code, installation, robot command, dataset, mesh or checkpoint was executed or loaded.

Source review and contributor reports do not establish task completion. Preserve upstream attribution and licenses.
