Guide
How Are Vision-Language-Action Models Trained?
Short answer
VLA models are usually trained in stages, but the stages vary by paper. Several start from a pretrained vision-language model, pretrain on large robot or cross-embodiment demonstrations, sometimes add a human-video or mid-training stage, then fine-tune on task data. Actions are learned as text tokens or as diffusion or flow-matching outputs. Each stage needs different data.
Last reviewed:
How are vision-language-action models trained?
There is no single recipe. The papers cited on this page describe related but different pipelines, so this guide attributes each stage to the paper that describes it instead of presenting one universal sequence. A vision-language-action (VLA) model takes camera images and a language instruction and outputs an action for a robot to execute.
Read across the sources and a pattern appears. A pretrained vision-language model supplies visual and language knowledge. Robot data teaches the model to act. Some papers add a human-video or mid-training stage. A smaller, task-specific stage then adapts the result to a robot and a job. The table maps each stage to the paper that describes it.
| Stage | What the paper says it does | Data it uses | Described by |
|---|---|---|---|
| VLM backbone | Supplies Internet-scale vision and language knowledge before any robot data is used. | Internet-scale vision-language data. Where a paper names the backbone: Llama 2 with DINOv2 and SigLIP features (OpenVLA), Eagle-2 (GR00T N1). | https://arxiv.org/abs/2307.15818 · https://arxiv.org/abs/2406.09246 · https://arxiv.org/abs/2410.24164 · https://arxiv.org/abs/2503.14734 |
| Co-fine-tuning with web tasks | RT-2 co-fine-tunes vision-language models on robotic trajectory data and Internet-scale vision-language tasks such as visual question answering. | Robot trajectories plus web vision-language tasks, in one training set. | https://arxiv.org/abs/2307.15818 |
| Robot or cross-embodiment pretraining | Teaches the model to map observations to actions across many robots, tasks and scenes. | OpenVLA: 970k real-world robot demonstrations. Octo: 800k trajectories from Open X-Embodiment. π0: data from multiple dexterous robot platforms. | https://arxiv.org/abs/2406.09246 · https://arxiv.org/abs/2405.12213 · https://arxiv.org/abs/2410.24164 |
| Mixed-source pretraining with human video | GR00T N1 pretrains across a data pyramid: web data and human videos at the base, synthetic data in the middle, real-robot data at the top. | Real-robot trajectories, human videos and synthetic datasets. Action-less video gets latent or pseudo-action labels. | https://arxiv.org/abs/2503.14734 |
| Human pretraining, then mid-training | EgoScale describes large-scale human pretraining followed by lightweight aligned human-robot mid-training. | Over 20,854 hours of action-labeled egocentric human video, then aligned human-robot data. Size of the mid-training set: Not stated in the abstract. | https://arxiv.org/abs/2602.16710 |
| Fine-tuning or post-training | Adapts the pretrained model to a new task, robot or setting. | A smaller task-specific dataset: around 100 trajectories per setup in Octo, per-embodiment datasets in GR00T N1, new settings via LoRA in OpenVLA. | https://arxiv.org/abs/2405.12213 · https://arxiv.org/abs/2503.14734 · https://arxiv.org/abs/2406.09246 |
Training stages, attributed to the paper that describes each one. Stage names and boundaries differ between papers.
The words pretraining, mid-training and post-training are not used the same way everywhere. GR00T N1 uses pre-training and post-training, EgoScale uses human pretraining followed by mid-training, and OpenVLA and Octo describe pretraining followed by fine-tuning. Compare stages by what data they use, not by their names.
What does a VLA start from (the VLM backbone)?
For most of the models here, the starting point is a vision-language model (VLM) already trained on Internet-scale data. The RT-2 paper (https://arxiv.org/abs/2307.15818) studies how such models can be incorporated directly into end-to-end robotic control, and co-fine-tunes them on robotic trajectory data together with Internet-scale vision-language tasks. The OpenVLA paper (https://arxiv.org/abs/2406.09246) says OpenVLA builds on a Llama 2 language model combined with a visual encoder that fuses pretrained features from DINOv2 and SigLIP. Its GitHub README (https://github.com/openvla/openvla) says the openvla-7b checkpoint was trained from the Prismatic prism-dinosiglip-224px VLM.
The π0 paper (https://arxiv.org/abs/2410.24164) proposes a flow matching architecture built on top of a pre-trained VLM to inherit Internet-scale semantic knowledge. The GR00T N1 paper (https://arxiv.org/abs/2503.14734) describes a dual-system model whose vision-language module uses the Eagle-2 VLM, pretrained on Internet-scale data. In post-training it keeps the language component of that backbone frozen and fine-tunes the rest of the model.
Two sources do not fit the pattern. The Octo paper (https://arxiv.org/abs/2405.12213) describes Octo as a generalist robot policy, a transformer that tokenizes language through a pretrained t5-base model and images through a shallow convolution stack. It does not describe Octo as built on a VLM, so this guide does not call it a VLA. The EgoScale abstract (https://arxiv.org/abs/2602.16710) says it trains a VLA model but does not state the backbone in the part read for this page.
For a data team the practical point is that this stage uses web-scale vision-language data you do not collect. Your robot-data decisions start after the backbone is chosen.
What happens in VLA pretraining?
Pretraining in these papers means training on a large, varied collection of demonstrations so the model learns a broad mapping from observations to actions. OpenVLA is described as a 7B-parameter open-source VLA trained on a diverse collection of 970k real-world robot demonstrations, and its README says the pretraining mixture comes from Open X-Embodiment datasets in RLDS format. The π0 paper trains on a large and diverse dataset from multiple dexterous robot platforms, including single-arm robots, dual-arm robots and mobile manipulators, and evaluates the model zero-shot after pretraining.
Octo shows how much curation sits inside this stage. The paper trains on 800k trajectories curated from Open X-Embodiment and describes a mixture of 25 datasets. It removed datasets with no image streams or without delta end-effector control, and also removed datasets it judged too repetitive, low resolution or excessively niche. It zero-pads missing camera channels and aligns gripper action spaces across datasets.
GR00T N1 frames pretraining as a data pyramid. Large quantities of web data and human videos form the base, synthetic data from simulation and generated video forms the middle, and real-world robot data forms the top. The paper says the lower layers provide broad visual and behavioral priors while the upper layers ground the model in real-robot execution, and it pretrains end to end by sampling batches across the whole mixture. It also names the problem it is solving: robot data from different embodiments forms an archipelago of data islands, not one coherent corpus.
What this means for data: pretraining rewards breadth, consistent camera and action definitions, and a documented way to reconcile different sources. A pretraining set is judged on coverage first, then on volume.
Is there a mid-training or human-video stage?
Some papers describe one; others do not. EgoScale (https://arxiv.org/abs/2602.16710) trains a VLA model on over 20,854 hours of action-labeled egocentric human video, reports a log-linear scaling law between human data scale and validation loss, and introduces a two-stage recipe: large-scale human pretraining followed by lightweight aligned human-robot mid-training. The abstract reports that the final policy improves average success rate by 54% over a no-pretraining baseline using a 22 DoF dexterous robotic hand.
GR00T N1 (https://arxiv.org/abs/2503.14734) uses human video differently. Its human egocentric video comes from open datasets and has no ground-truth actions, so the paper learns a latent-action codebook and uses a trained inverse dynamics model to infer pseudo-actions, which lets it treat action-less video as additional embodiments during training.
For RT-2, OpenVLA, π0 and Octo, the abstracts and README read for this page describe no separate mid-training stage, so this guide states none for them. If your own pipeline adds an intermediate stage, the useful question is what it is aligning: human motion to robot action, one embodiment to another, or one task distribution to another.
How is a VLA fine-tuned or post-trained for a task?
Fine-tuning starts from the pretrained weights and updates them on a smaller dataset. The OpenVLA paper shows OpenVLA can be fine-tuned for new settings and fine-tuned on consumer GPUs with low-rank adaptation; the README lists full, partial and LoRA modes, and says a custom dataset can be converted to RLDS to use its fine-tuning script. The Octo paper finetunes the full model on a small target-domain dataset of around 100 trajectories, and says new observations or action spaces can be added through lightweight adapters without changing the pretrained transformer weights. The π0 abstract evaluates the ability to acquire new skills via fine-tuning.
GR00T N1 calls this phase post-training: it fine-tunes the pre-trained model on the data of each single embodiment, with the language component of the backbone frozen. For its real-world benchmarks, the paper says human operators collected task-specific data for durations ranging from 15 minutes to 3 hours depending on task complexity, and low-quality trajectories were filtered out. In simulation it post-trains with 30, 100 and 300 demonstrations per task.
GR00T N1 also records a cost of narrow post-training data. In one qualitative example the pretrained checkpoint used its left hand to grasp an object and hand it to the right hand, while the post-trained checkpoint failed, because all post-training data involved the right hand without any inter-hand transfer. A fine-tuning set narrows behavior, so a good spec names what the model must keep as well as what it must learn.
| Model | Training data as the source states it | Fine-tuning approach as the source states it | Source |
|---|---|---|---|
| RT-2 | Robotic trajectory data plus Internet-scale vision-language tasks. | Co-fine-tuning is the recipe itself. Separate task fine-tuning: Not stated in the abstract. | https://arxiv.org/abs/2307.15818 |
| OpenVLA | 970k real-world robot demonstrations; the README names an Open X-Embodiment mixture in RLDS format. | Fine-tunes for new settings, including LoRA on consumer GPUs; the README lists full, partial and LoRA modes. | https://arxiv.org/abs/2406.09246 · https://github.com/openvla/openvla |
| π0 | A large, diverse dataset from multiple dexterous robot platforms: single-arm, dual-arm and mobile manipulators. | Acquires new skills via fine-tuning; also evaluated zero-shot after pretraining. | https://arxiv.org/abs/2410.24164 |
| GR00T N1 | A heterogeneous mixture of real-robot trajectories, human videos and synthetic datasets. | Post-training on each single embodiment, with the language component of the backbone frozen. | https://arxiv.org/abs/2503.14734 |
| Octo | 800k trajectories curated from Open X-Embodiment, as a mixture of 25 datasets. | Finetunes the full model on around 100 trajectories; new observation and action spaces via adapters. | https://arxiv.org/abs/2405.12213 |
| EgoScale | Over 20,854 hours of action-labeled egocentric human video, then aligned human-robot mid-training data. | One-shot task adaptation with minimal robot supervision, per the abstract. Further detail: Not stated. | https://arxiv.org/abs/2602.16710 |
Training data and fine-tuning by model. Anything the sources read for this page do not state is marked Not stated.
How do VLAs learn to output actions?
Action representation is where the listed models differ most. RT-2 expresses actions as text tokens and incorporates them directly into the training set in the same way as natural-language tokens, so one model emits both language and actions. The OpenVLA README describes vanilla OpenVLA-style 256-bin action discretization and says current OpenVLA models are trained to generate actions alone. It also notes that the FAST action tokenizer compresses action chunks into fewer tokens than that discretization.
The other sources use continuous generative outputs. π0 uses a flow matching architecture. GR00T N1 uses a diffusion transformer trained with action flow matching that cross-attends to the VLM output tokens, uses embodiment-specific encoders and decoders for variable state and action dimensions, and processes actions in chunks. Octo uses a diffusion action head that predicts a chunk of several consecutive actions, and its paper reports that this outperformed MSE action heads and discretized action distributions in its own zero-shot and finetuning evaluations. That is a finding about Octo, not a rule for every model.
| Model | Relation to a VLM backbone | How actions are output | Source |
|---|---|---|---|
| RT-2 | Vision-language models co-fine-tuned on robot and web data; the paper calls the result a VLA. | Actions expressed as text tokens, added to the training set like natural-language tokens. | https://arxiv.org/abs/2307.15818 |
| OpenVLA | Llama 2 language model with a visual encoder fusing DINOv2 and SigLIP features; README: trained from the Prismatic prism-dinosiglip-224px VLM. | README: 256-bin action discretization in the vanilla recipe; trained to generate actions alone. | https://arxiv.org/abs/2406.09246 · https://github.com/openvla/openvla |
| π0 | Flow matching architecture built on top of a pre-trained VLM. | Flow matching. Further head details: Not stated in the abstract. | https://arxiv.org/abs/2410.24164 |
| GR00T N1 | System 2 vision-language module uses the Eagle-2 VLM; System 1 diffusion transformer generates actions; both are jointly trained end to end. | Diffusion transformer trained with action flow matching, producing chunks of 16 actions. | https://arxiv.org/abs/2503.14734 |
| Octo | Described as a generalist robot policy: pretrained t5-base for language, shallow CNN for images. Not described as built on a VLM. | Diffusion action head predicting chunks of consecutive actions. | https://arxiv.org/abs/2405.12213 |
| EgoScale | Trains a VLA model. Backbone: Not stated in the abstract. | Not stated in the abstract. | https://arxiv.org/abs/2602.16710 |
Backbone and action output by model, as each source states it. Not stated means the part read for this page does not say.
What data does each training stage need?
- VLM backbone: web-scale vision-language data, which a robotics team normally inherits instead of collecting.
- Robot or cross-embodiment pretraining: broad, varied demonstrations with consistent camera and action definitions. Octo reports that only 27% of its pretraining data contains wrist-camera information and only 56% contains language annotations, and links weaker wrist-camera and language-conditioned results to those gaps.
- Human-video or mid-training stage: either action-labeled egocentric video (EgoScale) or action-less video that receives latent or pseudo-action labels (GR00T N1), plus aligned human-robot data where a recipe calls for it.
- Fine-tuning or post-training: a narrow set matched to the deployment task, quality-filtered, and specified so it does not erase behavior you need to keep.
- Action representation: tokens, diffusion and flow-matching heads all consume action labels, so the label definition and the mapping to your robot must be fixed before collection.
The table below maps those needs to what this site states Firsthand delivers. It lists only fields the site states and marks the rest Not stated.
| What a stage needs | What the Firsthand site states it delivers | Where it lives in the episode |
|---|---|---|
| Visual observation | Dense egocentric RGB, and stereo depth where the spec calls for it. | Head, wrist or chest-mounted camera streams. |
| Language | One task instruction per episode. Narration, captions, dense language annotation, subtask language and reasoning traces: Not stated. | Instruction metadata on the episode. |
| Action signal from a human demonstrator | 3D hand pose with per-joint visibility, contact events on grasp and release, and frame-accurate action segments, on a single clock with the video. | Hand pose, contact and action-segment fields in the episode. |
| Robot action labels | Not stated as a deliverable. Human hand signals are not robot actions, so the mapping to your robot is settled in the written spec. | Not stated |
| Task-specific fine-tuning set | Collected on demand to a written spec that names the tasks, objects and accept criteria before capture begins. | Delivered as RLDS, LeRobot, WebDataset or HDF5. |
| Rights to ship on | A perpetual, buyer-owned commercial license backed by a documented consent chain. | Not stated |
Data needs against stated Firsthand deliverables. Nothing here claims that Firsthand data trained, fine-tuned or evaluated any named model.
Can egocentric human video help train VLA models?
Two of the listed papers use it. EgoScale reports that large-scale action-labeled egocentric human video can serve as a supervision source for a VLA, and that its validation loss correlates with downstream real-robot performance. GR00T N1 places human egocentric video at the base of its data pyramid and gets actions for it from latent-action and inverse-dynamics labels. Both papers report results on their own data, not on Firsthand data, and nothing here suggests otherwise.
The caution is the one GR00T N1 itself implies: human video has no robot actions, so someone has to decide how hand motion becomes an action your model can learn. That is why the Firsthand site treats the mapping as a specification decision made before capture. Whether human-side data helps your model is something to test against your own robot and tasks.
How do you get custom VLA training data?
Firsthand collects custom egocentric data on demand, to a written spec, for teams that need data a public mixture does not cover. The only language field the site ties to Firsthand capture is one task instruction per episode, kept on the same clock as the video and action stream. Each episode also carries 3D hand pose, contact events and action segments, and data is delivered in RLDS, LeRobot, WebDataset or HDF5 under a perpetual, buyer-owned license.
- Name the stage first. Breadth-oriented data for pretraining and a narrow task set for fine-tuning are specified differently.
- Write the spec: the tasks, objects and accept criteria, plus the behaviors a fine-tuned model must keep.
- Settle the mapping from human hand signals to your robot action space before capture, not after delivery.
- Pick the delivery format your training code already reads.
- Request a sample, check it against your pipeline, then scale the collection.
Teams that want to move fast on data do it by settling the spec early, not by skipping it. The pretraining and fine-tuning collection pages linked below describe each case, and the custom dataset request starts the written spec.
Related
- What is a vision-language-action model?
- Training data for vision-language-action models
- Pretraining vs mid-training vs post-training robot data
- VLA vs VLM: what is the difference?
- Pretraining data for VLA models
- VLA fine-tuning data
- Can egocentric human video train VLA models?
- VLA dataset format: what a training episode contains
- How much data does it take to train a VLA model?
- Request a custom dataset
FAQ
How Are Vision-Language-Action Models Trained?, answered.
01How are VLA models trained?
In stages that differ by paper. Several start from a pretrained vision-language model, pretrain on large robot or cross-embodiment demonstrations, sometimes add a human-video or mid-training stage, then fine-tune or post-train on task data. RT-2, OpenVLA, π0, GR00T N1, Octo and EgoScale each describe a different version of this.
02Do all VLA models start from a vision-language model?
The RT-2, OpenVLA, π0 and GR00T N1 sources describe a VLM or language-model backbone. The Octo paper describes a generalist robot policy that uses a pretrained t5-base language model and does not describe a VLM backbone, so it is not called a VLA here. The EgoScale abstract does not state a backbone.
03What is the difference between pretraining, mid-training and post-training?
The terms are used differently across papers. GR00T N1 uses pre-training and post-training. EgoScale uses human pretraining followed by lightweight aligned human-robot mid-training. OpenVLA and Octo use pretraining and fine-tuning. Compare the data each stage uses instead of its name.
04How do VLA models output actions?
RT-2 expresses actions as text tokens. The OpenVLA README describes 256-bin action discretization in its vanilla recipe. π0 uses flow matching, GR00T N1 uses a diffusion transformer trained with action flow matching, and Octo uses a diffusion action head. GR00T N1 and Octo predict action chunks.
05What training data does a VLA need?
It depends on the stage: web-scale vision-language data for the backbone, broad robot demonstrations for pretraining, action-labeled or pseudo-labeled human video where a recipe uses it, and a narrow, filtered, task-specific set for fine-tuning. Camera and action definitions must be consistent across sources.
06Can egocentric human video be used to train a VLA?
EgoScale and GR00T N1 both use human egocentric video, with action labels or with latent and pseudo-action labels. Both report results on their own data. Whether it helps your model depends on how you map human motion to your robot, and should be tested on your own tasks.
07What language data does Firsthand capture include?
One task instruction per episode, and nothing more is stated on this site. Narration, captions, dense language annotation, subtask language and reasoning traces are not stated as Firsthand deliverables.
08Has Firsthand data trained a named VLA model?
This guide makes no claim that Firsthand data trained, fine-tuned or evaluated any named model. Where a paper is cited, the facts come from that paper about its own data.
Sources
Where is this documented?
- RT-2 (arXiv 2307.15818) (opens in a new tab)Source for co-fine-tuning vision-language models on robot and web data and for expressing actions as text tokens. arxiv.org
- OpenVLA (arXiv 2406.09246) (opens in a new tab)Source for the Llama 2, DINOv2 and SigLIP backbone, the 970k-demonstration pretraining set and fine-tuning for new settings. arxiv.org
- OpenVLA (GitHub) (opens in a new tab)Official repository: Prismatic VLM starting point, RLDS data format, fine-tuning modes and action discretization notes. github.com
- π0 (arXiv 2410.24164) (opens in a new tab)Source for the flow matching architecture on a pre-trained VLM, multi-platform pretraining data and fine-tuning for new skills. arxiv.org
- GR00T N1 (arXiv 2503.14734) (opens in a new tab)Source for the dual-system design, the data pyramid, latent-action labeling of human video, post-training and the action flow-matching module. arxiv.org
- Octo (arXiv 2405.12213) (opens in a new tab)Source for the generalist robot policy description, the 800k-trajectory mixture, the diffusion action head and finetuning on around 100 trajectories. arxiv.org
- EgoScale (arXiv 2602.16710) (opens in a new tab)Source for action-labeled egocentric human pretraining, the scaling law and the two-stage human-pretraining and mid-training recipe. arxiv.org
Check it against the sample pack.
40 episodes across 4 environments, delivered in the exact schema these guides describe.