SmolVLA:一种经济高效的机器人视觉-语言-动作模型

发表
Andres MarafiotiAndres Marafioti 提交
作者: Mustafa ShukorMustafa Shukor, Dana AubakirovaDana Aubakirova, Francesco CapuanoFrancesco Capuano, Pepijn KooijmansPepijn Kooijmans, Steven PalmaSteven Palma, Adil ZouitineAdil Zouitine, Michel AractingiMichel Aractingi, Caroline PascalCaroline Pascal, Martino RussiMartino Russi, Andres MarafiotiAndres Marafioti, Simon  AlibertSimon Alibert, Matthieu Cord, Thomas WolfThomas Wolf, Remi CadeneRemi Cadene

摘要

AI 生成总结
SmolVLA是一个紧凑高效的视觉-语言-动作模型,以较低的计算成本实现了具有竞争力的性能,并可在消费级硬件上部署。
视觉语言模型(VLM)在大型多模态数据集上进行预训练,编码了丰富的视觉和语言知识,使其成为机器人技术的强大基础。与从头开始训练机器人策略不同,最近的方法将VLM адаптировать为视觉-语言-动作(VLA)模型,从而实现自然语言驱动的感知和控制。然而,现有的VLA通常体量庞大——参数常达数十亿——导致高昂的训练成本和有限的实际部署能力。此外,它们依赖于学术和工业数据集,而忽视了经济实惠的机器人平台日益增长的社区收集数据。在这项工作中,我们提出了SmolVLA,一个小型、高效且由社区驱动的VLA,它大幅降低了训练和推理成本,同时保持了有竞争力的性能。SmolVLA旨在单个GPU上进行训练,并部署在消费级GPU甚至CPU上。为了进一步提高响应速度,我们引入了一个异步推理堆栈,将感知和动作预测与动作执行解耦,从而通过分块动作生成实现更高的控制速率。尽管SmolVLA尺寸紧凑,但其性能与体积大10倍的VLA相当。我们在一系列模拟和真实世界机器人基准上评估了SmolVLA,并发布了所有代码、预训练模型和训练数据。
查看 arXiv 页面查看 PDF

评论

Andres MarafiotiAndres Marafioti
论文作者
论文提交者

SmolVLA 是一个小型、高效且由社区驱动的 VLA,它大幅降低了训练和推理成本,同时保持了有竞争力的性能。
作者们会在这里,所以让我们聊聊吧!

Aymeric RoucherAymeric Roucher

哇哇哇这真是太酷了!(抱歉信息量低)

Andres MarafiotiAndres Marafioti
论文作者
论文提交者

你什么意思,这些是最好的评论:)

Aurélien-Morgan CLAUDONAurélien-Morgan CLAUDON
此评论已隐藏。
Aurélien-Morgan CLAUDONAurélien-Morgan CLAUDON

精彩的阅读体验。第三节更是价值连城。

Francesco CapuanoFrancesco Capuano
论文作者

🥰 非常感谢!🤗

Suhwan ChoiSuhwan Choi

论文中提到模型在4个GPU上进行训练,对应3万GPU小时,但这相当于30000/24/4=312天。这个数字正确吗?

zhangzhang

我问了作者同样的问题。这是项目的总和,包括由于架构调整、超参数调优、消融实验以及当然的测试而训练的100多个模型。

Yuliang GuoYuliang Guo

是否有关于实际 GPU 小时数的确认?

Will NorrisWill Norris

特别喜欢这里的异步推理贡献。几周前,我尝试在云 GPU 上运行 Gr00t,但遇到了网络延迟严重影响性能的问题,因此我非常欣赏将推理与动作执行并行化的想法。

我希望我们能看到其他 VLA 采用这种架构,这似乎是机器人共享云 GPU 而非依赖本地硬件(降低边际成本并提高可维护性!)的关键一步。

Francesco CapuanoFrancesco Capuano
论文作者

嘿 @willnorris 非常感谢你的评价——我们很高兴你喜欢这份报告和异步推理 😉
我们正在努力工作,以确保该技术栈能尽快在主线版本中落地。它已经兼容 LeRobot 支持的所有策略类型,并且我们的开源努力旨在使其成为社区的标准范式。为什么要落后呢?🤓

如果你对进展感兴趣,请查看这里的 PR 🔗 https://github.com/huggingface/lerobot/pull/1196

Francesco CapuanoFrancesco Capuano
论文作者

我正在考虑发布一篇博客文章,详细介绍异步架构,并为社区提供更多背景知识。@willnorris,你觉得我们在报告中有什么地方没有充分涵盖吗?

Will NorrisWill Norris

如果能将同步和异步时序图并排放置,那将非常酷,否则很难理解!

CleanShot 2025-06-05 at 13.43.36@2x.png

Francesco CapuanoFrancesco Capuano
论文作者

嗨 @willnorris 👋 当然,将我们设计的架构与传统的同步策略进行对比是很明智的。在我们进行这项工作的同时,您可以查看此评论,其中以图形方式比较了同步与异步。

如果您还有其他问题,请告诉我🤗

Francesco CapuanoFrancesco Capuano
论文作者

嘿 @willnorris 非常感谢你的评价——我们很高兴你喜欢这份报告和异步推理 😉
我们正在努力工作,以确保该技术栈能尽快在主线版本中落地。它已经兼容 LeRobot 支持的所有策略类型,并且我们的开源努力旨在使其成为社区的标准范式。为什么要落后呢?🤓

如果你对进展感兴趣,请查看这里的 PR 🔗 https://github.com/huggingface/lerobot/pull/1196

ZHAO RunyiZHAO Runyi

预训练数据集中是否仅包含 SO-100 的执行数据?

Dana AubakirovaDana Aubakirova
论文作者

是的,正确!

Gleb ZarinGleb Zarin

大家好,
太棒了!

我认为有一个错别字:“改进任务注释”部分,链接引用了 Qwen/Qwen2.5-3B-Instruct(应该是 Qwen/Qwen2.5-VL-3B-Instruct)。

Dana AubakirovaDana Aubakirova
论文作者

你好!谢谢!

抓得好!是的,你说得对,正确的链接引用是 Qwen/Qwen2.5-VL-3B-Instruct。
对此表示抱歉!

Gleb ZarinGleb Zarin

论文本身有几处错别字:
1. “在约 1000 万帧时,我们的预训练数据集比其他最先进的数据集小至少一个数量级。”
2. “数据集记录相对于 除非(?)另有说明的轨迹” (缺少一些内容)
3. “在表 3 中,我们在四个现实任务上评估了 SmolVLA。对于SO101 SO100 基准,
模型在一个组合的数据集上训练,并按任务和平均值报告成功率。”
4. “表 11 表明将状态信息包含在 VLM 中能显著提高 CA 和 SA 变体的性能。” - 从表 11 开始,前缀对于 CA(73.3->80.3)更好,但对于 SA(74.8->53.3)更差。

Flim de JongFlim de Jong

你好 SmolVLA 团队,

太棒了!一个小规模的多元化社区数据即可带来如此大的差异,真是太酷了。

我对你们的数据策展过程特别感兴趣。从论文中我了解到你们使用 VLM 进行注释,并手动映射视图。
- 你们发现这种混合方法的可扩展性如何?
- 在策展过程中是否存在反复出现的痛点或瓶颈?

另外,总的来说,您认为策展是开发这些模型的主要瓶颈/耗时环节吗?我一直在关注 ARES 项目,并考虑可能对其进行分叉,编写更好的前端/后端堆栈并将其部署为空间,以便我们可以改进 HF hub 上的所有数据集。

再次感谢你们出色的工作。

Aadarsh RamAadarsh Ram

我有一个关于异步推理过程的问题。我相对是这方面的新手,所以如果这是一个幼稚的问题,请提前道歉。
据我所知,该方法允许下一个推理周期在之前的推理产生的动作块仍在执行时开始。在某些情况下,这不会引入不匹配吗?即系统的状态在之前块执行期间已经显著演变,使得用于下一个推理的观察结果过时或陈旧?在这些情况下,产生的动作不应该是次优的甚至是错误的吗?
如果我误解了什么,请纠正我。
谢谢!

Francesco CapuanoFrancesco Capuano
论文作者

嗨 @aadarshram 👋 非常感谢您的提问!确实,您的观察非常准确——如果环境在预测下一个动作时显著演变,那么计划的动作可能是任意次优的(甚至是错误的)。然而,输出“动作块”(独立执行)的模型本身就处理了这个问题,对此,您的观点是我们的异步推理堆栈可能更容易出现这个问题。
我认为值得注意的是,我们在实践中没有发现过这种“高度混乱”的故障模式,并且聚合(而不是覆盖,f(A1, A2) = A_2)不同的块提供了一种克服这个问题的好方法。

Venkata Naga Kishan MunjuluryVenkata Naga Kishan Munjulury

大家好,
有人能帮我如何将 xarm 环境与 smolvla 集成以模拟 babbling 任务吗?

hasith vattikutihasith vattikuti

你们能列出一些 SmolVLA 的推荐硬件吗?论文提到它足够轻量,可以在消费级 GPU 甚至 CPU 上运行,但没有提到任何具体细节

Flim de JongFlim de Jong

我不确定这是否有帮助,但我刚在普通的 CPU(7735HS)上运行了 SmoLVLA,它确实能用……差不多。你能真正感觉到模型停止并计算一个块,然后执行动作。它相当慢