快速上手 1:在 Maniskill3 上使用 PPO 训练 VLA 模型#
本快速教程将带你使用 RLinf 框架,在 ManiSkill3 环境中训练视觉-语言-动作模型(VLA),包括 OpenVLA。
环境简介#
ManiSkill3 是一个基于 GPU 加速的机器人研究仿真平台, 专注于复杂接触操作和具身智能任务。 该基准涵盖多个领域,包括机械臂、移动操作器、人形机器人以及灵巧手, 支持抓取、组装、绘图、移动等多种任务。
我们还针对 GPU 仿真器进行了系统级优化(详见 混合式模式)。
启动训练#
步骤 1:下载预训练模型
若使用 OpenVLA 模型,请运行以下命令:
# 下载 OpenVLA 预训练模型
hf download gen-robot/openvla-7b-rlvla-warmup \
--local-dir /path/to/model/openvla-7b-rlvla-warmup/
该模型已在论文中引用:paper
若使用 OpenVLA-OFT 模型,请运行以下命令:
# 下载 OpenVLA-OFT 预训练模型
hf download RLinf/Openvla-oft-SFT-libero10-trajall \
--local-dir /path/to/model/Openvla-oft-SFT-libero10-trajall/
# 下载在maniskill上lora微调过的检查点
hf download RLinf/RLinf-OpenVLAOFT-ManiSkill-Base-Lora \
--local-dir /path/to/model/oft-sft/lora_004000
步骤 2:下载 ManiSkill 资源文件
该步骤对在 ManiSkill3 上训练 OpenVLA 和 OpenVLA-OFT 都是必需的。
cd <path_to_RLinf>/rlinf/envs/maniskill
# 为提升国内下载速度,可以设置:
# export HF_ENDPOINT=https://hf-mirror.com
hf download --repo-type dataset RLinf/maniskill_assets --local-dir ./assets
步骤 3:修改配置文件
在运行脚本之前,你需要根据模型和数据集的下载路径,修改 ./examples/embodiment/config/maniskill_ppo_openvla_quickstart.yaml 文件。具体而言,将以下配置更新为 gen-robot/openvla-7b-rlvla-warmup 检查点所在的路径。
rollout.model.model_pathactor.model.model_path
对于 OpenVLA-OFT,修改 maniskill_ppo_openvlaoft_quickstart.yaml 文件。将下列模型配置项设置为 RLinf/Openvla-oft-SFT-libero10-trajall 检查点所在的路径。同时,将 LoRA 路径设置为 RLinf/RLinf-OpenVLAOFT-ManiSkill-Base-Lora 检查点所在的路径。
rollout.model.model_pathactor.model.model_pathactor.model.lora_pathactor.model.is_lora: True
步骤 4:启动训练
完成上述配置文件修改后,运行以下命令启动训练:
bash examples/embodiment/run_embodiment.sh maniskill_ppo_openvla_quickstart
备注
如果你是通过 Docker 镜像安装的 RLinf (见 安装说明),请确保已切换到目标模型对应的 Python 环境。
默认环境为 openvla。
若使用 OpenVLA-OFT 或 openpi,请使用内置脚本 switch_env 切换环境:
source switch_env openvla-oft 或 source switch_env openpi。
如果你是通过自定义环境安装的 RLinf,请确保已安装对应模型的依赖,详见 安装说明。
对于 OpenVLA-OFT:
source switch_env openvla-oft
bash examples/embodiment/run_embodiment.sh maniskill_ppo_openvlaoft_quickstart
查看训练结果#
最终模型与指标保存路径:
./logs启动方式如下:
tensorboard --host 0.0.0.0 --logdir path/to/tensorboard/
打开 TensorBoard 后,你会看到类似下图的界面。 建议重点关注以下指标:
rollout/env_info/returnrollout/env_info/success_once

备注
如果你想指定 GPU 使用数量,
可以修改配置文件中的参数
cluster.component_placement。
根据实际资源将该项设置为 0-3 或 0-7 来使用 4/8 张 GPU。 查看 YAML 配置 以获取有关 Placement 配置的更详细说明。
cluster:
num_nodes: 1
component_placement:
actor,env,rollout: 0-3