SmolVLA
Hugging Face's compact vision-language-action model: a SmolVLM-2 backbone with a flow-matching action expert that outputs 50-step action chunks. Designed to be fine-tuned on LeRobot datasets on a single GPU.
450M paramsopen weightsRTCPEFT / LoRAverified 2026-10-24paper →
Architecture
- Family
- vla
- Parameters
- 450,000,000 (Authors state 450 million parameters (rounded), ~100M of which are the action expert.)src
- Backbone
- SmolVLM-2 (SigLIP vision encoder + SmolLM2 decoder), upper layers skippedsrc
- Action head
- flow-matchingsrc
- Action chunking
- yes
- Real-Time Chunking
- supportedsrc
- PEFT / LoRA
- supported
- Code license
- Apache-2.0
- Weights license
- Apache-2.0
- Language input
- optional
Compute requirements
| Memory | Precision | Conditions | |
|---|---|---|---|
| train | ≥10 GB · ≤16 GBsrc | — | Peak training VRAM at batch size 8 with AdamW (LeRobot default), "Small VLA" group in the LeRobot compute hardware guide. The guide calls its figures indicative, order-of-magnitude numbers for picking hardware, not exact predictions. Precision not stated. · batch 8 · ~3–6 h for 5 epochs on a ~45k-frame dataset at batch 4 on a single L4/A10G 24 GB; ~1–2 h at batch 16 on a single A100 40 GB (indicative, ±50%). |
| inference | 1.75 GB measuredsrc | fp32 | Peak memory at inference measured by the LeRobot paper (Table 2): 1.75 GB on both RTX 4090 and A100, all models in full fp32 precision, 10 flow-matching denoising steps. (Same table: 1.69 GB CPU-only, 555 MB on Apple MPS.) |
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 | 2 @640x480 | 107.55 / 108.48 | 9.3 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 512x512; 10 denoising steps; latency is runtime-only over a pre-materialized observation ring. Whole-board RAM in use 1.78 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 | 2 | 189.89 / 190.93 | 5.25 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 7 graphs TensorRT / 2 CPU. System RAM 2385 MB in use. | T3 · community reported |
| Jetson Orin Nano 8GB (Super) | PyTorch eager | fp32 | 2 | 1167.93 / 1176.65 | 0.86 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.5.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 SmolVLAPolicy in PyTorch FP32 (LeRobot 0.5.1 env, JetPack-matched torch). RSS peak 3826 MB, system RAM 4126 MB in use. | T3 · community reported |
Robots running SmolVLA 21 of 24 with evidence
| Robot | State | Tier | Verified | Detail |
|---|---|---|---|---|
| AgileX PiPER | works with caveats | T3 · community reported | 2026-10-24 1d ago | Community-reported only; not documented upstream or maintainer-tested. |
| ALOHA (stationary) | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| Bimanual SO-100/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. |
| Franka Research 3 | works with caveats | T3 · community reported | 2026-10-25 today | Community-reported only (CRISP paper authors); not documented upstream or maintainer-tested. |
| Franka Emika Panda | partial | T3 · community reported | 2026-10-24 1d ago | The checkpoints' Panda identity comes from repo and robot_type naming (panda_ros_cartesian, panda_joint* states). The cards are auto-generated with no hardware description. |
| I2RT YAM | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| Koch v1.1 | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| LeKiwi | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| Mobile ALOHA | partial | T3 · community reported | 2026-10-25 today | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| 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 | works | T1 · upstream documented | 2026-10-24 1d ago | |
| Reachy 2 | works with caveats | T3 · community reported | 2026-10-25 today | Community-reported only; not documented upstream or maintainer-tested. |
| reBot Arm B601-DM | partial | T1 · upstream documented | 2026-10-25 today | Training on reBot B601-DM data is documented by the vendor (Seeed wiki 'B601-DM with LeRobot'). The wiki's on-robot evaluation command (lerobot-record with --policy.path and no teleoperator) is rejected by the Seeed LeRobot fork the wiki installs, which directs policy deployment to lerobot-rollout, so on-robot inference is not validly documented. Public checkpoints trained on B601-DM data also exist. |
| SO-100 | works | T1 · upstream documented | 2026-10-24 1d ago | |
| SO-101 | works | T1 · upstream documented | 2026-10-24 1d ago | |
| Trossen WidowX AI | works with caveats | T1 · upstream documented | 2026-10-24 1d ago | Trossen documents the SmolVLA evaluation path but has published no on-robot SmolVLA results; its SmolVLA checkpoints carry auto-generated cards only. |
| 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. |
| Universal Robots UR5e | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| WidowX 250 S | partial | T3 · community reported | 2026-10-25 today | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| UFACTORY xArm | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| XLeRobot | works with caveats | T1 · upstream documented | 2026-10-24 1d ago | The documented SmolVLA workflow drives XLeRobot's arms as robot.type=bi_so101_follower using a community LeRobot fork (kahowang/lerobot); XLeRobot is not a drop-in LeRobot plugin. |
No verified evidence, but both are available in LeRobot (ecosystem context): ARX5, EarthRover Mini Plus, HopeJR.
Framework support
Checkpoints
- lerobot/smolvla_base · Pretrained base for fine-tuning (Apache-2.0 on the Hub).
Related terms
Action chunking · Action horizon · Asynchronous inference · Behavioral cloning · Control rate · Degrees of freedom · Embodiment gap · Flow matching · Imitation learning · Inference latency · Leader–follower arm · LeRobotDataset · Parameter-efficient fine-tuning (PEFT) and LoRA · Proprioception · Quantization and numeric precision · Real-time chunking · Sim-to-real transfer · Teleoperation · Vision-language-action model
Sources
- T1 · upstream documentedpapersource 2025-06-02verified 2026-10-24 (1d ago)
SmolVLA paper states the main model's parameter count.
“Our main model, contains 450 million parameters, with approximately 100 million dedicated to the action expert.”
https://arxiv.org/abs/2506.01844 - T1 · upstream documentedpapersource 2025-06-02verified 2026-10-24 (1d ago)
SmolVLA is a compact VLM plus a flow-matching action expert outputting 50-action chunks.
“SmolVLA is a lightweight VLA composed of a compact pretrained VLM, and an action expert trained with flow matching.”
https://arxiv.org/abs/2506.01844 - T1 · upstream documentedsource-codesource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
Policy type string is `smolvla`; the same registration exists at tag v0.3.2.
“@PreTrainedConfig.register_subclass("smolvla")”
https://github.com/huggingface/lerobot/blob/v0.6.1/src/lerobot/policies/smolvla/configuration_smolvla.py - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
LeRobot RTC docs name SmolVLA as a supported flow-matching policy.
“allows large, flow-matching based robotic policies, such as [Pi0](./pi0), [Pi0.5](./pi05), and [SmolVLA](./smolvla), to produce smooth, continuous, and reactive motion”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/rtc.mdx - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
LeRobot PEFT guide walks through LoRA fine-tuning of lerobot/smolvla_base.
“In this section we'll show you how to train a pre-trained SmolVLA policy with PEFT on the libero dataset.”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/peft_training.mdx - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
Compute hardware guide: Small VLA (`smolvla`) peak VRAM ~10–16GB at BS 8 with AdamW; figures are indicative.
“| Small VLA | `smolvla` | ~10–16GB | RTX 4080+ / L4 / A10G |”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/hardware_guide.mdx - T1 · upstream documentedpapersource 2026-02-26verified 2026-10-24 (1d ago)
LeRobot paper Table 2: SmolVLA (450M) peak memory 1.69GB CPU, 555MB MPS, 1.75 GB RTX 4090, 1.75 GB A100, fp32.
“Table 2: Peak memory consumption of policy models currently supported by lerobot . All models are run in full precision (fp32). Diffusion and Flow Models are run with 10 denoising steps at inference.”
https://arxiv.org/abs/2602.22818 - T1 · upstream documentedmodel-cardsource 2025-06-01verified 2026-10-24 (1d ago)
Model card lists inputs (multi-view images, state, optional language) and the flow-matching objective.
“- **Inputs:** images (multi-view), proprio/state, optional language instruction”
https://huggingface.co/lerobot/smolvla_base - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
SmolVLA docs give a 20k-step fine-tuning time anchor on one A100.
“Training the model for 20k steps will roughly take ~4 hrs on a single A100 GPU.”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/smolvla.mdx