每周机器人学六月 #1 - SmolVLA的发现与思考
为了保持对我个人项目的积极性和持续性,我决定开始每周写作的习惯——只是简单总结我所做、所学以及未来的方向。这些文章将包含我的想法、创意、实验、成功和失败。即使只是10分钟的论文阅读或快速的机器人远程操作测试,我也会分享任何能推动我前进并激发好奇心的内容。
如果您有兴趣关注,欢迎查看我的Twitter和Hugging Face主页。
第一天 - 6月3日:开篇
今天是本系列的第一篇文章,恰逢机器人/机器学习领域的一些激动人心的消息。所以在这第一篇文章中,我将简要谈谈我目前的想法,并深入探讨一个我计划尝试的引人入胜的新发布。
a) SmolVLA发布:初步印象和计划
真是开始这个博客的完美一天!LeRobot团队刚刚发布了SmolVLA,我已经知道它将在接下来的几天里占据我大量的时间。
简单来说,SmolVLA是基于他们之前的SmolVLM2模型构建的。我不会深入探讨完整的架构(他们的博客文章在这方面做得很好),但这里是SmolVLA如此有趣的快速总结:结合视觉和语言的机器人任务VLA模型通常非常庞大,需要大量数据和计算。这限制了实际能够使用它们的人。SmolVLA则不同:它小巧、高效、易于访问,可以在消费级GPU上训练,甚至部署在CPU上。
吸引我注意的关键设计选择
- 层跳过:SmolVLA不使用VLM的最后一层,而是从中间层(例如,一半位置)提取特征。这在不牺牲下游性能的情况下提高了推理速度。
- 视觉标记减少:高分辨率图像意味着高计算成本。SmolVLA跳过图像分块(原始SmolVLM2中使用)并仅对全局图像应用像素混洗,将每帧的视觉标记减少到仅64个。效率非常高。
- 交叉注意力与自注意力交错:模型在交叉注意力(动作作为查询,图像-文本特征作为键值)和因果自注意力(查询与特征之间,带有因果掩码以避免未来动作看到过去动作)之间交替。
该架构有两个核心部分:一个用于感知的预训练视觉-语言模型(SmolVLM2),以及一个根据该感知进行行动的轻量级行动专家(1亿参数)。SmolVLM2本身使用SigLIP进行视觉处理,SmolLM2进行语言解码。
代码和预训练权重都已可用,我真的很想进一步探索模型的能力,特别是在泛化能力方面,例如在新场景中部署,处理未见过的干扰物或新环境条件。检查模型如何关注物体会很有趣(可以使用类似于Ville Kuosmanen在ACT上使用的注意力图可视化工具,同时也要遵循我的上一篇论文的探索)。然后,我还想探索模型在更复杂任务上的表现如何。
最后关于SmolVLA,它对我来说更重要的原因是:该模型是使用LeRobot社区数据集训练的,更具体地说,是使用我曾帮助构建的精选数据集子集(请查看这篇最新文章)。这自然将我带到我未来想要探索的第二个领域。
b) 自动数据标注
LeRobot社区数据集持续快速增长,这令人兴奋,但也带来了挑战。随着大量数据的收集,仔细策划和选择对训练真正有用的样本至关重要。正如LeRobot数据集博客文章和SmolVLA论文中所讨论的,有效的策划是一个主要的障碍:手动操作需要大量时间,并且无法适应社区生成数据呈指数级增长的趋势。
为了解决这个问题,建立自动化标注和过滤流程变得不仅有帮助,而且是必要的。社区和大规模机器人数据集中最大的问题之一是缺乏密集、高质量的标注。许多样本标注不佳、标注不准确,或完全没有标注。
得益于视觉-语言模型(VLM)的最新进展,特别是那些能够处理视频的模型,现在有了一条可行的路径:使用强大的多模态模型通过提示自动生成标注。这正是SmolVLA论文中使用Qwen2.5-VL-3B-Instruct模型所探索的内容。
就我而言,我也开始尝试这个想法。我测试了Gemma 3、LLaVA 1.5、两种SmolVLM变体以及几种Qwen模型。早期结果令人鼓舞,但肯定有一个学习曲线——以及许多值得学习的失败。
我计划很快写一篇更详细的文章,总结我的实验,哪些有效,哪些无效,以及哪些方法看起来最可靠。如果这听起来有趣,请随意留言,我很乐意听取您对此主题的看法或经验。
总结
这便是第一次每日更新!以SmolVLA的发布作为本系列的开篇感觉再完美不过了。从模型的可访问性,到我曾贡献的数据集工作,再到机器人领域自动化的大力推进,未来几天有很多令我兴奋的内容可以深入探索。
随着我继续探索SmolVLA的实际性能并完善我的标注工作流程,我将定期分享见解、实验和思考——无论是小小的突破,还是教会我宝贵经验的失败测试。
感谢您的阅读,如果您也在类似的旅程中(或只是对机器人、VLM或个人项目感兴趣),欢迎与我联系!我随时乐意进行讨论和协作(即使是科学贡献,我仍是一名博士生 :) )