跳到主要内容

LeRobot数据集

LeRobot 是 Hugging Face 开源的机器人学习数据标准化框架,专为机器人学习和强化学习场景设计。它提供了统一的数据格式规范,使研究人员能够更便捷地共享、比较和复现机器人学习实验,显著降低了不同研究项目之间的数据格式转换成本。

导出数据

艾欧数据平台完全支持 LeRobot 标准格式的数据导出,可直接用于 VLA(Vision-Language-Action)模型的训练流程。导出的数据包含机器人操作的完整多模态信息:视觉感知数据、自然语言指令以及对应的动作序列,形成完整的感知-理解-执行闭环数据映射。

资源使用说明

LeRobot 格式数据导出需要较高的计算资源支持。艾欧数据开放平台的免费版本对每位用户的导出数量进行了合理限制,而付费版本则提供无限制导出服务,并配备 GPU 加速功能,可显著提升导出处理速度。

1. 选择导出数据

数据导出前需要完成标注工作。标注过程将机器人的动作序列与对应的自然语言指令建立精确映射关系,这是训练 VLA 模型的必要前提。通过这种映射,模型能够学习理解语言命令并将其转化为准确的机器人控制动作。

关于数据标注的详细流程和批量标注技巧,请参阅:数据标注指南

标注完成后,您可以在导出界面查看所有已标注的数据集。系统支持灵活的数据子集选择,您可以根据具体需求选择特定的数据进行导出。

选择导出数据

数据集命名支持自定义设置。如果您计划将数据集发布到 Hugging Face 平台,建议采用标准的仓库命名格式(如 myproject/myrepo1),这将为后续的模型分享和协作提供便利。

导出效率优化

数据量越大,导出耗时越长。建议根据任务类型进行分类导出,避免一次性处理全部数据。分批导出不仅能提升处理速度,还便于后续的数据管理、版本控制和针对性的模型训练。

2. 下载与解压导出文件

导出过程的耗时取决于数据规模和当前系统负载,通常需要数十分钟。页面会自动更新进度状态,您可以稍后返回查看处理结果。

导出完成后,在页面右侧的 导出记录 区域可以看到 下载数据 按钮。点击后将获得一个 .tar.gz 格式的压缩文件包。

导出结果

建议在本地创建一个专用目录(如 ~/Downloads/mylerobot3)来解压文件,避免与其他数据混淆:

新建目录

解压后的文件严格遵循 LeRobot 数据集的标准格式规范,包含完整的多模态数据:视觉感知数据、机器人状态信息和动作标签等:

解压数据

数据可视化与验证

为了帮助用户快速理解和验证数据内容,LeRobot 提供了两种主要的数据可视化方案。每种方案都有其适用场景和独特优势:

使用场景可视化方案主要优势
本地开发调试Rerun SDK 本地查看功能完整、高度交互、离线可用
快速预览分享Hugging Face 在线查看免安装、易分享、随时访问

1. 使用 Rerun SDK 进行本地可视化

通过本地安装 lerobot 仓库,您可以使用其内置的 lerobot/scripts/visualize_dataset.py 脚本,配合 Rerun SDK 实现时间轴式的交互式多模态数据可视化。这种方式能够同时展示图像、状态、动作等多维度信息,提供最丰富的交互功能和自定义选项。

环境准备与依赖安装

确保您的 Python 版本为 3.10 或更高,然后执行以下安装命令:

# 安装 Rerun SDK
python3 -m pip install rerun-sdk==0.23.1

# 克隆 LeRobot 官方仓库
git clone https://github.com/huggingface/lerobot.git
cd lerobot

# 安装 LeRobot 开发环境
pip install -e .

启动数据可视化

python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0

参数说明:

  • --repo-id:Hugging Face 数据集的标识符(如 io-ai-data/lerobot_dataset
  • --root:本地 LeRobot 数据集的存储路径,指向解压后的目录
  • --episode-index:指定要可视化的 episode 索引号(从 0 开始计数)

离线可视化文件生成

您可以将可视化结果保存为 Rerun 格式文件(.rrd),便于离线查看或与团队成员分享:

python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0 \
--save 1 \
--output-dir ./rrd_out

# 离线查看保存的可视化文件
rerun ./rrd_out/lerobot_pusht_episode_0.rrd

远程可视化(WebSocket 模式)

当需要在远程服务器上处理数据但在本地查看时,可以使用 WebSocket 连接模式:

# 在服务器端启动可视化服务
python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0 \
--mode distant \
--ws-port 9091

# 在本地连接远程可视化服务
rerun ws://服务器IP地址:9091

2. 使用 Hugging Face Spaces 在线可视化

如果不希望安装本地环境,LeRobot 提供了基于 Hugging Face Spaces 的在线可视化工具,无需任何本地依赖即可使用。这种方式特别适合快速预览数据或与团队分享数据集内容。

数据隐私注意事项

在线可视化功能要求将数据上传至 Hugging Face 在线仓库。需要注意的是,Hugging Face 免费账户只支持公开仓库的可视化,这意味着您的数据将被公开访问。如果数据涉及敏感信息需要保持私密性,建议使用本地可视化方案。

操作流程

  1. 访问在线可视化工具:https://huggingface.co/spaces/lerobot/visualize_dataset
  2. 在 Dataset Repo ID 字段中输入您的数据集标识符(如 io-ai-data/uncap_pen
  3. 在左侧面板选择要查看的任务编号(如 Episode 0
  4. 页面顶部提供了多种播放选项,您可以选择最适合的查看方式

模型训练指南

基于 LeRobot 数据集的模型训练是实现机器人学习的核心环节。不同的模型架构对训练参数和数据预处理的要求各有差异,选择合适的模型策略对训练效果至关重要。

模型选择策略

当前主流的 VLA 模型包括:

模型类型适用场景主要特点推荐用途
smolVLA单卡环境、快速原型参数量适中、训练高效消费级 GPU、概念验证
Pi0复杂任务、多模态融合强大的语言理解能力生产环境、复杂交互
ACT单任务优化动作预测精度高特定任务、高频控制
重要说明

Pi0 模型属于 Physical Intelligence 的 OpenPI 框架,而非 LeRobot 项目。如果您需要使用 Pi0 模型,请参考:OpenPI 官方文档

smolVLA 训练详解(推荐入门)

smolVLA 是专为消费级/单卡环境优化的 VLA 模型。相比从零开始训练,强烈推荐基于官方预训练权重进行微调,这样可以显著缩短训练时间并提升最终效果。

环境准备

# 克隆 LeRobot 仓库
git clone https://github.com/huggingface/lerobot.git
cd lerobot

# 安装支持 smolVLA 的完整环境
pip install -e ".[smolvla]"

微调训练(推荐方案)

python -m lerobot.scripts.train \
--policy.path=lerobot/smolvla_base \
--dataset.root=/data/lerobot_dataset \
--dataset.repo_id=your-name/your-repo \
--policy.device=cuda \
--output_dir=/data/lerobot_smolvla_finetune \
--training.num_train_steps=20000 \
--batch_size=64 \
--training.learning_rate=1e-4

实践建议:

  • 数据准备:建议录制 50+ 个任务演示片段,确保覆盖不同的物体位置、姿态和环境变化
  • 训练资源:单张 A100 训练 20k 步约需 4 小时;消费级显卡可降低 batch_size 或启用梯度累积
  • 超参调优:从 batch_size=64num_train_steps=20k 开始,学习率建议从 1e-4 开始微调
  • 何时从零训练:只有在拥有大规模数据集(数千小时)时才考虑使用 --policy.type=smolvla 从头训练

从零开始训练(高级用户)

python -m lerobot.scripts.train \
--policy.type=smolvla \
--dataset.root=/data/lerobot_dataset \
--dataset.repo_id=your-name/your-repo \
--policy.device=cuda \
--output_dir=/data/lerobot_smolvla_fromscratch \
--training.num_train_steps=200000 \
--batch_size=64 \
--training.learning_rate=1e-4

性能优化技巧

显存优化:

# 添加以下参数来优化显存使用
--training.fp16=true \
--training.gradient_accumulation_steps=4 \
--training.dataloader_num_workers=2

训练监控:

  • 配置 Weights & Biases (W&B) 来监控训练曲线和评估指标
  • 设置合理的验证间隔和早停策略
  • 定期保存检查点以防训练中断

ACT 模型训练指南

ACT(Action-Conditioned Transformer)专为单任务或短时序策略学习设计。虽然在多任务泛化方面不及 smolVLA,但在任务明确、控制频率高、时序相对短的场景中,ACT 仍然是高性价比的选择。

数据预处理要求

轨迹处理:

  • 确保统一的片段长度和时间对齐(推荐 10-20 步的 action chunk)
  • 对动作数据进行归一化处理,统一尺度和单位
  • 保持观测数据的一致性,特别是相机内参和视角

训练配置:

python -m lerobot.scripts.train \
--policy.type=act \
--dataset.root=/data/lerobot_dataset \
--dataset.repo_id=your-name/your-repo \
--policy.device=cuda \
--output_dir=/data/lerobot_act_finetune \
--batch_size=64 \
--training.num_train_steps=100000 \
--training.learning_rate=1e-4 \
--training.warmup_steps=1000

超参数调优建议:

  • 批次大小:从 64 开始,根据显存调整
  • 学习率:建议 1e-4,配合 1000 步预热
  • 训练步数:100k-200k 步,根据任务复杂度调整
  • 正则化:出现过拟合时增加数据多样性或早停

性能调优策略

处理过拟合:

  • 增加数据收集的多样性
  • 应用适当的正则化技术
  • 实施早停策略

处理欠拟合:

  • 延长训练步数
  • 调整学习率调度
  • 检查数据质量和一致性

常见问题解答 (FAQ)

数据导出相关

Q: LeRobot 数据导出需要多长时间?

A: 导出时间主要取决于数据规模和当前系统负载。通常每 GB 数据需要 3-5 分钟处理时间。为提高效率,建议按任务类型分批导出,避免一次性处理过大的数据集。

Q: 免费版有哪些导出限制?

A: 免费版对每位用户的导出数量和频率有合理限制,具体额度会在导出界面显示。如需大规模数据导出,建议升级到付费版以享受无限制导出和 GPU 加速服务。

Q: 如何验证导出数据的完整性?

A: 使用 LeRobot 内置的验证工具进行检查:

python -m lerobot.scripts.validate_dataset --root /path/to/dataset

Q: 导出的数据集过大如何处理?

A: 可以通过以下方式优化:

  • 降低导出频率设置(默认 30fps 可降至 10-15fps)
  • 按时间段或任务类型分割导出
  • 压缩图像质量(在保证训练效果的前提下)

数据可视化相关

Q: Rerun SDK 安装失败怎么办?

A: 请检查以下条件:

  • 确保 Python 版本 ≥ 3.10
  • 检查网络连接是否稳定
  • 尝试在虚拟环境中安装:python -m venv rerun_env && source rerun_env/bin/activate
  • 使用清华镜像源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple rerun-sdk==0.23.1

Q: 在线可视化要求数据必须公开吗?

A: 是的。Hugging Face Spaces 的在线可视化工具只能访问公开的数据集。如果您的数据涉及敏感信息或需要保持私密性,请使用本地的 Rerun SDK 方案。

Q: 如何将数据上传到 Hugging Face?

A: 使用官方 CLI 工具:

# 安装 Hugging Face CLI
pip install huggingface_hub

# 登录账户
huggingface-cli login

# 上传数据集
huggingface-cli upload-dataset your-username/dataset-name /path/to/dataset

模型训练相关

Q: 支持的模型类型有哪些?

A: LeRobot 格式支持多种主流 VLA 模型:

  • smolVLA:适合单卡环境和快速原型开发
  • Pi0:强大的多模态能力,适合复杂任务(属于 OpenPI 框架)
  • ACT:专注单任务优化,动作预测精度高

具体支持的模型请参考:https://github.com/huggingface/lerobot/tree/main/src/lerobot/policies

Q: 训练时遇到内存不足怎么办?

A: 尝试以下优化策略:

  • 减少批次大小:--batch_size=1 或更小
  • 启用混合精度训练:--training.fp16=true
  • 使用梯度累积:--training.gradient_accumulation_steps=4
  • 减少数据加载线程:--num_workers=1
  • 清理 GPU 缓存:在训练脚本中添加 torch.cuda.empty_cache()

Q: 如何选择合适的模型?

A: 根据您的具体需求选择:

  • 快速原型开发:选择 smolVLA
  • 复杂多模态任务:选择 Pi0(需要使用 OpenPI 框架)
  • 资源受限环境:选择 smolVLA 或 ACT
  • 单一专门任务:选择 ACT

Q: 训练效果如何评估?

A: LeRobot 提供多种评估方法:

  • 定量指标:动作误差(MAE/MSE)、轨迹相似度(DTW)
  • 定性评估:实机测试成功率、行为分析
  • 平台评估:艾欧平台提供可视化的模型质量评估工具

Q: 训练时间大概需要多久?

A: 训练时间取决于多个因素:

  • 数据规模:50 个演示片段通常需要 2-8 小时
  • 硬件配置:A100 比消费级显卡快 3-5 倍
  • 模型选择:smolVLA 比 ACT 训练速度更快
  • 训练策略:微调比从零训练快 5-10 倍

技术支持

Q: 遇到技术问题如何获得帮助?

A: 您可以通过以下渠道获得支持:

  1. 查阅 LeRobot 官方文档:https://huggingface.co/docs/lerobot
  2. 在 GitHub 提交 Issue:https://github.com/huggingface/lerobot/issues
  3. 联系艾欧平台技术支持团队
  4. 参与 LeRobot 社区讨论

Q: 艾欧平台是否支持模型自动部署?

A: 是的,艾欧平台支持 Pi0(OpenPI 框架)、smolVLA、ACT 等主流模型的自动部署服务。详细信息请联系技术支持团队获取部署方案和定价信息。


相关资源

官方资源

工具和框架

学术资源

OpenPI 相关资源

社区资源


本文档将持续更新,以反映 LeRobot 生态系统的最新发展和最佳实践。如有疑问或建议,欢迎通过艾欧平台技术支持渠道与我们联系。