5分钟跑通π₀:openpi机器人VLA模型从部署到微调的实战指南
2026/9/12 16:19:05 网站建设 项目流程

5分钟跑通π₀:openpi机器人VLA模型从部署到微调的实战指南

【免费下载链接】openpi项目地址: https://gitcode.com/GitHub_Trending/op/openpi

openpi 是 Physical Intelligence 团队为机器人学习发布的开源模型与工具集,主角是 π₀ 系列模型。它们属于 VLA 模型(Vision-Language-Action,视觉-语言-动作模型),简单说就是让机器人同时看懂画面、听懂指令、做出动作。项目不仅给出模型权重,还提供预训练了 10,000 多小时机器人数据的基础模型检查点、微调脚本和推理服务,一条完整的落地链路。

先搞懂:π₀ 与 π₀-FAST 的两种技术路线

π₀ 家族目前分两条路线,理解它们能帮你选对模型:

  • π₀:基于流式扩散(flow-based)的 VLA,把动作序列当作"从噪声中逐步去噪"的生成过程。推理速度快,但对语言指令的遵循能力依赖预训练质量。
  • π₀-FAST:自回归 VLA,先用 FAST 动作分词器把动作量化成 token,再像语言模型那样逐 token 预测,语言指令跟随表现更好,还能复用大模型解码技巧。

两类模型都提供基础检查点,既可以开箱推理,也可以微调到你自己的数据集上。

环境与部署 ⚙️

硬件与系统要求

项目目前只在 Ubuntu 22.04 上验证过,暂不支持其他系统。GPU 显存按用途划分:

用途显存要求示例 GPU
推理> 8 GBRTX 4090
微调(LoRA)> 22.5 GBRTX 4090
微调(全参)> 70 GBA100 (80GB) / H100

克隆仓库并一键安装依赖

按下面两步走:

  1. 克隆仓库(必须带上子模块,里面包含机器人平台的配套代码):
git clone --recurse-submodules https://gitcode.com/GitHub_Trending/op/openpi
  1. 安装 uv 后,用两条命令完成环境搭建:
GIT_LFS_SKIP_SMUDGE=1 uv sync GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .

这里的GIT_LFS_SKIP_SMUDGE=1是为了正确拉取 LeRobot 训练依赖,别漏掉。如果系统环境反复出问题,可以改走项目提供的 Docker 安装路线,步骤见 docs/。

跑通第一个推理任务 🚀

没有真实机器人也能验证流程:项目在examples/simple_client/提供了无机器人测试脚本,会生成随机观测并请求模型推理。或者自己用几行代码搞定——下面的例子加载 π₀.₅-DROID 专家检查点,传入观测图片和一句文本指令,返回一个动作块(action chunk,即机器人接下来要执行的一段动作序列):

from openpi.training import config as _config from openpi.policies import policy_config from openpi.shared import download config = _config.get_config("pi05_droid") checkpoint_dir = download.maybe_download("gs://openpi-assets/checkpoints/pi05_droid") # Create a trained policy. policy = policy_config.create_trained_policy(config, checkpoint_dir) # Run inference on a dummy example. example = { "observation/exterior_image_1_left": ..., "observation/wrist_image_left": ..., ... "prompt": "pick up the fork" } action_chunk = policy.infer(example)["actions"]

检查点首次运行会自动下载并缓存到~/.cache/openpi,也可以用OPENPI_DATA_HOME环境变量改缓存位置。手上有 DROID 或 ALOHA 实机时,直接照 examples/droid/ 的逐步指南把模型接到你的平台上。

从基础模型到你的数据:三步完成 π₀ 微调

以 LIBERO 数据集为例,微调流程就三步,其他数据集同理:

  1. 把数据转成 LeRobot 数据集。训练流水线只消费 LeRobot 格式,项目里examples/libero/convert_libero_data_to_lerobot.py是一份最小转换脚本,改成适配你的数据即可。
  2. 定义配置并启动训练,先算训练数据的归一化统计量,再开训:
uv run scripts/compute_norm_stats.py --config-name pi05_libero XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_libero --exp-name=my_experiment
  1. 起策略服务器对接机器人,训练完直接用检查点起服务:
uv run scripts/serve_policy.py policy:checkpoint --policy.config=pi05_libero --policy.dir=checkpoints/pi05_libero/my_experiment/20000

服务默认监听 8000 端口,你的机器人运行时只需把观测发过去、取回动作。

社区生态与延伸方向

  • 现成的专家检查点:项目发布了多个针对 DROID Franka 和 ALOHA 平台的微调模型,覆盖 0-shot 折毛巾、开食品盒、拔笔盖等任务。虽然官方坦言不保证每个平台都能跑通,但 DROID 检查点在实践中泛化面较广,值得优先试。
  • 远程推理服务:模型放在 GPU 较强的服务器上,机器人端只负责采集与执行,动作经 WebSocket 流式下发,方便把计算与机器人环境彻底解耦,接入方式见 docs/remote_inference.md。
  • 平台适配示例examples/目录下还收录了 ALOHA 仿真/实机、LIBERO、UR5 等平台从数据转换到评测的完整 README,照着改就能迁移到自己的平台。
  • PyTorch 支持:2025 年 9 月起 π₀ 与 π₀.₅ 提供 PyTorch 实现,推理与微调 API 和 JAX 版一致,还附了 JAX 检查点转 PyTorch 的脚本;注意 FAST、混合精度训练等特性暂不支持。

【免费下载链接】openpi项目地址: https://gitcode.com/GitHub_Trending/op/openpi

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询