用 LeRobot 微调 SmolVLA:从数据准备到评估

可执行流程是:采集与目标机器人结构匹配的 LeRobot 数据,从 `lerobot/smolvla_base` 微调,保存可复现检查点,再在固定条件下进行实机评估。官方建议约50个任务 episode 作为起点,并非所有任务的最低门槛。

截至2026年8月7日,LeRobot 最新正式版本为v0.6.1。`main`分支与已安装版本的命令可能变化,应记录实际版本。示例中的摄像头名称、动作维度、串口和模型路径都必须替换为自己的配置。

采集前先锁定v0.6.1与机器人结构

LeRobot 官方发布页在检查日将v0.6.1标为最新版本。建立独立环境,用`pip install "lerobot[smolvla]==0.6.1"`固定安装已核验的依赖,并保存LeRobot、Python、PyTorch、CUDA、模型与数据修订号。

SmolVLA接收多路摄像头、当前传感和关节状态、自然语言指令,并输出动作块。采集、训练和部署的摄像头键名与顺序、关节次序、单位、绝对或增量动作、控制频率必须一致。LeRobot Dataset v3格式指南可用于核对存储结构。

锁定项目保存的信息不一致的常见表现
LeRobotv0.6.1与锁定文件CLI选项或加载失败
摄像头键名、顺序、分辨率、帧率视角缺失或交换
状态关节顺序、单位、归一化姿态方向错误
动作维度、绝对/增量、周期反向或过大移动
语言指令采集时的任务表达同一场景出现冲突动作

不要迷信50个episode,要统计变化覆盖

v0.6.1 SmolVLA 官方使用文档建议约50个episode作为起点。参考数据把方块位置分成5种,每种采集10次;作者称类似的25次数据表现不佳。这是特定抓放任务的经验,不是通用阈值。

自己的任务应按物体位置、种类、光照、背景、初始关节姿态和失败恢复统计样本。只录成功演示,策略可能不会处理半抓取状态。参数高效微调的通用选择可参阅VLA LoRA与适配器指南,本文只保留SmolVLA专用流程。

数据检查具体方法失败后处理
变化覆盖按位置、物体、光照计数补采缺少组合
视频对齐同步显示所有摄像头流修正键名与时间戳
动作范围绘制各关节范围和突变修正单位或增量转换
指令一致按语义任务归类演示删除矛盾标签
验证划分按物体或场景留出避免随机帧泄漏

从smolvla_base训练并保存完整配置

Hugging Face SmolVLA介绍发布了4.5亿参数模型和`lerobot/smolvla_base`。当前核心命令是`lerobot-train –policy.path=lerobot/smolvla_base –dataset.repo_id=HF_USER/MY_DATASET –batch_size=64 –steps=20000 –output_dir=outputs/train/my_smolvla –policy.device=cuda`,仓库与目录必须替换。

batch 64、20,000步以及单张A100约4小时都是示例,不是保证。GPU型号、图像、数据I/O和冻结设置都会改变时间。显存不足可降低batch,同时记录吞吐、峰值显存、训练损失和验证行为,并为每次实验固定数据修订。

安装在展览空间中的 Franka Emika 协作机械臂
这是 Franka Emika 机械臂的真实照片,并非 SmolVLA 或 LeRobot 微调环境、数据集或训练结果的证据。 来源: Ims. 许可: CC BY-SA 4.0.

根据实机行为选检查点,而不是只看loss

按计划间隔保存检查点,用相同初始姿态、物体范围、时间限制和成功定义测试。验证集应包含未训练的位置、物体或背景。更低的训练loss也可能伴随抓取时机变差或对摄像头偏移更敏感。

按照机器人VLA评估指南记录成功、部分成功、延迟、恢复、人工干预与安全停止。把没识别物体和已接近但过早闭合夹爪分为不同失败,才能决定下一步补数据还是改控制。

首次实机rollout必须低速且可立即停止

官方文档给出`lerobot-rollout`示例,参数包含机器人类型、端口、ID、摄像头字典、任务文本和微调后的`–policy.path`。所有硬件字段都只是占位符,要与训练预处理的键名和采集时的任务语义保持一致。

清空工作区,限制速度、力矩与动作范围,并准备经过测试的物理急停和现场监护。策略输出应经过独立命令限制器。SmolVLA检查点不是安全认证控制器,也不能替代碰撞保护。

汇总《用 LeRobot 微调 SmolVLA:从数据准备到评估》四项关键判断的移动端信息卡
Physical AI Lab 根据文章引用的官方资料和对比表制作的编辑信息卡。 来源: Physical AI Lab. 许可: Owned original.

可部署成果必须包含版本和失败记录

LeRobot 官方仓库持续修改训练、数据和评估接口。将v0.6.1、模型修订、数据提交、解析后的配置、随机种子、硬件和评估协议与检查点一起归档。升级时在新环境重新回归测试。

最终选择应依据目标任务的重复成功、留出条件下的下降、延迟、恢复和安全停止。50个episode与A100时间只能帮助估算预算。数据结构一致、失败可复现、保护层有效,微调结果才具备部署价值。

常见问题

微调SmolVLA必须正好50个episode吗?

不需要。50是官方文档建议的起点,任务变化、演示质量、摄像头数量和机器人复杂度都会改变所需数据量。

训练20,000步就可以结束吗?

不能仅凭步数判断。应在固定实机测试中比较检查点,并同时查看成功、延迟、恢复和安全停止。

smolvla_base不微调能直接部署吗?

官方文档建议用自己的数据微调以适配具体环境。摄像头、状态或动作结构不同的机器人不能直接连接。

已核验的官方资料

2026-08-07