比主流VLA小10倍,性能却达SOTA!SmolVLA仅用消费级GPU就能高效操控机器人

摘要

在大模型浪潮推动下,视觉语言模型(VLM)正加速向机器人领域渗透,但部署落地依然面临巨大挑战——模型庞大、训练成本高、对硬件依赖强。而SmolVLA的出现,为这一困局提供了轻量、高效的新解。它不是又一个“更大”的模型,而是一种“更小但够用”的方案:设计紧凑、推理快速、可在消费级GPU甚至CPU上运行。它打破了传统VLA模型对工业级数据和昂贵硬件的依赖,转而利用社区贡献的数据完成训练,展示出强大的泛化能力。

©️【深蓝AI】编译

论文标题:SmolVLA: A vision-language-action model for affordable and efficient robotics

论文作者:Mustafa Shukor, Dana Aubakirova, Francesco Capuano等

论文链接:https://arxiv.org/pdf/2506.01844

SmolVLA将预训练的轻量VLM与一个条件流匹配的动作专家结合,支持异步推理,从而提升机器人响应速度与控制频率。在多个模拟和真实机器人任务中,SmolVLA尽管模型参数量小于主流方法一个数量级,却展现出相当甚至更优的性能。这一成果不仅降低了VLA模型的入门门槛,也为机器人在真实场景中的部署打开了新可能。

这不仅是一次“模型瘦身”,更是一次面向机器人普及与开放的理念革新。

引入

近年来,AI领域逐渐转向基础模型的发展,即能够完成多种任务的通用模型。大语言模型(LLMs)作为代表,已在自然语言理解、复杂推理和知识表达等方面表现出接近人类的能力。这类模型的成功推动了多模态基础模型的发展,尤其是在视觉-语言模型(VLMs)和音频-语言模型(ALMs)领域取得了显著进展。这些成果的背后,一方面依赖于Transformer等可扩展架构的使用,另一方面则得益于大规模互联网数据的训练支撑。

尽管基础模型在数字世界中取得了巨大成功,但它们在真实世界中的应用仍面临挑战,尤其是在机器人领域。目前的机器人控制策略在面对不同物体、位置、环境与任务时,仍难以具备足够的泛化能力。要实现机器人对新环境和新物体的适应能力,关键在于让其具备稳健的技能和基本的常识理解。而数据的稀缺与质量不一,成为这一目标实现的主要障碍。

为了解决这一问题,研究者开始探索“视觉-语言-动作”(VLA)模型这一新方向。VLA模型在预训练语言和视觉-语言模型的基础上,进一步融合推理能力、世界知识和决策能力,使得机器人能够根据图像和自然语言指令进行感知与动作预测。这类模型已展现出初步的泛化能力,但整体发展仍处于早期阶段。目前许多先进的VLA模型仍为闭源,仅提供权重,不公开训练方法与细节,使得研究难以复现。

该研究认为,实现类人级别的机器人智能,需要推动开源、透明、可复现的VLA模型发展。不仅如此,还应关注模型的“可获得性”——让更广泛的研究群体能够低成本使用这些模型。因此,该研究提出了SmolVLA,一个开源、轻量且高效的VLA模型,同时发布了完整的训练代码、预训练模型与数据处理流程。

这篇文章的主要贡献包括:

● 轻量架构设计:SmolVLA可以在消费级GPU甚至CPU上运行,训练和推理成本极低。设计上采用了跳过VLM部分层数、减少视觉tokens数量、使用小型预训练模型,并在注意力机制中交替使用自注意力与交叉注意力。

● 社区数据训练:该模型仅使用约3万条社区贡献的数据进行预训练,数据量相比同类方法少一个数量级,仍取得了出色效果。

● 异步推理机制:引入异步推理策略,将感知、预测与执行解耦,提高了推理响应速度,并适应低资源平台上的部署需求。

通过在模拟环境和真实机器人平台上的广泛评估,该研究展示了SmolVLA即便体量小巧,也能达到甚至超过大模型的表现,为具身智能系统的高效部署与广泛普及提供了切实可行的路径。

图1全文方法总览©️【深蓝AI】编译

具体方法与实现

我们先来一起看看模型的架构,SmolVLA 的核心结构可拆解为两部分:

1. 视觉-语言模型(VLM)

VLM 是整个系统的感知主干,负责处理机器人当前的感知状态信息,包括:

● 多路 RGB 相机采集的图像;

● 来自机器人本体的传感器状态;

● 自然语言描述的任务指令。

该部分使用了名为 SmolVLM-2 的紧凑型多模态模型作为骨干网络,具备处理多张图像与视频输入的能力。视觉部分采用了 SigLIP 编码器,语言部分则使用 SmolLM2 解码器。三种输入分别被编码为视觉 token、语言 token 与状态 token,随后在统一的 token 空间中拼接后,输入到语言解码器中,生成用于动作模块的语义特征。

为了提升效率,视觉输入采用了“像素打乱”(pixel shuffle)操作,将每帧图像的 token 数限制在 64 个以内。此外,任务状态向量通过线性投影压缩成单个 token,以与语言模型输入结构对齐。

2. 动作专家(Action Expert)

动作专家是负责生成具体控制指令的模块,结构上为一个条件化 Transformer。其输入是来自 VLM 的语义特征,输出是未来一段时间的动作序列(chunk),形式上是若干个连续时间步的低层控制指令。

不同于以往使用单一注意力机制的方案,SmolVLA 的动作专家在层间交替使用交叉注意力(cross-attention)与自注意力(self-attention),以更充分地利用视觉-语言信息与动作之间的依赖关系。具体地:

● 交叉注意力层负责让当前动作 token 与 VLM 特征进行交互;

● 自注意力层使不同时间步的动作 token 能够相互关联,并通过因果遮罩(causal mask)确保动作序列中仅能访问过去的动作状态,从而保证执行顺序的合理性。

这种交替设计在实验中表现出更强的鲁棒性,尤其在真实机器人控制中生成的动作序列更加平滑稳定。

接下来,我们一起解读一下几个比较重要的方法内容,来明确本文是如何实现SOTA效果的。

提升推理效率的设计策略

为了让模型具备低延迟的推理能力,作者们在模型结构层面引入了以下优化:

1. 跳层机制(Layer Skipping)

为了加快推理速度,SmolVLA 在 VLM 中只保留前 N 层的计算结果,即不使用最后几层的高阶特征。根据实验分析,选取前半部分的层作为特征提取来源,在保证性能的同时,显著降低了计算量。该设计建立在一个关键观察之上:最有利于下游任务的特征往往并不来自模型的最深层。

2. 缩小隐藏层宽度

在动作专家部分,SmolVLA 将隐藏层宽度设为原始 VLM 维度的 75%,进一步降低了计算资源消耗,同时在多数任务中仍能保持性能。

模型训练方式

动作专家的训练目标是学习从感知状态预测动作序列的能力,采用一种名为Flow Matching的方法进行监督学习。训练过程中,作者对真实动作轨迹加入高斯噪声生成“中间动作”,然后让模型预测从这个中间动作到真实动作的“引导向量场”。这个向量场的预测误差被作为训练损失,优化动作专家模块的参数。

这种训练方式相比传统的动作回归方法,能更好地捕捉多样化的动作分布与复杂的状态-动作映射关系。

社区数据驱动的预训练

为了摆脱对工业级数据的依赖,该研究完全基于社区收集的公开数据进行模型预训练。最终筛选了 481 个任务数据集,总计约 2.3 万条轨迹、超过 1000 万帧图像,涵盖了多种机器人形态、控制方式与环境变化。

在数据处理方面,作者还进行了一些关键的标准化操作:

● 任务指令增强:部分数据中的语言描述模糊甚至缺失,研究中使用一个已有的视觉语言模型自动生成简洁明了的动作目标描述;

● 相机视角统一:由于不同数据集对相机视角的命名混乱,研究者对各视角进行了重新归类与命名,以提升模型训练的一致性。

图2|异步推理机制示意图©️【深蓝AI】编译

异步推理机制

在推理阶段,SmolVLA 支持一种异步控制策略,即:动作预测与动作执行并行进行,而非传统的“预测完再执行”的串行方式。

具体来说,机器人每次收到一段动作序列(chunk)后开始执行,同时并发地进行下一段动作的预测。当当前动作序列接近耗尽时(剩余比例低于阈值 g),系统会主动采集新观测并预测下一段动作,这种机制有效避免了推理过程中的控制停顿,提高了控制频率与任务完成效率。

此外,这种异步设计还支持模型运行在远程服务器上,机器人只需实时传输观测数据与接收控制指令,适合在资源受限的机器人平台上部署。

实验

图3|模拟环境实验结果©️【深蓝AI】编译

如图3所示,在 LIBERO 基准测试中,SmolVLA(参数量仅为 0.45B)在所有四类任务(空间操作、物体操控、目标指令、长时序任务)上都取得了与大模型相当甚至更优的表现,平均成功率达到 87.3%,几乎追平了参数量高达 3.3B 的 π0 模型。

在 Meta-World 中,SmolVLA 同样展现出极强的泛化能力,特别是在复杂任务(Very Hard)上显著优于 TinyVLA、Diffusion Policy 等轻量模型,整体平均成功率为 57.3%,超过了 π0 在非预训练版本下的表现。

图4|真实机器人部署实验结果©️【深蓝AI】编译

在 SO100 机械臂上的多个真实操作任务中,SmolVLA 同样展现出强劲性能:

● 在 Pick-PlaceStacking 和 Sorting 三类任务中,SmolVLA 的平均成功率达到 78.3%,远高于 ACT(48.3%)和 π0(61.7%)。

● 在另一个机器人平台 SO101 上,SmolVLA 在“看过的任务”和“看不到的新任务”中分别达到 90% 和 50% 成功率,表现出初步的跨平台泛化能力。

图5|同步异步推理性能对比实验结果©️【深蓝AI】编译

作者还评估了同步(Sync)与异步(Async)推理策略在真实任务中的实际表现:

● 任务完成时间:异步模式下平均完成时间为 9.7 秒,相比同步模式 快约 30%

● 单位时间完成任务数:在固定 60 秒内,异步策略下机器人完成了 19 次搬运任务,是同步策略的 2 倍以上

● 成功率:二者在最终成功率上接近(约 75~80%),但异步模式的整体效率更高。

总结

该研究提出了一种轻量、高效、开源的视觉-语言-动作模型——SmolVLA。该模型能够在消费级硬件上运行,控制低成本机器人平台,并在多项任务中展现出媲美甚至超越大规模模型的表现。SmolVLA 以精简的架构、节省的训练成本和快速的推理能力,为构建通用具身智能代理提供了可行路径。

在模型设计上,SmolVLA着眼于低资源部署场景,采用剪裁的视觉-语言主干网络与轻量级动作专家组件,并利用社区贡献的数据进行预训练。在系统运行方面,该研究提出的异步推理机制有效提升了机器人在真实环境中的响应速度与动作流畅性,同时降低了对本地计算资源的依赖。

此外,作者进行了系统性的结构分析与消融实验,对注意力机制设计、模型规模、训练目标和动作预测策略等关键要素进行了深入评估。这些研究结果不仅验证了 SmolVLA 的设计有效性,也为未来设计更高效、可扩展的 VLA 系统提供了可借鉴的实践经验。

更重要的是,该研究全面开放了模型、代码、数据与硬件平台,为推动机器人研究的可复现性与社区共享树立了典范。这种开放与轻量的设计理念,有望降低机器人学习的门槛,让更多研究者和开发者能够参与具身智能系统的构建与落地。

### VLA机器人控制中的作用 视觉-语言-动作(Vision-Language-Action, VLA)模型是一种融合了计算机视觉、自然语言处理和机器人学的技术框架,其核心目标是使机器人能够理解人类的语言指令并将其转化为具体的物理行为。VLA 技术的发展显著提升了机器人的灵活性和适应能力。 #### 1. **VLA 的基本功能** VLA 模型通过结合预训练的视觉语言模型 (Visual Language Model, VLM) 和特定于机器人的动作模块,实现了从感知到行动的端到端映射[^2]。这种架构允许机器人接收自然语言输入,并根据上下文生成相应的动作序列。例如,在 Helix 控制技术中,VLA 被用来实现对整个上半身的高度协调控制,包括手腕、躯干、头部甚至单个手指的动作[^1]。 #### 2. **VLA机器人控制中的具体应用** ##### (1)**通用任务执行** 借助 VLA 模型,机器人可以完成多种复杂任务而无需针对每种任务重新设计控制系统。例如,Pi0 使用了一个跨体现的数据集来学习不同类型的灵巧操作技能,并通过添加一个专门的动作专家模块来优化这些技能的表现[^3]。这使得 Pi0 可以轻松应对诸如抓取物体、打开门或堆叠物品等多样化场景。 ##### (2)**基于提示的任务推理** VLA限于简单的命令跟随;它还支持更高别的认知活动,比如基于提示的任务推理。这意味着当用户提供一段描述性的文字说明时,机器人可以根据自己的经验库推断出如何完成这项工作。这种方法特别适合那些未被明确编程过的新型挑战情境。 ##### (3)**动态环境下的实时响应** 由于采用了流匹配算法生成连续平滑的动作轨迹,即使面对不断变化的情况,装备有先进 VLA 系统的设备也能保持稳定高效性能表现。这对于需要快速反应的应用场合尤为重要,如搜救作业或是生产线上的质量检测环节。 #### 3. **未来发展方向与潜力** 随着研究深入和技术进步,预计未来的 VLA 将更加注重以下几个方面: - 提高泛化能力和鲁棒性; - 减少对于大量标注数据依赖程度的同时提升效率; - 推动多模态交互方式创新以便更好地服务于人类社会需求。 ```python def vla_robot_control(task_description): """ Simulates a basic function of how an advanced robot might use VLA to interpret and execute tasks. Args: task_description (str): A natural language string describing the desired action. Returns: str: Feedback indicating success or failure after attempting execution based on input description. """ vl_model_output = process_language_and_vision_data(task_description) continuous_actions = generate_smooth_action_sequence(vl_model_output) try_execute(continuous_actions) return "Task executed successfully!" if verify_outcome() else "Failed to perform requested operation." ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值