news 2026/10/2 12:49:40

Psi0在SIMPLE仿真器跑基准测试:数据生成到3级域随机化评测完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Psi0在SIMPLE仿真器跑基准测试:数据生成到3级域随机化评测完整指南

Psi0在SIMPLE仿真器跑基准测试:数据生成到3级域随机化评测完整指南

【免费下载链接】Psi0[RSS'26] Welcome to Psi-Zero, a Humanoid VLA towards Universal Humanoid Intelligence.项目地址: https://gitcode.com/gh_mirrors/ps/Psi0

🎯 本文带你完整走一遍Psi0(开源人形 VLA 基础模型)在SIMPLE 仿真器中跑基准测试的全流程:从运动规划/遥操作数据生成、模型微调、策略服务部署,到level-0/1/2 三级域随机化评测,并给出成功率统计与常见坑的解决方法,适合想复现论文结果或评测自己的 VLA 模型的新手。

一、先认识 Psi0 与 SIMPLE 仿真器

Psi0 (Ψ₀)是一个面向"通用人形运动-操作"(Universal Humanoid Loco-Manipulation)的开源视觉-语言-动作(VLA)基础模型。它的架构分为三层:

  • System-2(VLM 骨干):基于 Qwen3-VL-2B-Instruct,从第一视角图像和语言指令中提取语义特征;
  • System-1(动作专家):约 500M 参数的多模态扩散 Transformer,预测整身连续动作块;
  • System-0(底层控制器):基于 RL 的跟踪控制器,执行下半身动作指令,保证物理稳定。

SIMPLE则是 Psi0 官方选用的人形机器人基准测试仿真器,基于 MuJoCo 物理引擎 + Isaac Sim 渲染,内置 G1 人形的整机操作任务(移动+抓取、弯腰拾取等),并自带datagen(数据生成)与 eval(评测)两套 CLI,是复现论文结果的"标准考场"。

二、环境准备:一键拉起 Psi0 + SIMPLE 运行时

📦 仓库内置了third_party/SIMPLE子模块,推荐用"第三方依赖"方式安装 SIMPLE(最适合评测 Psi0 与全部基线):

git clone https://gitcode.com/gh_mirrors/ps/Psi0 cd Psi0 git submodule update --init --recursive

仓库用 uv):

env -u LD_LIBRARY_PATH nix --extra-experimental-features "nix-command flakes" develop source .venv-psi/bin/activate GIT_LFS_SKIP_SMUDGE=1 uv sync --all-groups --index-strategy unsafe-best-match --active cp .env.sample .env # 填入 HF_TOKEN / WANDB_API_KEY / PSI_HOME

uv sync会把psi和simple都装成可编辑包,之后即可直接import simple。验证安装:

python -c "import simple; print(simple.__version__)"

⚠️ 不要手动把third_party/SIMPLE/src加进PYTHONPATH,仓库级uv sync已经处理好了。

三、数据生成:两种方式来造训练数据

SIMPLE 提供两种数据生成方式,产出的都是 LeRobot 格式数据集:

方式特点适用场景
运动规划(CuRobo MP)全自动、可批量任务以MP结尾(如G1WholebodyXMoveAndPickMP-v0)
遥操作(Teleop)更拟人、上限更高任务以Teleop结尾(如G1WholebodyXMovePickTeleop-v0)

📝 快速验证数据生成(仅生成 1 条 episode,DR 级别 0):

python -m simple.cli.datagen \ simple/G1WholebodyXMoveAndPickMP-v0 \ --sim-mode mujoco_isaac \ --headless \ --data-format lerobot \ --save-dir $PWD/third_party/SIMPLE/data/datagen \ --num-episodes 1 \ --dr-level 0

常用参数:--scene-uid选择场景实例、--target-object指定目标物体、--eval只生成评测环境配置。

💡不想自己生成数据?官方已放出 6 个整机任务(含G1WholebodyBendPick、G1WholebodyXMovePick等)的预采仿真数据与simple-eval评测集,直接下载解压到data/simple/data/evals即可跳过本步。

四、微调 Psi0:一条命令开训

数据就位后,用官方训练脚本微调(以 BendPick 任务为例,超参见 scripts/train/psi0/finetune-simple-psi0.sh):

export task=G1WholebodyBendPick-v0 bash scripts/train/psi0/finetune-simple-psi0.sh $task

关键配置一览:

  • 骨干冻结(no-tune-vlm),只训 500M 动作专家;
  • 动作块长 30 步、动作维度 36(36-DoF 整身动作);
  • RTC(实时控制)开启,max-delay=8;
  • 学习率 1e-4,cosine 衰减,建议全局 batch size 保持 128(设备 batch × GPU 数 × 梯度累积)。

训练产物(run dir)位于项目根目录.runs下,之后评测时通过--run-dir+--ckpt-step定位 checkpoint。显存紧张可加--train.optimizer-foreach=false换时间省显存。

五、启动策略服务,连接 SIMPLE 评测客户端

Psi0 以 HTTP 服务方式暴露策略推理,SIMPLE 评测客户端通过host:port拉取动作块:

export run_dir=<.runs 下的训练目录> export ckpt_step=<checkpoint 步数> uv run --active --group psi --group serve serve_psi0 \ --host 0.0.0.0 --port 22085 \ --run-dir=$run_dir --ckpt-step=$ckpt_step \ --action-exec-horizon=24 --rtc

服务启动后,curl -i http://localhost:22085/health返回正常即代表就绪。🖥️ 由于 Isaac Sim 资源开销大,官方推荐把 VLA 服务部署在远程 GPU 服务器,本地机器只跑仿真:

ssh -L 22085:localhost:22085 user@your-server # 端口转发

六、核心环节:3 级域随机化评测怎么跑

🎲 SIMPLE 为每个任务都提供了三档域随机化(domain randomization)评测集:

级别含义用途
level-0基础场景验证策略基本正确性
level-1中等随机化检验一定鲁棒性
level-2强随机化压力测试泛化上限

先下载对应评测集并解压到data/evals/simple-eval/$task/$dr,然后按任务来源选对入口:

  • 任务以Teleop结尾(遥操作数据训练)→ 入口eval_decoupled_wbc.py+ agentpsi0_decoupled_wbc
  • 任务以MP结尾(运动规划数据训练)→ 入口eval.py+ agentpsi0
export task=G1WholebodyXMovePickTeleop-v0 export dr=level-0 export entry=eval_decoupled_wbc.py export agent=psi0_decoupled_wbc python src/simple/cli/$entry \ simple/$task $agent $dr \ --host=localhost --port=22085 \ --sim-mode=mujoco_isaac \ --no-headless \ --data-format=lerobot \ --data-dir=data/evals/simple-eval/$task/$dr

想三档全跑,循环for dr in level-0 level-1 level-2; do ... done即可;各基线(H-RDT、EgoVLA、π0.5、ACT、Diffusion Policy)的同样流程分别写在 examples/quick_start/hrdt.md、examples/quick_start/egovla.md、baselines/pi05/README.md 等文档中。

懒人方案:一条命令"起服务 + 跑评测"

仓库提供了开箱即用的 examples/simple/simple_eval.py:自动挑选空闲端口、拉起serve_psi0_simple服务、等待就绪后运行EvalRunner,结束后打印success_rate与日志路径:

source .venv-psi/bin/activate python examples/simple/simple_eval.py \ --run-dir /path/to/.runs/finetune/xxx \ --ckpt-step 40000 \ --env-id simple/G1WholebodyBendPick-v0 \ --data-dir $DATA_HOME/G1WholebodyBendPick-v0-psi0 \ --num-episodes 10 \ --save-video

策略 rollout 视频与结果日志统一输出在third_party/SIMPLE/data/evals/psi0,评测完成即"交卷"✅。

七、常见问题与调优技巧

  • 单条 episode 要 6~10 分钟?正常现象——SIMPLE 在 Isaac Sim 中使用同步渲染 API,渲染本身耗时,属预期行为;
  • 评测集路径:必须指向simple-eval中对应任务的该 DR 级别目录,--data-dir与dr参数要一致;
  • 评测通过标准:--success-criteria默认 0.9(即目标物达到 90% 位置/姿态容差记为成功),--max-episode-steps默认 360 步;
  • 多 worker 加速:加--num-workers可并行评测多条 episode;
  • lerobot 加载报stack(): ... not Column:说明环境里的lerobot版本与 SIMPLE 不一致,执行uv sync --group psi --active重新同步即可(见 README.md 的 Troubleshootings)。

八、关键资料速查

资料路径
环境搭建总指南examples/quick_start/psi.md
SIMPLE 库/CLI 用法examples/quick_start/simple.md
一键评测脚本examples/simple/simple_eval.py
SIMPLE 评测说明(Docker/nix)examples/simple/README.md
Psi0 微调脚本scripts/train/psi0/finetune-simple-psi0.sh
离线开环评测 notebookexamples/simple/openloop_eval.py
基线模型评测文档baselines/README.md
模型架构与检查点清单README.md

🏁 至此,你就完整掌握了Psi0 在 SIMPLE 仿真器中的基准测试全流程:环境 → 数据生成 → 微调 → 部署 → 三级域随机化评测。接下来不妨挑一个MP任务,先跑 level-0 验证链路,再逐级加压,看看你的模型能扛到 level-几。

【免费下载链接】Psi0[RSS'26] Welcome to Psi-Zero, a Humanoid VLA towards Universal Humanoid Intelligence.项目地址: https://gitcode.com/gh_mirrors/ps/Psi0

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 12:47:31

Win11 下 Claude Code Desktop 接入第三方 API 全流程指南

1. 为什么要在 Win11 上折腾 Claude Code Desktop 接入第三方 APIClaude Code Desktop 刚出来那阵子&#xff0c;我身边不少做开发的朋友都在第一时间装了。官方订阅确实省心&#xff0c;但用了一段时间之后&#xff0c;问题就慢慢冒出来了&#xff1a;一是额度限制&#xff0c…

作者头像 李华
网站建设 2026/10/2 12:45:49

用R语言与ggplot2绘制出版级世界地图:5种投影原理与实战

以前提到出版级世界地图&#xff0c;我的第一反应是打开ArcGIS&#xff0c;导入图层、调坐标系、再导出图片。直到有一次做课题需要批量出图&#xff0c;在GIS软件里来来回回折腾了大半天&#xff0c;才突然意识到&#xff1a;其实我每天写数据分析用的R语言&#xff0c;早就把…

作者头像 李华
网站建设 2026/10/2 12:45:00

paperclip 实战:Node.js + React 构建 AI Agent 编排与执行骨架

1. 从 paperclip 这个名字说起&#xff1a;它到底想解决什么问题第一次看到paperclip这个项目名&#xff0c;我脑子里蹦出来的不是回形针办公用品&#xff0c;而是那个经典的“回形针最大化”思想实验——一个看起来无害的小目标&#xff0c;如果被一个足够强的智能体不加约束地…

作者头像 李华