LeRobot v0.6.0 发布,补齐机器人学习的想象、评测与改进闭环
LeRobot v0.6.0: Imagine, Evaluate, Improve
LeRobot v0.6.0 发布,用世界模型策略、奖励模型 API、部署 CLI 和六项仿真基准补齐机器人学习闭环。
LeRobot 这次把会想象未来的策略、成功奖励和失败修正采集收进同一条开源机器人学习闭环,方便对照现有的训练评测与部署流程。
这次新版本的重点是闭合机器人学习闭环:在行动前想象未来的策略、告诉你机器人何时成功的奖励模型、把失败转化为训练数据的部署 CLI,以及六项用于衡量这一切的新仿真基准。它还带来了深度感知、由 VLM 驱动的数据集标注、自定义视频编码、基于 HF Jobs 的云端训练,以及精简得多的安装。
摘要
LeRobot v0.6.0 引入了学习想象未来的世界模型策略(VLA-JEPA、FastWAM、LingBot-VA),一批新的 VLA(GR00T N1.7、MolmoAct2、EO-1、EVO1、Multitask DiT),以及新的奖励模型 API(Robometer、TOPReward)。它发布了统一于 lerobot-eval 之下的六项新仿真基准、带有 DAgger 式人在回路纠正的 lerobot-rollout CLI、FSDP 训练,以及基于 HF Jobs 的云端训练。数据集获得了深度支持、自动语言标注流水线、自定义视频编码,以及最高 2 倍的数据加载速度,而这一切都建立在更精简的安装之上。
目录
- LeRobot v0.6.0: Imagine, Evaluate, Improve
世界模型:会想象的策略
机器人领域正在追问一个大问题:世界模型真的有助于机器人策略吗?v0.6.0 为 LeRobot 带来了三项策略来帮助回答这个问题。每一项都在训练过程中学习想象未来,并各自采取不同路径,让这种想象保持低成本。
VLA-JEPA
VLA-JEPA 让一个紧凑的 VLA(基于 Qwen3-VL-2B 构建)在学习行动的同时于潜空间中预测未来:训练期间,一个 JEPA 世界模型必须根据模型自身的动作来预判即将到来的帧。其巧妙之处在于,世界模型在推理时会消失,因此你能以零额外推理成本获得世界模型监督。Hub 上提供了三个即用型检查点,其中包括一个经过 DROID 预训练、可供微调的基座模型:
lerobot-train \
--policy.path=lerobot/VLA-JEPA-Pretrain \
--dataset.repo_id=${HF_USER}/my_dataset \
--policy.repo_id=${HF_USER}/my_finetuned_policy
查看 VLA-JEPA 文档和论文以了解更多。
LingBot-VA
LingBot-VA 更进一步:这是一个自回归的视频-动作模型,逐块同时预测未来的视频与动作,并将真实观测反馈回去,以使其想象保持贴近现实。你甚至可以保存机器人所想象的内容(--policy.save_predicted_video=true),并与实际发生的情况进行比较。推理可在单块 24–32 GB GPU 上运行。查看文档和论文以了解技术细节。
FastWAM
FastWAM 在其论文标题中提出了这个问题:世界动作模型是否需要测试时的未来想象?它将一个约 5B 的视频生成专家与一个紧凑的动作专家组合在同一个网络中,因此模型真正学会了梦见自己的 rollout。推理时它完全跳过做梦,直接对动作块去噪。可从 lerobot/fastwam_base 进行微调,并在文档中阅读更多内容。
VLA:模型动物园持续壮大
GR00T N1.7
我们将 NVIDIA GR00T 集成升级到 GR00T N1.7,这是 NVIDIA 跨具身基础模型的最新开放一代。N1.7 用 Cosmos-Reason2-2B(基于 Qwen3-VL 构建)替换了先前的 VLM,并由其馈入 flow-matching 动作头;我们的集成已对照 NVIDIA 原始的 Isaac-GR00T 实现进行了对等测试:相同输入,相同输出。Flash-attention 现在是可选的,因此 pip install 'lerobot[groot]' 可以直接使用,你也可以直接加载 NVIDIA 已发布的检查点。
GR00T N1.7 在 LeRobot 中取代了 N1.5。如果你需要 N1.5,请固定
lerobot==0.5.1。
MolmoAct2
MolmoAct2 是 Allen Institute for AI 的视觉-语言-动作模型,现已移植到 LeRobot,并覆盖完整生命周期:微调(全量或 LoRA)、评估以及真实机器人部署。内置校准校正的现成检查点意味着你可以在 SO-100/101 上零样本运行它:
lerobot-rollout \
--policy.path=lerobot/MolmoAct2-SO100_101-LeRobot \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--robot.cameras='{cam0: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, cam1: {type: opencv, index_or_path: 2, width: 640, height: 480, fps: 30}}' \
--task="pick up the red cube" --duration=30
推理在 bf16 下约占 12 GB,LoRA 微调可在单块 24 GB GPU 上完成。完整部署指南见 MolmoAct2 文档。
EO-1
EO-1 是一个在交错的视觉-文本-动作数据上进行上游预训练的 VLA,现已加入 LeRobot:以 Qwen2.5-VL-3B 为骨干,配有 flow-matching 动作头,由该论文作者之一贡献。使用标准的 lerobot-train 工作流,借助 --policy.type=eo1 进行训练。详情见文档和论文。
Multitask DiT
Multitask Diffusion Transformer 策略将 TRI Large Behavior Models 的方案引入 LeRobot:一个约 450M 参数的扩散 Transformer,以 CLIP 视觉和语言嵌入为条件,因此一个模型就能学习多项通过自然语言选择的任务。它同时支持扩散和 flow-matching 目标,而且小到你可以自行训练。参见文档。
EVO1
VLA 不必很大。EVO1 将其策略压缩到 0.77B 参数,采用 InternVL3-1B 骨干和 flow-matching 动作头,小到足以在普通 GPU 上微调并实时运行。它开箱即支持两阶段微调和 Real-Time Chunking。参见 EVO1 文档和论文。
奖励模型:知道你的机器人何时成功
成功检测与进度估计是机器人学习闭环中缺失的环节,而 v0.6.0 为它们提供了归宿。LeRobot 现在拥有统一的奖励模型 API(lerobot.rewards),与策略 API 相对应,一个接口背后有四个奖励模型——HIL-SERL 奖励分类器、SARM,以及两项新增:
Robometer
Robometer 是一个预训练的通用奖励模型:将 lerobot/Robometer-4B 指向任意 LeRobot 数据集,它便能根据原始视频和语言指令对任务进度与成功情况进行评分,无需针对特定任务进行训练。它基于 Qwen3-VL-4B 构建,通过对包含超过一百万条机器人轨迹的数据集进行轨迹比较训练而成(RSS 2026 论文)。
TOPReward
TOPReward 实现完全零样本:根本不需要奖励权重。它封装一个现成的 VLM(Qwen3-VL),并读取在给定轨迹视频和任务指令时 token "True" 的对数概率。任何能力足够的 VLM 都能成为奖励函数。
两者都附带标注脚本,可将逐帧进度曲线写入你的数据集,用于奖励感知行为克隆(RA-BC)、数据集质量检查以及进度叠加视频。请查看 Robometer 和 TOPReward 文档。
数据集:加载更快,数据更丰富
你的编解码器,你的规则
录制不再局限于单一硬编码编解码器。新的 --dataset.rgb_encoder.* 选项开放了完整的编码配置(编解码器、质量、像素格式、GOP、预设),而 vcodec=auto 会先探测 NVENC、VideoToolbox、VAAPI 和 QSV 等硬件编码器,再回退到默认的软件 AV1 编码器。对于现有数据集,一条命令即可全部重新编码:
lerobot-edit-dataset \
--repo_id ${HF_USER}/my_dataset \
--operation.type reencode_videos \
--operation.rgb_encoder.vcodec h264 \
--operation.rgb_encoder.crf 23
完整细节见 视频编码文档。
深度支持,端到端
接入 Intel RealSense,设置 use_depth: true,LeRobot 即可端到端录制深度图:以毫米为单位采集,与 RGB 相机一同压缩为紧凑的 12 位深度视频流,并在训练时解码回物理单位。深度在录制期间以及 lerobot-dataset-viz 中实时渲染,并适用于 SO-100/101、Koch、OpenArm、reBot、Unitree G1 等。
大规模语言标注
你的数据集不再是每个回合只有一条任务字符串。LeRobot 数据集现在原生存储丰富的语言标注(带时间戳的子任务、计划、记忆、纠正、语音以及每相机 VQA 对),新的 lerobot-annotate CLI 会使用观看你回合的 VLM 自动填充这些标注:
lerobot-annotate \
--repo_id=${HF_USER}/my_dataset \
--new_repo_id=${HF_USER}/my_dataset_annotated \
--vlm.model_id=Qwen/Qwen2.5-VL-7B-Instruct \
--push_to_hub=true
随后,YAML 配方层会在采样时将这些标注渲染为对话式训练消息:这正是未来长时程、会说话的机器人策略将要训练的数据。可用 HF Jobs 进行扩展,并阅读 标注流水线文档 了解更多。
数据加载速度最高提升 2 倍
视频数据集上的训练现在开箱即可最高提速约 2 倍:多相机帧并行解码,dataloader worker 传输紧凑的 uint8 帧(进程间内存降至原来的 1/4),持久化 worker 在各个 epoch 之间保持解码器缓存。加载大型数据集的子集(episodes=[...])从数分钟缩短到数毫秒(在我们的基准测试中从 275 秒降至 0.06 秒)。采样现在也是确定性且可恢复的,因此中断的训练可以精确到样本地重新开始。
基准测试:一个 CLI 评估全部
v0.5.0 确立了 LeRobot 作为 VLA 评估中心的定位;v0.6.0 则将其真正落地,新增六个仿真基准,全部可通过同一个 lerobot-eval CLI 运行,每个都配有文档页面、Docker 镜像,以及在 CI 中经过冒烟测试的 SmolVLA 基线检查点:
- LIBERO-plus 沿七个维度,用大约 10,000 个扰动后的 LIBERO 变体对 VLA 进行压力测试,涵盖从光照和相机视角到改写后的指令。它会告诉你策略何时失效。
- RoboTwin 2.0 在 SAPIEN 上覆盖 50 项双臂操作任务,并采用大量域随机化,同时在 Hub 上附带 超过 100k 条可直接用于训练的轨迹。
- RoboCasa365 在移动操作臂上涵盖 2,500 个程序化生成厨房中的 365 项厨房任务,是我们产品线中任务覆盖面最大的。
- RoboCerebra 通过在语言锚定的中间指令下串联 3 到 6 个子目标的回合来评估长时程行为,并附带一个包含 6,660 个回合的数据集。
- RoboMME 是一场记忆考试:你的策略能否统计重复次数、追踪隐藏物体,并模仿所演示的流程?涵盖 4 个记忆套件中的 16 项任务。
- VLABench 测试操作中的知识与推理,从物理问题到端到端冲泡咖啡之类的复合任务。
lerobot-eval \
--policy.path=lerobot/smolvla_robotwin \
--env.type=robotwin \
--env.task=beat_block_hammer \
--eval.n_episodes=100 --eval.batch_size=1
仿真器后端需要特定的系统依赖,并有各自的安装步骤;每个文档页面都有确切的安装方法,而且每个基准都提供现成的 Docker 镜像,方便你跳过环境配置。
再加上 LIBERO、Meta-World 和 NVIDIA IsaacLab-Arena,同一体系下共有九个基准系列,新的 添加新基准指南 确切说明了如何接入你自己的基准。评测也更快了:并行评测现在默认使用异步向量化环境,基准测试显示最高可快 2 倍。
训练与推理
lerobot-rollout:部署有了自己的 CLI
过去,部署一个策略只是叠在 lerobot-record 之上的权宜做法。新的 lerobot-rollout CLI 让部署成为独立的工作流,支持可插拔的策略和推理后端(包括适用于速度较慢的兼容 VLA 的 Real-Time Chunking)。base 策略只是运行该策略。sentry 持续录制,轮换各个回合,并在进行过程中上传到 Hub。highlight 维护一个环形缓冲区,并在你按下按键时保存最近 N 秒,因此有趣的瞬间不会丢失。episodic 对应经典的回合/重置录制工作流。而 dagger 则把部署变成数据采集。
使用 DAgger 策略时,你观察自己的策略运行,在它一出错时按下按键(或 USB 脚踏板),用主臂接管以录制纠正,然后再交还控制权。在你接管之前,带驱动的主臂会被驱动到从臂的位姿,因此交接过程无顿挫。每个纠正帧都会被标记上 intervention 标志,由此得到的数据集即可用于下一次微调:
lerobot-rollout \
--strategy.type=dagger \
--policy.path=${HF_USER}/my_policy \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--dataset.repo_id=${HF_USER}/dagger_corrections \
--dataset.single_task="Grasp the block"
部署、收集纠正、微调、重复:机器人学习的飞轮现在就是一个 CLI 参数。请阅读 部署文档。
FSDP:训练比你的 GPU 更大的模型
机器人基础模型正在超出单块 GPU 的容量。LeRobot 训练现在通过 Accelerate 支持 FSDP(完全分片数据并行):参数、梯度和优化器状态会在各 GPU 之间分片,检查点会被重新汇总为一个普通的单文件 model.safetensors,可以像任何其他策略一样加载。你甚至可以在不同数量的 GPU 上恢复一次 FSDP 运行。参见 多 GPU 训练文档。
使用 HF Jobs 进行云端训练
没有 GPU?没问题。现在只需添加一个参数,完全相同的 lerobot-train 命令就能在云端运行:
lerobot-train \
--dataset.repo_id=${HF_USER}/so101_test \
--policy.type=act \
--policy.repo_id=${HF_USER}/my_policy \
--job.target=a10g-small
LeRobot 会在需要时将你的本地数据集推送到私有 Hub 仓库,提交任务,将日志流式输出到你的终端,并在结束时将训练好的策略推送到 Hub。借助 --job.target,可从 T4 到 8x H200 任意选择(计算按量计费)。查看文档
代码库:更精简、更干净
pip install lerobot现在真正变得轻量,基础依赖大约减少了 40%。按功能划分的 extras([training]、[core_scripts]、[evaluation]……)覆盖其余部分,缺失依赖的错误会准确告诉你该添加哪个 extra。如果只使用 LeRobot 数据集,就不再需要安装硬件相关依赖 ;)- 受支持的 PyTorch 升级至 2.7–2.11,Linux 上的
uv安装开箱即固定使用 CUDA 12.8 wheels。--policy.dtype=bfloat16现在通过 Accelerate 驱动真正的混合精度训练。 - 已提交的
uv.lock是 CI、Docker 和开发的权威依赖规范,文档为每一步都提供了uv安装路径,细到只需一个 flag 即可选定 CUDA wheel。 --display_mode=foxglove将遥操作、录制和 rollout 流式传输到 Foxglove,这是机器人领域许多人已经在用的可视化工具。它适用于远程环境,并且lerobot-dataset-viz获得了可拖动进度的数据集回放。- 可通过 pip 安装的
lerobot_env_*软件包现在会自行注册其环境。插件系统覆盖全部五种组件类型:机器人、相机、遥操作器、策略和环境。 - 录制期间的键盘控制现在可在 Wayland、SSH、无头设备上运行,也可在无需辅助功能权限的 macOS 上运行。
请查看 发行说明,了解完整列表以及破坏性变更的迁移指引。
社区与生态
- LeLab 将完整的 LeRobot 工作流(校准、遥操作、录制、本地或在 HF Jobs 上训练、部署)放进浏览器界面,无需 CLI。目前支持 SO-ARM101。试试看!
- Isaac Teleop 让你通过 CloudXR/OpenXR,借助 NVIDIA 的 Isaac Teleop 技术栈,用 VR 控制器遥操作 SO-101,这是与 NVIDIA 团队合作的成果。请参阅 文档。
- 新的 计算硬件指南回答了每位新手都会问的两个问题:我需要哪款 GPU,训练要多久?它给出了各策略系列实测的显存范围,以及从 RTX 4090 到 4x H100 的参考训练时间。
- 重写后的 添加策略指南展示了如何交付你自己的策略:可放入代码树内,或作为插件包发布,无需提交 PR。
结语
除这些重点功能外,v0.6.0 还包含数百项错误修复、文档改进,以及贯穿代码库的体验升级,从更智能的默认值到更可靠的 CI。
我们要向社区中的每一位致以诚挚感谢。本次发布包含来自学术界、产业界和爱好者团队的工作,他们选择 LeRobot 作为模型和基准的归宿。每一份 PR 和错误报告都在推动开源机器人技术向前发展。
敬请期待更多内容 🤗 从这里开始! – LeRobot 团队 ❤️
来源:Hugging Face Blog · huggingface.co






