PTENES
← Track 1 MODULE 1.2

🧬 VLA Anatomy: Vision + Language + Action

We've opened the black box. A VLA has three organs: a vision encoder that turns pixels into tokens, a language backbone that reasons, and an action head that emits motor commands—all woven together through multimodal fusion, proprioception, and a control loop running at tens of Hz.

6
Topics
~40
Minutes
Basic
Level
Theory
Type

Detailed content

👁 Vision encoder ViT / DINOv2 / SigLIP 💬 Text instruction → tokens 📐 State joints, force LLM backbone multimodal fusion cross-attention / early fusion 🦾 Action head Δpose · gripper

The token flow: three inputs converge in the backbone, which delivers a latent state to the action head.

1

👁 Vision encoder: ViT, DINOv2, SigLIP

The image comes in as a grid of patches (e.g., 16×16 px), each projected into a patch embedding — the visual token. A ViT processes these tokens with self-attention. Common choices serve different purposes: SigLIP aligns vision and text via contrastive learning (good for semantics/language), while DINOv2 learns dense self-supervised spatial features (good for localization and geometry). OpenVLA uses an dual encoder (SigLIP + DINOv2) specifically to combine semantics and spatial information.

✓ Do

  • ✓Combine SigLIP (semantics) + DINOv2 (spatial information) for robustness.
  • ✓Keep the pretrained encoder and fine-tune it lightly.
  • ✓Use multiple cameras (front-facing + wrist) as extra tokens.

✗ Avoid

  • ✗Train the encoder from scratch with few demos.
  • ✗Resolution too low to capture grasping details.
  • ✗Blowing the token budget with redundant cameras.

Patch embedding

Image patch → token.

SigLIP

Contrastive vision-text alignment.

DINOv2

Self-supervised spatial features.

Dual encoder

Two concatenated encoders.

2

💬 Language backbone: Llama, PaliGemma

The heart of a VLA is a Pretrained LLM which works as a multimodal reasoning engine. OpenVLA uses a Prismatic VLM based on Llama 2-7B; π0 starts from PaliGemma (3B). The advantage is inheriting billions of tokens of web knowledge—grammar, world knowledge, object relationships—that provide semantic grounding for the instruction. The backbone receives vision + text (+ state) tokens and produces a latent state that conditions the action.

📊 Backbones in practice

  • OpenVLA — 7B, Llama 2 base, Prismatic VLM.
  • π0 — PaliGemma 3B base + action expert via flow matching.
  • RT-2 — PaLI-X / PaLM-E (up to 55B), closed.

⚡ Practical tip

Backbone size is a direct trade-off with the inference latency. 7B models require a powerful GPU and action chunking to run at 10–50Hz; smaller bases (3B) make edge deployment easier.

PaliGemma

π0’s base VLM.

Prismatic

OpenVLA’s VLM recipe.

Transformer decoder

Autoregressive reasoning core.

Semantic grounding

Web knowledge applied to the task.

3

🔗 Multimodal fusion: cross-attention vs early fusion

How do vision and text enter the same context? In early fusion (OpenVLA, π0), visual and text tokens are simply concatenated in the LLM input sequence, which mixes them via self-attention — simple and effective, but the number of visual tokens increases the cost. In cross-attention (Flamingo, some VLAs), the text queries the image through dedicated cross-attention layers, keeping the language backbone leaner. The central trade-off is token budget versus fine-grained grounding capability.

# Early fusion (concatenação)
seq = [img_tok_1 ... img_tok_256, txt_tok_1 ... txt_tok_K]
latent = LLM(seq)            # self-attention mistura tudo

# Cross-attention
latent = LLM(txt_tok)        # texto no fluxo principal
latent = CrossAttn(latent, img_tok)  # consulta a imagem

💡 Why early fusion won in VLAs

Concatenation is the simplest way to reuse a ready-made VLM without changing the architecture. Since VLAs start from VLMs already trained with early fusion, they inherit this choice. The tradeoff is carefully managing the visual token budget.

Early fusion

Concatenate tokens at the input.

Cross-attention

Text queries the image.

Token budget

Cost grows with visual tokens.

Fine-grained grounding

Map the word to a region of the image.

4

🦾 The action head (action head)

The action head converts the latent state into motor commands — typically Δpose of the end effector (relative translation and rotation) plus the state of the gripper (open/close). There are three families: (1) detokenizer, when actions were discretized into tokens (RT-1/RT-2/OpenVLA); (2) action expert via diffusion/flow, a separate module that generates continuous actions (π0); (3) direct regression of floats. The choice determines expressiveness and latency — the topic of Modules 1.5 and 1.6.

1

Detokenizer (discrete)

The LLM predicts action tokens; a fixed map converts them into motor values. Simple, and integrates with the vocabulary.

2

Action expert (diffusion/flow)

Dedicated module generates continuous action chunks conditioned on the latent. Expressive, multimodal.

3

Direct regression

MLP outputs floats. Low latency, but struggles with multimodality when trained with MSE.

Δpose

Relative end-effector motion.

Action expert

Separate action module.

Detokenizer

Token → motor value.

Gripper state

Open/close command.

5

📐 Proprioception and state

A camera isn't enough. The robot needs to know its own state — joint angles, velocities, end-effector force and gripper state. These values go into a state token additional. Equally important is the temporal history: seeing only the current frame creates ambiguity (is the arm moving up or down?). Stacking recent observations gives the model a sense of movement and ongoing intent.

⚡ Practical tip

Watch out for causal confusion: if proprioception correlates strongly with the action in the demos, the model may "cheat" by copying the previous state instead of looking at the camera. Balance the state weight and validate with perturbations.

📊 State components

  • Together — position and velocity of each DOF.
  • Force/torque — wrist-mounted sensor for contact.
  • History — N recent frames to infer motion.

Proprioception

Sense of its own body.

State token

State encoded as a token.

Observation history

Observation time window.

Causal confusion

A shortcut that ignores vision.

6

⏱ The control loop: Hz, latency, action chunking

Fine manipulation requires commands at ~50Hz, but a 7B VLA doesn't infer as quickly. The solution is action chunking: the model predicts a block of H future actions at once (e.g., 16-50 steps), which are executed open-loop while the next inference runs. With receding horizon, re-predicts before the chunk ends, maintaining responsiveness. This amortizes network latency and smooths the trajectory—an idea introduced by ACT and adopted by Diffusion Policy and π0.

1

Infer a chunk

The model predicts H future actions in a single pass.

2

Execute in open loop

The chunk's actions run at 50Hz while the network thinks about the next one.

3

Re-predict (receding horizon)

Before the chunk ends, new inference keeps the loop reactive.

💡 Latency is a budget

If inference takes 100ms and the chunk covers 320ms (16 steps at 50Hz), you have room for reactivity. Chunks that are too large reduce reactivity; chunks that are too small exceed the latency budget. Tuning H is engineering, not a minor detail.

Action chunking

Predict a block of future actions.

Receding horizon

Re-plan before the end.

Control rate

Motor execution Hz.

Horizon H

Predicted chunk size.

✅ Module summary

✓
Three organs — vision encoder, LLM backbone, and action head.
✓
Multimodal fusion — early fusion dominates; cross-attention is the lean alternative.
✓
State matters — proprioception and history prevent temporal ambiguity.
✓
Control loop — Action chunking + receding horizon amortize latency.

Next module

1.3 — Model evolution: the lineage RT-1 → RT-2 → OpenVLA → π0 → Qwen-VLA.