ICLR 2026 Β· Robotics Β· Vision-Language-Action

X-VLA: Soft-Prompted Transformer as Scalable Cross-Embodiment VLA Model

VLACross-embodiment Soft PromptFlow Matching Florence-2Robotics

TL;DR

X-VLA tackles the central pain point of cross-embodiment robot pretraining β€” every robot dataset has different cameras, proprioception, action spaces, and frequencies β€” with one strikingly simple trick: give each data source its own little bag of learnable "soft prompt" tokens and let them absorb the heterogeneity. The rest of the model is a clean Florence-2 + shared ViT front-end feeding a 24-layer Transformer that emits actions via flow matching. The 0.9B instantiation, pretrained on 290K episodes from 7 robot platforms, sets new SOTA on 5 of 6 simulation benchmarks (e.g. Simpler-WidowX 95.8%, LIBERO avg 98.1%, RoboTwin-2.0 Hard 39.0%) and three real robots β€” and with LoRA on just 9M params (~1%) still hits 93% LIBERO and 54% Simpler-WidowX, on par with Ο€0 at 3B.

Problem & Motivation

Generalist Vision-Language-Action (VLA) models need to be trained on as many robot datasets as possible. But those datasets are heterogeneous along many axes at once:

  • Action spaces differ β€” joint angles vs. end-effector poses, 6-DoF vs. dual-arm, different grippers.
  • Camera setups differ β€” head/wrist, left/right, top-down, number of views.
  • Proprioception dimensions and semantics differ across arms.
  • Control frequencies differ (15 Hz Droid vs. 30 Hz AGIBOT/RoboMind).
  • Data collection protocols and visual domains differ.

Prior VLAs (Ο€0, GR00T-N1, …) mainly attach per-embodiment action heads β€” a late-stage patch that ignores all the upstream sources of heterogeneity. Other fixes have problems too:

  • HPT-style projections insert domain-specific layers in the middle of multimodal processing, corrupting pretrained VLM features and destabilizing training.
  • Language-prompt descriptions ("This robot is a Franka with a wrist camera at …") require hand-crafted scripts and don't scale to new platforms.

X-VLA argues there is a much simpler, more flexible alternative: let the model learn the per-source heterogeneity end-to-end via prompt tuning, in the style of Lester et al. (2021).

Key Concepts

VLA model
Vision-Language-Action: a policy that takes images + language + proprioception and outputs robot actions, typically initialized from a pretrained VLM.
Cross-embodiment heterogeneity
The mismatch between robot platforms in cameras, action spaces, proprio, control rate, and visual domain β€” the central obstacle to mixing datasets for generalist training.
Soft prompt
A small set of learnable token embeddings appended to the input sequence, optimized end-to-end. In X-VLA each data source i owns its own set \(p_i \in \mathbb{R}^{N\times d}\) (length \(N=32\)), retrieved by dataset id.
Flow matching
A generative training objective that learns a velocity field transporting Gaussian noise to expert actions along the linear OT path \(A_t=(1-t)A_0+tA\). Inference solves an ODE from noise to action.
Action chunk
A multi-step block of future actions predicted in one shot, here 30 anchor points spanning ~4 s ("intention abstraction" via temporal downsampling).
Florence-2
A vision-language backbone with strong visual grounding; X-VLA uses Florence-2-Large for the main-view + language stream.
Two-step adaptation
Adaptation to a new robot: (1) freeze the backbone and warm up a fresh soft prompt \(p_{\text{new}}\), (2) jointly finetune backbone + prompt.
Rotate6D
A continuous 6-D rotation representation that avoids the discontinuities of Euler angles / quaternions, used for the EEF rotation supervision.

The Method

The architecture is deliberately plain: dedicated encoders for high-dim vs. low-dim modalities, soft prompts concatenated to the token stream, and a standard self-attention Transformer that does everything else.

Main view + language Florence-2-Large (VLM) Wrist / aux views Shared ViT proprio R_t Β· noise A_t Β· t repeat & concat Low-dim control stream Soft Prompt p_i queried by dataset id Library {p_1,…,p_7} Shared linear projection Input projection (domain) [ multimodal tokens Β· control tokens Β· soft prompt p_i ] Standard self-attention Transformer 24 layers Β· hidden 1024 (Γ—N) Output projection β†’ A Domain-specific params: soft prompts + I/O projections = 0.04% of total
X-VLA encoding pipeline. The main view + language go through Florence-2; wrist/aux views go through a shared ViT; proprio + noisy action + flow time form the low-dim control stream. The dataset id retrieves a soft prompt from the library; everything is concatenated and processed by a vanilla 24-layer Transformer.

What's shared vs. what's per-embodiment

Shared across all robots

Florence-2-Large VLM, shared ViT for wrist views, the 24-layer Transformer backbone, the shared linear projection on multimodal tokens, the output projection on action tokens β€” i.e. β‰ˆ99.96% of the 0.9B parameters.

Per-embodiment (0.04%)

One soft prompt set \(p_i\in\mathbb{R}^{32\times d}\) plus a small input linear projection and an output linear projection for that robot's action space.

Encoding pipeline details

  • Disentangled streams. Unlike Ο€0 which feeds every view into the VLM, X-VLA sends only the fixed main view + language to Florence-2 (good for high-level reasoning) and routes noisy wrist views through a separate shared ViT (good for fine manipulation, bad for VLM semantics).
  • Low-dim stream. Proprio \(R_t\), noisy action chunk \(A_t\), and flow time \(t\) are concatenated and lifted by a single linear layer β€” enabling early fusion in the transformer.
  • Soft prompt injection. The dataset id selects \(p_i\) from a library; tokens are concatenated to the sequence and consumed by self-attention from the very first layer β€” so embodiment context shapes all downstream reasoning, not just the action head.

Training recipe (the parts that mattered)

  • Custom learning rate β€” soft prompts and the VLM/vision modules use a reduced LR so pretrained features don't drift catastrophically.
  • Aligned action representation β€” every robot's actions are recast as (Cartesian EEF xyz, Rot6D rotation, binary gripper). MSE on the continuous parts, BCE on the gripper.
  • Intention abstraction by temporal downsampling β€” predict 30 anchor points covering the next 4 s, not every low-level step.
  • Balanced data sampling β€” shuffle across and within domains, not the usual round-robin.
  • Two-step adaptation β€” prompt warm-up with frozen backbone, then joint finetune.

Math Walkthrough

1. Soft prompts as a learned hardware map

Let \(\mathcal{D}_H=\{\mathcal{D}_i\}_{i=1}^{H}\) be the heterogeneous data mixture, each dataset collected on hardware configuration \(h_i\in\mathcal{H}\). Define a latent mapping \(\Phi:\mathcal{H}\to\mathbb{R}^{N\times d}\) and instantiate one set of prompts per source:

$$P^H = \{p_i\}_{i=1}^{H},\qquad p_i \approx \Phi(h_i).$$

Crucially \(\Phi\) is not handwritten (as it would be for language prompts); the \(p_i\) are randomly initialized and implicitly learned end-to-end. Each \(p_i\in\mathbb{R}^{32\times d}\) is concatenated to the multimodal token sequence retrieved by dataset id.

2. Flow-matching action policy

Given an observation \(o\) (images + language + proprio) the policy \(\pi_\theta\) learns a velocity field \(v_\theta(A_t, o, t)\) on the OT interpolation between Gaussian noise and an expert action chunk:

$$A_t = (1-t)A_0 + t A,\quad A_0\sim\mathcal{N}(0,I),\quad t\sim\mathcal{U}(0,1).$$

Training minimizes the flow-matching behavior-cloning loss

$$\mathcal{L}^{\text{FM}}_{\text{BC}}(\theta)=\mathbb{E}_{t,(o,A)\sim\mathcal{D}}\left[\,\bigl\lVert v_\theta(A_t,o,t)-(A-A_0)\bigr\rVert^{2}\,\right].$$

At inference an Euler ODE solver iterates \(A_{t+\Delta t}=A_t+v_\theta(A_t,o,t)\,\Delta t\) from \(t=0\) to \(t=1\).

3. Action representation

Each predicted action token decodes to \(a=(\,xyz\in\mathbb{R}^{3},\,R\in\mathbb{R}^{6}_{\text{Rot6D}},\,g\in\{0,1\}\,)\). The continuous parts use MSE; the gripper uses BCE β€” giving a uniform target across robots despite hardware differences.

4. Two-step adaptation

For a new hardware \(h_{\text{new}}\) with prompt \(p_{\text{new}}\):

  1. Prompt warm-up. Freeze \(\theta\), optimize only \(p_{\text{new}}\) against \(\mathcal{L}^{\text{FM}}_{\text{BC}}\).
  2. Joint adaptation. Unfreeze and jointly optimize \((\theta, p_{\text{new}})\).

For PEFT, replace step 2's full backbone update with LoRA β€” about 9M trainable params (~1%) of the 0.9B model.

Results

X-VLA-0.9B is evaluated across 6 simulation benchmarks and 3 real-world platforms. Numbers below are taken directly from the paper's Table 2 and Section 5.

Simulation benchmarks (Table 2)

BenchmarkPrior best (model)X-VLA-0.9B
Simpler β€” VM78.0 (FPC-VLA, 7B)80.4
Simpler β€” VA72.7 (MemoryVLA, 7B)75.7
Simpler β€” WidowX71.9 (MemoryVLA, 7B)95.8
LIBERO Spatial98.498.2
LIBERO Object98.8 (Ο€0)98.6
LIBERO Goal97.9 (OpenVLA-OFT)97.8
LIBERO Long94.5 (OpenVLA-OFT)97.6
LIBERO avg97.1 (OpenVLA-OFT, 7B)98.1
Calvin ABC→D4.53 (FLOWER, 1B)4.43
RoboTwin-2.0 Easy46.4 (Ο€0)70.0
RoboTwin-2.0 Hard16.4 (Ο€0)39.0
VLABench (Avg. PS)39.7 (GR00T-N1, 3B)51.1
NAVSIM PDMS81.7 (UniVLA, 9B)87.3

X-VLA tops the leaderboard on 5 of 6 benchmarks, with particularly dramatic margins on Simpler-WidowX (+23.9), RoboTwin-2.0 Easy (+23.6) and Hard (+22.6), and VLABench (+11.4) β€” while running at 0.9B, much smaller than the 3–9B baselines.

PEFT with LoRA (Table 3)

TaskΟ€0 (full FT, 3B)X-VLA + LoRA (9M β‰ˆ 1%)
LIBERO Spatial96.895.8 Β± 0.4
LIBERO Object98.896.3 Β± 0.3
LIBERO Goal95.895.2 Β± 0.8
LIBERO Long85.283.7 Β± 0.5
Simpler-WidowX55.754.2

Tuning 9M params (β‰ˆ1%) of X-VLA matches a fully finetuned 3B Ο€0 β€” a ~300Γ— parameter reduction at comparable scores.

Real-world experiments

  • BridgeData-v2 (WidowX) β€” X-VLA beats every baseline on all five tasks (Fig. 8).
  • Bi-manual Agilex cloth folding (Soft-Fold, 1,200 trajectories) β€” near-100% success and 33 folds/hour, comparable to the closed-source Ο€0-folding model trained on far more data; finetuned Ο€0-base and ACT on the same dataset failed to match throughput.
  • AIRBOT (unseen embodiment) PEFT β€” LoRA-only adaptation succeeds, validating that the pretrained backbone holds embodiment-agnostic features.

Ablation path (Table 1) β€” Simpler-WidowX adaptation

StagePT val errorAD acc
Baseline (Florence-base + DiT-base, no PT)β€”4.1
+ Custom LR (no PT)β€”39.6
+ Heterogeneous pretraining0.1125.0
+ Data processing (action align, intention abstr., balanced sampling)0.07750.0
+ Transformer encoder (replace DiT)0.07147.9
+ Enhanced encoding pipeline0.05364.6
+ Soft prompt0.04173.8
+ Scaling up to 0.9B0.03289.6
+ Two-step adaptation0.03295.8

Each row is a positive contributor; soft prompts alone deliver +9.2 success-rate points and the largest single drop in pretraining error among the architectural changes.

Scaling

Across model size, data diversity, and data volume, X-VLA shows monotonically decreasing pretraining validation error (Fig. 6, RΒ²β‰ˆ0.925) and a strong correlation with downstream success rate β€” with no sign of saturation at 0.9B / 7 sources / 290K episodes.

What the soft prompts learn (qualitative, Fig. 9)

  • T-SNE of the 7 learned prompt sets forms tight clusters by hardware category.
  • The two Droid Franka setups (left-main vs right-main view) intermingle β€” the model has discovered that they're the same arm in two camera placements rather than treating them as separate ids.
  • Frozen pretrained UR-5 prompts transfer to WidowX faster than AgiBot prompts, matching intuition (single-arm vs bi-manual gap). Two-step adaptation on top wins overall.

Intuition & Analogies

Soft prompts as a "robot ID card with a learned bio." Most VLAs hand the model the robot's ID and a separate action head, but tell it nothing about that robot until the very last layer. X-VLA instead hands the Transformer a small bag of learnable tokens at the input: "Hey, I'm robot #3 β€” here's my pose conventions, my camera quirks, my control rate, all baked into 32 vectors I taught myself." Everything downstream β€” attention, fusion, action generation β€” gets to condition on that bio from layer 1.

Why not just write the bio as English? You can ("This robot has a wrist camera at 30 Hz with a parallel gripper…"), but you'd need to script it carefully and the model has to parse it. Soft prompts skip the language detour: they live in the same embedding space the Transformer already reasons over, and gradient descent shapes them to be exactly what helps the loss.

Why not just put projection layers in the middle? Because that's surgery on a pretrained brain β€” every middle-layer adapter risks corrupting Florence-2's vision-language features. Soft prompts are additive tokens; the rest of the network keeps its weights and just attends to them.

Limitations & Open Questions

  • One prompt set per source, not per attribute. If two robots share cameras but differ in arm, the prompts can't decompose those factors β€” the paper hints at this via the intermingled Droid clusters, but factorized prompts (per-camera Γ— per-arm) are future work.
  • New-robot adaptation still needs data. Although LoRA cuts trainable params to ~9M, you still need demonstrations on the new platform (e.g. 1,200 trajectories for the cloth-folding task). True zero-shot to a brand-new embodiment via prompt retrieval is sketched as a future direction.
  • Scaling not pushed to saturation. The largest run is 0.9B params, 7 sources, 290K episodes β€” within compute limits. Whether the soft-prompt mechanism remains the optimal heterogeneity handler at, say, 10B + 50 sources is open.
  • Calvin gap. X-VLA's 4.43 on Calvin ABCβ†’D trails FLOWER's 4.53 β€” one of the few benchmarks where it doesn't lead.
  • Standardized action space is a design choice. EEF + Rot6D + binary gripper works for arms, but doesn't obviously extend to humanoids, mobile bases, or dexterous hands without rework.
  • Closed-source comparisons are indirect. The Ο€0-folding throughput claim relies on the public Ο€0-base + ACT replications, not the actual proprietary Ο€0-folding system.

Takeaways

  • Heterogeneity belongs at the input, not the output. Per-embodiment action heads are too late; soft prompts inject hardware context from layer 1 and improve both pretraining stability and downstream success rates.
  • 0.04% of params can carry the embodiment. X-VLA's per-robot parameters (prompt + tiny I/O projections) are a rounding error on the model size, yet they unlock cross-embodiment training.
  • You don't need a fancy backbone. A vanilla 24-layer Transformer encoder with flow-matching beats DiT-style decoders once the encoding pipeline and soft prompts are in place.
  • Disentangle main view from wrist view. Send semantic context to the VLM, send noisy wrist views to a separate ViT.
  • PEFT is cheap and competitive. 9M LoRA params on X-VLA match a 3B fully-finetuned Ο€0 β€” strong evidence the pretrained backbone is genuinely embodiment-agnostic.
  • Learned prompts encode meaningful structure. T-SNE shows clustering by hardware type and crossover between camera variants of the same arm β€” they're not just dataset id labels.