X-VLA
Soft-prompted, flow-matching VLA: a Florence-Large vision-language encoder plus a 24-layer transformer action generator, with small sets of learnable per-embodiment "soft prompt" embeddings that absorb differences between robots, cameras and datasets. The released X-VLA-0.9B was pretrained on 290K episodes from seven platforms.
900M paramsopen weightsverified 2026-10-24paper →
Architecture
- Family
- vla
- Parameters
- 900,000,000 (Authors state 0.9B (rounded; model is named X-VLA-0.9B).)src
- Backbone
- Florence-Large vision-language encoder + 24-layer transformer (hidden size 1024) with soft promptssrc
- Action head
- flow-matchingsrc
- Action chunking
- yes
- Code license
- Apache-2.0
- Weights license
- Apache-2.0
- Language input
- optional
Compute requirements
| Memory | Precision | Conditions | |
|---|---|---|---|
| train | ≥24 GB · ≤40 GBsrc | — | Peak training VRAM at batch size 8 with AdamW (LeRobot default), "Large VLA" group (`pi0`, `pi0_fast`, `pi05`, `xvla`, `wall_x`) in the LeRobot compute hardware guide; "A100 40 GB+ (24 GB tight at BS 1)". The guide calls its figures indicative, order-of-magnitude numbers for picking hardware, not exact predictions. Precision not stated. · batch 8 |
Training requirements: see also the LeRobot compute hardware guide, the authoritative source for LeRobot training envelopes.
Measured inference 3 runs · inference cost only, not task success
| Compute | Runtime | Precision | Cams | p50 / p95 ms | Inference | Platform | Source |
|---|---|---|---|---|---|---|---|
| Jetson Orin Nano 8GB (Super) | TensorRT | fp16 | 3 @640x480 | 342.59 / 343.47 | 2.92 Hz | jetpack 7.2.1 · power_mode MAXN_SUPER, clocks pinned with jetson_clocks (GPU 1020 MHz, CPU 1728 MHz) · tensorrt 10.16.2.10conditionsboard: Jetson Orin Nano Engineering Reference Developer Kit Super (8 GB) · l4t: R39.2.1 · os: Ubuntu 24.04.4 LTS · python: 3.12.3 · desktop: running Inference cost only; not task success. 300 s run on synthetic 640x480 observations resized by the exported policy to 224x224; 10 denoising steps; latency is runtime-only over a pre-materialized observation ring. Whole-board RAM in use 3.04 GB (unified memory, desktop running). Actions were gated against the stock policy (cosine >= 0.99999) before timing. | T3 · community reported |
| Jetson Orin Nano 8GB (Super) | ONNX (split) | fp16 | 3 | 391.55 / 407.33 | 2.55 Hz | jetpack 7.2 (L4T R39.2.x, per the repo host-setup doc at this commit) · power_mode MAXN_SUPER, pinned clocks · cuda 13.2 · tensorrt 10.16.2 (system, via ONNX Runtime TensorRT EP)conditionsboard: Jetson Orin Nano Super 8 GB developer kit · os: Ubuntu 24.04 · onnxruntime-gpu: 1.24 Inference cost only; not task success. Deterministic synthetic observations, pinned MAXN_SUPER clocks. Configured EP priority 12 graphs TensorRT. System RAM 5395 MB in use. | T3 · community reported |
| Jetson Orin Nano 8GB (Super) | PyTorch eager | fp32 | 3 | 2313.5 / 2320.89 | 0.43 Hz | jetpack 7.2 (L4T R39.2.x, per the repo host-setup doc at this commit) · power_mode MAXN_SUPER, pinned clocks · cuda 13.2 · lerobot 0.6.1conditionsboard: Jetson Orin Nano Super 8 GB developer kit · os: Ubuntu 24.04 Inference cost only; not task success. Deterministic synthetic observations, pinned MAXN_SUPER clocks. Stock LeRobot X-VLA policy in PyTorch FP32 (LeRobot 0.6.1 env). At 30 Hz control the 30-step chunk is overrun (author's control-rate fit). System RAM 5450 MB in use. | T3 · community reported |
Robots running X-VLA 12 of 24 with evidence
| Robot | State | Tier | Verified | Detail |
|---|---|---|---|---|
| AgileX PiPER | works with caveats | T1 · upstream documented | 2026-10-25 today | Upstream evidence is the bimanual AgileX Aloha platform (two PiPER arms driven through AgileX's Piper ROS 1 Noetic driver) using X-VLA's own server-client deployment, not a single PiPER arm and not LeRobot. |
| Bimanual SO-100/SO-101 | partial | T1 · upstream documented | 2026-10-24 1d ago | Fine-tuning on bimanual SO data is documented upstream (so101_bimanual action mode); on-robot inference on a bimanual SO is not documented by a primary source. |
| Franka Research 3 | partial | T3 · community reported | 2026-10-24 1d ago | The FR3 variant comes from the dataset name only; its meta/info.json robot_type is the generic "franka". |
| Franka Emika Panda | partial | T3 · community reported | 2026-10-24 1d ago | The checkpoint's Panda identity comes from repo and robot_type naming (panda_ros_cartesian, panda_joint* states). The card is auto-generated with no hardware description. |
| ROBOTIS OMX | works with caveats | T1 · upstream documented | 2026-10-25 today | Physical-run evidence is post-0.6.1, unreleased LeRobot main (remote-inference docs, PR #4937); no released LeRobot version documents it. |
| OpenArm | partial | T3 · community reported | 2026-10-25 today | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| SO-100 | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| SO-101 | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| Trossen WidowX AI | partial | T3 · community reported | 2026-10-25 today | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| Unitree G1 | partial | T3 · community reported | 2026-10-25 today | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| WidowX 250 S | works with caveats | T1 · upstream documented | 2026-10-24 1d ago | The paper says only 'WidowX' following the BridgeData V2 benchmark. It identifies the arm through BridgeData V2 (a WidowX 250), not by model name. |
| XLeRobot | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
No verified evidence, but both are available in LeRobot (ecosystem context): ARX5, EarthRover Mini Plus, HopeJR, I2RT YAM, Koch v1.1, LeKiwi, Reachy 2, reBot Arm B601-DM, Universal Robots UR5e, UFACTORY xArm.
Framework support
Checkpoints
- lerobot/xvla-base · 0.9B base model (Apache-2.0 on the Hub).
- lerobot/xvla-libero
- lerobot/xvla-widowx
- lerobot/xvla-folding
- lerobot/xvla-agibot-world
- lerobot/xvla-google-robot
- 2toINF/X-VLA-Pt · Authors' own pretrained checkpoint (upstream repo 2toINF/X-VLA).
Related terms
Embodiment gap · Flow matching · Vision-language-action model
Sources
- T1 · upstream documentedpapersource 2025-10-11verified 2026-10-24 (1d ago)
X-VLA paper names its released instantiation X-VLA-0.9B.
“We implement X-VLA-0.9B , a 0.9B instantiation of X-VLA , trained with a carefully designed data processing and learning recipe.”
https://arxiv.org/abs/2510.10274 - T1 · upstream documentedpapersource 2025-10-11verified 2026-10-24 (1d ago)
Architecture is Florence-Large encoder + 24-layer transformer (hidden 1024) for action generation.
“we adopt Florence-Large ( Xiao et al., 2024 ) as the vision–language encoder and employ a standard Transformer backbone with 24 layers and a hidden size of 1024 for action generation.”
https://arxiv.org/abs/2510.10274 - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
LeRobot docs describe X-VLA as a soft-prompted flow-matching VLA.
“**X-VLA** is a soft-prompted, flow-matching VLA framework that treats each hardware setup as a "task" and encodes it using a small set of learnable embeddings.”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/xvla.mdx - T1 · upstream documentedsource-codesource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
Policy type string is `xvla`.
“@PreTrainedConfig.register_subclass("xvla")”
https://github.com/huggingface/lerobot/blob/v0.6.1/src/lerobot/policies/xvla/configuration_xvla.py - T1 · upstream documentedrelease-notessource 2026-01-22verified 2026-10-24 (1d ago)lerobot 0.4.3
X-VLA was added in LeRobot v0.4.3 (PR
“feat(policies): Add X-VLA by @jadechoghari”
https://github.com/huggingface/lerobot/releases/tag/v0.4.3 - T1 · upstream documentedmodel-cardverified 2026-10-24 (1d ago)
Model card lists inputs (multi-view images, state, optional language) and flow-matching objective.
“- **Inputs:** images (multi-view), proprio/state, optional language instruction”
https://huggingface.co/lerobot/xvla-base - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
Compute hardware guide: Large VLA group peak VRAM ~24–40GB at BS 8 with AdamW; figures are indicative.
“| Large VLA | `pi0`, `pi0_fast`, `pi05`, `xvla`, `wall_x` | ~24–40GB | A100 40 GB+ (24 GB tight at BS 1) |”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/hardware_guide.mdx