机器人 · Robotics · arXiv 2025

SmolVLA

A Vision-Language-Action Model for Affordable and Efficient Robotics
Mustafa Shukor, Dana Aubakirova, Francesco Capuano, Pepijn Kooijmans, Steven Palma, Adil Zouitine, Michel Aractingi, Caroline Pascal, Martino Russi, Andres Marafioti, Simon Alibert, Matthieu Cord, Thomas Wolf, Remi Cadene · Hugging Face / Sorbonne University / Valeo.ai / ENS Paris-Saclay

SmolVLA 是一个仅 0.45B 参数的紧凑型视觉-语言-动作模型,可在单张 GPU 上训练、在 CPU 上部署。通过 layer skipping、flow matching action expert 与异步推理三项核心设计,SmolVLA 在 LIBERO 仿真基准上以 87.3% 的成功率超越 10 倍体量的 π₀,并在真实机器人任务中展现出更快的任务完成速度。

0.45B 参数单卡可训练CPU 可部署 📄 arXiv:2506.01844 GitHub: lerobot
VLA vision-language-action 机器人操作 异步推理 flow matching SmolVLM 轻量化模型 社区数据集

01 动机

当前的视觉-语言-动作(VLA)模型通常拥有数十亿参数,导致训练成本极高、难以在真实场景中部署。这一"规模崇拜"使得机器人学习研究对大多数团队而言门槛极高。

"existing VLA systems are typically massive–often with billions of parameters–leading to high training costs and limited real-world deployability."

SmolVLA 的核心主张是:性能优秀的 VLA 不必庞大。通过精心的架构设计和利用社区贡献的开放数据集,0.45B 参数的 SmolVLA 在多个基准上超越了 3B 参数的 π₀,同时大幅降低了训练与部署的资源门槛。

SmolVLA 架构概览
SmolVLA 系统概览。左侧为紧凑型 VLM 骨干(SmolVLM-2,使用前 16 层,剪掉后半部分层),右侧为 Action Expert,采用交错 cross-attention 与 self-attention 的 flow matching 解码器,接受来自 VLM 的视觉/语言 token 并输出动作序列。
0.45B总参数量(含 action expert)
87.3%LIBERO 平均成功率(超越 3.3B π₀ 的 86.0%)
57.3%Meta-World 平均成功率(超越 π₀ 的 47.9%)
78.3%SO100 真实机器人平均成功率(超越 π₀ 的 61.7%)

02 方法

SmolVLA 由三个核心组件构成:(1)通过 layer skipping 压缩的 SmolVLM-2 视觉语言骨干;(2)基于 flow matching 的 Action Expert;(3)将感知与执行解耦的异步推理系统。

Layer Skipping:高效压缩 VLM

SmolVLA 直接复用预训练的 SmolVLM-2(含 SigLIP 视觉编码器),但仅保留 LLM 的前 16 层(共 32 层),舍弃后半部分。实验表明,"skipping layers from a large VLM yields better results than downsizing":layer skipping 在 LIBERO 上达到 78.5%,而重新训练的缩小版 VLM 仅 75.8%。视觉 token 通过 pixel shuffling 压缩至每帧仅 64 个,进一步降低序列长度。

Flow Matching Action Expert

Action Expert 是一个约 100M 参数的独立模块,采用交错排列的 cross-attention(CA)和 self-attention(SA)层。CA 从 VLM 输出的视觉/语言 token 中提取语义条件,SA 在动作序列内部建模时序依赖。训练使用 flow matching 目标,以 chunk size n 预测一段连续动作。消融实验证明:

异步推理系统
异步推理架构。PolicyServer 运行感知与动作预测(可在远程 GPU 服务器),RobotClient 执行动作队列(本地 CPU)。两者并行运行,感知不再阻塞执行,实现更高频率的控制。

异步推理:解耦感知与执行

传统同步推理中,机器人在等待模型推理时处于静止状态,严重限制控制频率。SmolVLA 引入 asynchronous inference:PolicyServer 持续运行 VLA 推理并将动作块写入共享队列,RobotClient 持续从队列取出动作执行,两者完全并行。当队列长度超过阈值 g 时,重新触发感知更新。该设计不仅提升了速度,还允许将模型部署在远程 GPU 服务器,本体侧只需 CPU。

预训练数据集

SmolVLA 使用来自 Hugging Face Hub 的 481 个社区数据集进行预训练,经过 embodiment 类型、episode 数量、数据质量、帧覆盖度等过滤后,最终保留约 22,900 条轨迹、10.6M 帧。该规模"比其他 SOTA VLA 方法小至少一个数量级",所有数据均公开可得,无专有数据。预训练使用 4 张 GPU,总计约 30,000 GPU 小时。

03 实验

在 LIBERO 仿真基准、Meta-World 多任务基准和真实机器人(SO100 / SO101)上与 Diffusion Policy、Octo、OpenVLA、π₀ 等基线对比。

LIBERO 仿真基准

方法参数量SpatialObjectGoalLong平均
Diffusion Policy78.3%92.5%68.3%50.5%72.4%
Octo0.09B78.9%85.7%84.6%51.1%75.1%
OpenVLA7B84.7%88.4%79.2%53.7%76.5%
π₀ (pretrained)3.3B90%86%95%73%86.0%
SmolVLA0.45B90%96%92%71%87.3%

SmolVLA 以 0.45B 参数超越了 3.3B 参数的 π₀(pretrained),平均成功率 87.3% vs 86.0%。

Meta-World 多任务基准

方法参数量EasyMediumHardVery Hard平均
Diffusion Policy23.1%10.7%1.9%6.1%10.5%
TinyVLA77.6%21.5%11.4%15.8%31.6%
π₀ (pretrained)3.5B71.8%48.2%41.7%30.0%47.9%
SmolVLA0.45B82.5%41.8%45.0%60.0%57.3%

真实机器人:SO100

方法Pick-PlaceStackingSorting平均
ACT (single-task)70%50%25%48.3%
π₀ (multi-task)100%40%45%61.7%
SmolVLA (multi-task)75%90%70%78.3%

真实机器人:SO101

方法In-DistributionOut-of-Distribution
ACT70%40%
SmolVLA90%50%
真实机器人任务
四类真实机器人任务的起始帧与终止帧,涵盖 SO100 和 SO101 机器人平台。任务包括抓取放置、堆叠和分类等不同难度的操作。

异步推理加速效果

异步推理队列动态
不同阈值 g 下的动作队列随时间演化。异步推理在 pick-place 任务上将完成时间从 13.75s 缩短至 9.7s(约快 30%),在固定时间内成功次数提升 2.1 倍(19 次 vs 9 次)。

消融实验要点

关键设计选择的消融(均在 LIBERO 上测试):

04 局限性

Note: 以下局限性由作者在论文中明确陈述(stated),无需推断标注。
预训练数据规模有限且来源单一

预训练数据集约 22,900 条轨迹(10.6M 帧),"at least one order of magnitude smaller than other state-of-the-art" VLA 方案。全部数据来自 SO100 单一 embodiment,泛化到不同机器人形态时需要额外 fine-tuning,且跨 embodiment 迁移能力尚未充分验证。

长时序任务表现受限

在 LIBERO-Long(需要更长规划视野)上,SmolVLA 达到 71%,低于其在 Object(96%)和 Spatial(90%)子集的表现,表明对长时序、多步骤任务的建模能力仍有提升空间。

VLM 骨干的预训练任务与机器人控制存在偏差

作者指出,VLM 骨干 SmolVLM-2 "pretrained mainly on document reading and OCR tasks",其视觉语义理解与机器人操控场景存在领域差距,这可能限制其对操作场景的细粒度理解(如物体姿态、接触关系)。

异步推理引入系统复杂性

异步推理系统需要在 PolicyServer 和 RobotClient 之间维护共享动作队列和状态同步,引入了额外的工程复杂性。队列阈值超参数 g 的选择对实际性能有影响,需针对不同任务调优。