How many robot demonstrations does a Vision-Language-Action model actually need? We fine-tune SmolVLA across 5 data regimes on LIBERO-Spatial (10 tasks, 432 demos) and find a counterintuitive result: the zero-shot baseline outperforms every fine-tuned condition.
Vision-Language-Action (VLA) models like SmolVLA are pretrained on large internet-scale corpora and can zero-shot execute manipulation tasks via language instructions. In practice, teams fine-tune on task-specific demonstrations. A key open question is: how many demonstrations does a VLA actually need?
Collecting robot demos is expensive — if a VLA can achieve near-peak performance with 25% of the data, practitioners can cut collection costs by 4×. This study systematically evaluates SmolVLA fine-tuning across 5 data regimes on LIBERO-Spatial, comparing against a zero-shot baseline evaluated on 500 rollouts (50 per task × 10 tasks).
Average task success rate across all 10 LIBERO-Spatial tasks vs. number of demonstration episodes used for fine-tuning.
Four main insights from the data efficiency study.
Fine-tuning with only 5% of demos (~2 per task) drops average success from 73.0% → 52.4% — a 20.6 percentage-point regression. Noisy gradients from 2 demonstrations cause severe task forgetting.
Even with 100% of data (432 demos, ~43/task), fine-tuning achieves only 70.2% — still 2.8 pp below the zero-shot baseline. SmolVLA's internet-scale pretraining gives it a strong prior on LIBERO-Spatial.
From 10% data onward, performance recovers steadily: 57.9% → 67.1% → 69.0% → 70.2%. Approximately 25% data (~11 demos/task) recovers to within 6 pp of zero-shot, suggesting a potential data-efficiency knee.
Task 5 ("on ramekin") is the hardest across all conditions: 36% zero-shot → crashes to 2.6% at 10% data, recovering to only 26.8% at full data. Spatial disambiguation may require fundamentally more data or architectural changes.
Success rate (%) for each of the 10 LIBERO-Spatial tasks across all 6 conditions. Color indicates performance level.
| Condition | T0 btw plate & ramekin |
T1 next to ramekin |
T2 table center |
T3 on cookie box |
T4 top drawer |
T5 on ramekin ⚠️ |
T6 next to cookie box |
T7 on stove |
T8 next to plate |
T9 wooden cabinet |
Avg |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Zero-shot 0 demos | 62.0 | 94.0 | 78.0 | 76.0 | 72.0 | 36.0 | 84.0 | 80.0 | 78.0 | 70.0 | 73.0 |
| 5% data ~2 demos/task | 86.4 | 64.2 | 80.6 | 81.4 | 31.0 | 7.2 | 26.8 | 51.8 | 82.8 | 12.0 | 52.4 |
| 10% data ~4 demos/task | 49.2 | 45.6 | 76.6 | 77.0 | 59.2 | 2.6 | 87.6 | 65.6 | 75.0 | 40.8 | 57.9 |
| 25% data ~11 demos/task | 86.2 | 68.2 | 85.0 | 76.2 | 65.0 | 29.0 | 83.4 | 61.8 | 52.0 | 64.4 | 67.1 |
| 50% data ~21 demos/task | 78.2 | 81.2 | 88.8 | 84.6 | 65.8 | 17.0 | 82.8 | 69.6 | 62.4 | 59.2 | 69.0 |
| 100% data ~43 demos/task | 79.8 | 80.4 | 84.0 | 82.8 | 52.2 | 26.8 | 82.0 | 73.0 | 73.2 | 68.0 | 70.2 |
Model architecture, dataset, and evaluation protocol.
All 10 tasks share the same goal structure: pick up the black bowl from a spatially-described location and place it on the plate. Difficulty varies by spatial context.
Subsampling is stratified per task — each fraction takes equal proportions from every task to avoid class imbalance. All conditions use identical hyperparameters.
SmolVLA base model evaluated directly on LIBERO-Spatial. Establishes the pretraining prior baseline. The model leverages internet-scale VLM knowledge to understand spatial language instructions.
With only 2 demonstrations per task, gradient updates are highly noisy. The model experiences catastrophic forgetting on several tasks while overfitting on others. Worst-case degradation to 7.2% on Task 5.
Recovery begins but remains below zero-shot. Task 5 crashes to 2.6% (worst across all conditions). Task 6 surprisingly reaches 87.6%, demonstrating high per-task variance at this regime.
From 25% data onward, average performance approaches but never reaches zero-shot. The curve flattens rapidly: 25% → 67.1%, 50% → 69.0%, 100% → 70.2%. Diminishing returns are visible — doubling from 50% to 100% yields only +1.2 pp.
| Parameter | Value | Notes |
|---|---|---|
model | lerobot/smolvla_base | 500M params, VLM + action expert |
steps | 30,000 | Same across all data fractions |
batch_size | 16 | — |
learning_rate | 1e-4 | AdamW, cosine decay |
lr_min | 2.5e-6 | Cosine decay floor |
chunk_size | 50 | Action steps predicted per forward pass |
frozen | vision encoder | Expert + state projector trained |
seed | 42 | Reproducibility |
eval_rollouts | 500 | 50 eps × 10 tasks per condition |
save_freq | 30,000 | Final checkpoint only |
subsampling | stratified | Equal proportion per task |