SmolVLA:让机器人更聪明、更便宜的视觉-语言-动作模型
无需昂贵硬件,单张消费级显卡即可训练,部署在CPU也能流畅运行——这就是为普惠机器人而生的SmolVLA。
为什么机器人需要“多模态大脑”?
想象你指挥机器人:“请拿起桌上的红色杯子,倒满水后递给我。” 这对人类很简单,但对机器人却需要同时理解:
- 
视觉(识别杯子位置)  - 
语言(解析“倒满水”的含义)  - 
动作(规划抓取和倾倒的关节运动)  
传统方法需分别训练视觉识别、语言理解、动作控制系统,成本高且难以协同。而视觉-语言-动作模型(Vision-Language-Action Models, VLAs) 就像给机器人装上了“多模态大脑”,能端到端处理这类复杂指令。
但现有VLAs(如RT-2-X、OpenVLA)动辄数十亿参数,训练需数百张GPU,部署依赖高端计算卡,严重阻碍普及。SmolVLA的诞生,正是为了解决这个核心矛盾:在保持高性能的同时,实现极致的效率与可及性。
一、SmolVLA是什么?轻量级机器人大脑的三大突破
突破1:瘦身90%的模型架构
| 设计策略 | 技术实现 | 效果 | 
|---|---|---|
| 精简视觉编码 | 单帧仅保留64个视觉Token,禁用图像分块处理 | 减少80%视觉计算量 | 
| 层跳过(Layer Skipping) | 仅使用VLM前半层输出(如32层中用前16层) | 推理速度提升2倍 | 
| 交错注意力机制 | 动作专家中交替使用交叉注意力(CA)与自注意力(SA) | 成功率↑12%,动作更平滑 | 
| 压缩动作专家 | 隐藏层维度降至VLM的0.75倍(d→0.75d) | 参数量减少25% | 
最终成果:仅4.5亿参数(同类模型1/10),训练内存降低6倍,可在RTX 3090单卡完成训练。
突破2:社区众包数据驱动
传统VLAs依赖百万级工业数据集,而SmolVLA创新性地采用开源社区收集的小型数据集:
数据集统计:
  来源平台:Hugging Face
  数据集数量:481个
  任务轨迹:22.9K条
  图像帧数:10.6M
这些数据由全球研究者通过低成本机器人(如SO100机械臂)采集,覆盖家庭、实验室等真实场景,包含噪声演示和物体交互,增强了泛化能力。
数据标准化关键技术:
- 
VLM自动标注:用qwen2.5-VL模型生成简洁任务描述(如将”Hold”修正为”Pick up the cube”)  - 
视角统一:将杂乱相机命名(如 images.laptop)规范为OBS_IMAGE_1(顶部视角)、OBS_IMAGE_2(腕部视角)等 
突破3:异步推理引擎
传统同步推理的瓶颈:执行完整个动作块(如50步)才能处理新观测 → 机器人出现“盲操作期”。
SmolVLA的异步方案:
graph LR
    A[机器人客户端] -->|发送观测| B[策略服务器]
    B -->|返回动作块| A
    A --> C[执行动作]
    B --> D[预测下个动作块]
    C & D --> E[并行运行]
核心算法控制逻辑:
- 
设置队列阈值 g(建议0.7):当剩余动作占比<30%时触发新预测 - 
关节空间滤波:丢弃相似度>ε的重复观测  - 
动作块聚合:重叠部分加权融合,避免抖动  
实测优势(Pick-Place任务):
- 
任务耗时:13.75秒(同步)→ 9.7秒(异步)  - 
1分钟内完成次数:9次 → 19次  
二、性能实测:小模型如何战胜大块头?
仿真环境测试(LIBERO & Meta-World)
| 模型 | 参数量 | LIBERO平均成功率 | Meta-World平均成功率 | 
|---|---|---|---|
| Diffusion Policy | – | 72.4% | 10.5% | 
| OpenVLA | 7B | 76.5% | – | 
| π₀ (Paligemma-3B) | 3.3B | 71.8% | 50.5% | 
| SmolVLA (本文) | 0.45B | 87.3% | 57.3% | 
关键发现:SmolVLA在未使用机器人专用预训练数据下,性能超越工业级π₀模型。
真实机器人测试(SO100/SO101机械臂)
任务设计:
1. 抓放立方体 (Pick-Place) 
   - 得分:0.5(抓取成功)+ 0.5(放入目标盒)
2. 立方体堆叠 (Stacking) 
   - 得分:0.5(抓起顶部立方体)+ 0.5(放置到底部立方体上)
3. 颜色分拣 (Sorting) 
   - 得分:0.25×4(完成两个立方体-盒子匹配)
4. 乐高块抓放 (Pick-Place-Lego) 
   - 挑战透明盒与小物体精准操作
结果对比(SO100多任务训练):
| 策略 | Pick-Place | Stacking | Sorting | 平均 | 
|---|---|---|---|---|
| ACT | 70% | 50% | 25% | 48.3% | 
| π₀ (3.5B) | 100% | 40% | 45% | 61.7% | 
| SmolVLA | 75% | 90% | 70% | 78.3% | 
泛化能力验证(SO101新机器人):
- 
分布内数据:90%成功率(ACT仅70%)  - 
分布外数据:50%成功率(ACT仅40%)  
三、技术细节揭秘:为什么SmolVLA如此高效?
核心架构双模块设计
graph TB
    A[输入] --> B[紧凑VLM]
    A -->|语言指令| B
    A -->|RGB图像| B
    A -->|传感器状态| B
    B --> C[动作专家]
    C --> D[输出动作块 a₁...aₙ]
1. 视觉语言模块(VLM)
- 
骨干网络:SmolVLM-2(专为多图像/视频优化)  - 
视觉编码:SigLIP 提取特征 → SmoILM2 语言解码器  - 
状态处理:传感器数据线性投影为单Token  
2. 动作专家(Action Expert)
- 
核心:流匹配(Flow Matching) 技术  - 
目标函数: ℒᵀ(θ) = 𝔼[||vθ(Aₜᵀ, oₜ) - u(Aₜᵀ|Aₜ)||²] 其中 Aₜᵀ = τAₜ + (1-τ)ε, ε~𝒩(0,I) - 
动态:预测噪声动作到真实动作的向量场  
关键消融实验结论
| 设计选择 | LIBERO成功率 | 结论 | 
|---|---|---|
| 纯交叉注意力(CA) | 79.0% | 依赖VLM特征足够有效 | 
| 纯自注意力(SA) | 74.5% | 动作连贯性差 | 
| CA+SA交错(本文) | 85.5% | 互补优势↑ | 
| 双向注意力 | 67.5% | 未来动作泄露降低性能 | 
| 因果注意力(本文) | 74.5% | 屏蔽未来信息更鲁棒 | 
| 回归损失(L1) | <80% | 不适合多模态动作分布 | 
| 流匹配损失(本文) | >85% | 显式建模动作概率流↑ | 
四、快速实践指南:用SmolVLA控制真实机器人
环境搭建(基于LeRobot框架)
# 安装依赖
pip install lerobot torch accelerate
# 加载预训练模型(Hugging Face Hub)
from lerobot.models import SmolVLA
model = SmolVLA.from_pretrained("huggingface/smolvla-base")
# 异步推理配置
config = {
    "chunk_size": 50,     # 动作块长度
    "threshold_g": 0.7,   # 队列触发阈值
    "epsilon": 0.05       # 观测相似度阈值
}
部署优化建议
- 
硬件选择
- 
训练:RTX 3090 (24GB) 单卡足够  - 
部署:Intel i7 + 32GB RAM(CPU模式)或 Jetson Orin(边缘设备)  
 - 
 - 
动作块调参经验
最佳值域验证: chunk_size ∈ [10, 50] # 过小增加延迟,过大降低响应性 threshold_g = 0.7 # 平衡计算负载与响应速度 - 
多相机配置
遵循命名规范可即插即用:cameras: OBS_IMAGE_1: top_view # 顶部视角 OBS_IMAGE_2: wrist_view # 腕部视角 OBS_IMAGE_3: side_view # 侧视视角 
五、局限与未来方向
当前限制
- **数据多样性**:预训练仅用SO100机器人数据,跨平台泛化待提升
- **任务复杂度**:擅长短视界任务(<50步),长链条规划(如“做饭”)需分层策略
- **VLM适配性**:骨干网络预训练侧重OCR,需探索机器人专属预训练
演进路线
- 
跨机器人联合训练:融合工业机械臂、人形机器人数据  - 
多模态联合预训练:结合网络图像/视频数据增强场景理解  - 
强化学习融合:模仿学习+RL解决长视界复杂任务  - 
3D感知扩展:点云/NeRF替代RGB图像  
六、资源开放:立即体验SmolVLA
开源全家桶:
- 
代码库: github.com/huggingface/Lerobot - 
模型权重: huggingface.co/smolvla - 
数据集: huggingface.co/lerobot/svla_so100_pickplace等4个真实任务数据集 - 
机器人设计: github.com/TheRobotStudio/SO-ARM100(3D打印文件) 
所有实验可完全复现,预训练仅需30K GPU小时(相当于RTX 3090单卡3.4年)。
问答:关于SmolVLA的常见疑问
Q1:消费级GPU具体指什么型号?
A:论文使用RTX 3090(24GB显存)完成所有训练。理论上RTX 4080/4090或A5000等均可满足。
Q2:异步推理是否增加通信延迟?
A:本地部署时延迟可忽略(<1ms)。网络部署需满足:
  通信延迟 < 动作块时长×阈值_g  
  例如:chunk_size=50, Δt=0.033s, g=0.7 → 允许延迟≤1.155s
Q3:如何适配新的机器人?
A:只需提供:
- 
相机标定参数(内参/外参)  - 
URDF模型文件(描述关节结构)  - 
50条演示轨迹(支持真实或仿真数据)  
Q4:与LLM+视觉描述符方案比有何优势?
A:传统方案分阶段执行(视觉识别→LLM推理→动作规划),错误会累积。SmolVLA端到端联合优化,抗干扰更强(实测噪声场景成功率↑15%)。
在机器人普惠化的浪潮中,SmolVLA用 “小而强”的设计哲学 证明:高性能机器人模型不必依赖天价算力。正如论文作者所言:
“真正的开放性,不仅在于公开代码,更在于让每个人都能负担得起智能机器人的未来。”
