Hugging Face 发布了机器人训练工具 LeRobot v0.7.0。机器人开发者无需完整下载海量数据即可用于训练,也可在远程服务器而非机器人旁的小型计算机上运行大模型。从安装、训练、推理到电机连接均有变化,现有用户的迁移工作也随之增加。
1. 分散训练大模型,减轻保存负担
新训练体系支持 FSDP2 和 HSDP。它将模型通过训练调整的数值,即权重等,分配到多个 GPU 上,以训练难以放入单张 GPU 显存的模型。除此之外,分布式检查点负责分散保存训练状态,并在多个 GPU 上重新加载。
据 LeRobot 团队的分布式训练公告,在一台配备 8 张 H200 GPU 的服务器上训练 60 亿参数的 FastWAM 时,分布式检查点保存速度达到原来的 3 倍。参数是模型学习的数值。在相同条件下,恢复训练时每张 GPU 的峰值显存占用从 143GB 降至 42GB。按这两个值计算,降幅约为 71%,说明除分散训练时的显存占用外,保存与恢复的负担也有所减轻。
表:恢复训练时每张 GPU 的峰值显存占用
条件:LeRobot 团队公告,单台 8×H200 服务器,6B FastWAM,引入分布式检查点前后
单位:GB
| 恢复路径 | 峰值显存占用 |
|---|---|
| 原有方式 | 143 |
| 分布式检查点 | 42 |
实验记录工具由 Weights & Biases 换为 Trackio。监控本地运行无需注册或登录,还可记录包含运行命令和错误的控制台输出。向跟踪服务上传检查点作为 artifact,即保存实验结果的文件集合,这一行为默认关闭。
2. 数据读取仅获取所需视频片段
新的流式读取方式按需获取内容,仅从 Hub 或存储桶读取训练所需的视频字节区间。据 LeRobot 团队的流式读取公告,使用四个数据读取工作进程时,每秒样本数达到原来的 2.1~2.5 倍。每个完整训练轮次,即遍历全部数据一次的过程中,每帧恰好访问一次,恢复时也能重现顺序。
表:流式数据加载吞吐量变化
条件:LeRobot 团队公告,新流式读取器使用 4 个 DataLoader 工作进程,以样本/秒计
单位:相对原有方式的倍数
| 测量对象 | 原值 | 新值 |
|---|---|---|
| 每秒样本数 | 未提供绝对值 | 2.1–2.5x |
存储在 LanceDB 中的数据集无需重新编码原始 MP4 即可读取。以下是博客中的数据集加载示例。
from lerobot.datasets import LeRobotDataset
dataset = LeRobotDataset("lance-format/pusht-lance")对训练图像进行变换的数据增强,即通过变换扩充训练数据的操作,也可在 GPU 上处理。据 LeRobot 团队的GPU 增强公告,将其用于机器人动作学习模型 ACT 时,H100 上的训练速度达到原来的 2.8 倍,A100 上则为 3.3 倍。
团队表示,Hub 上公开的 LeRobot 格式物理人工智能数据已接近 300TB。在难以将全部数据存入本地磁盘的环境中,这也使流式读取有了更广的应用空间。
3. 机器人留在现场,模型在服务器运行
使用策略服务器时,摄像头、电机和录制可在机器人附近处理,而经过训练的动作模型,即策略,可在远程 GPU 服务器运行。发送表示机器人状态的观测输入和指令后,服务器会返回下一组动作。机器人执行已收到的动作时,同时进行下一次推理,即用训练好的模型计算结果,让计算与运动重叠。新动作组会对齐剩余动作轨迹,丢弃已过时的步骤,并混合重叠目标以平滑衔接。
交互式运行允许在保持机器人连接和策略权重的同时更改指令,或针对机器人看到的内容提问。它也支持给定目标后由策略选择具体任务。提问和自动驾驶需要可生成文本的策略或外部规划器。外部规划器通过 OpenAI 兼容 API 连接同时处理图像与文字的视觉语言模型,以回答问题并选择下一步任务。
远程运行可减轻机器人旁计算机存放模型的内存负担。但开发者也需要运维推理服务器和网络,并根据延迟,即响应返回所需的时间,调整运行方式。传输使用 Zenoh,它提供用于安全连接的 TLS 加密和访问控制设置。
4. 仿真器与电机连接也统一到公共基础上
过去,每个用于性能比较的基准测试任务都要在同一环境中安装独立仿真器,如今已整合为公共运行基础。仿真器可在 LeRobot 进程内运行,也可作为独立 Docker 镜像中的服务器启动。无需真实机器人,也能测试运行、录制和遥操作流程。
评估结果会同时显示成功次数与 95% Wilson 置信区间,即反映成功率不确定性的范围。这样,在查看少量试验得到的成功率时,也能同时了解结果的不确定性。
Feetech 和 Dynamixel 电机共享同一套串行总线实现,即设备依次通信的连接方式。安装时使用基于 rustypot 的实现,替代厂商软件开发工具包,同时保留现有校准文件,即用于调整电机基准值的流程文件。电机工作模式改为通过直接向总线发送命令来设置。
5. 升级先检查安装与训练恢复路径
据发行说明的安装部分,Linux 上的 PyTorch 和 TorchVision 改用 CUDA 13 构建版本,要求 NVIDIA 驱动为 580.65 或更高版本。对于使用旧驱动的用户,说明提供了先从 CUDA 12 索引安装 PyTorch 的路径。
据发行说明的训练部分,原有 FSDP1 路径已被新分布式训练体系替代,旧配置需要迁移到新选项。在 v0.6.x 及以前保存的 FSDP 检查点可加载权重,但无法原样恢复训练状态。Accelerate 的 YAML 和环境变量配置默认会被拒绝,如需继续允许,必须按发行说明进行额外设置。
据发行说明的推理与运行部分,原有异步推理模块已移除,需要迁移到远程推理路径。直接调用策略的代码也需适配新的返回格式,该格式可同时返回动作与预测信息。
LeRobot v0.7.0 的核心在于扩大处理更大模型和数据的空间,同时要求现有用户迁移安装、训练与运行路径。
