概述
π0.5 是 Physical Intelligence 推出的视觉-语言-动作(VLA)模型,基于机器人演示数据和大规模多模态数据共同训练,能够在未见过的真实开放世界环境中执行长时程任务,并具备泛化能力。 本页文档专注于ws1 即 world_size=1,单 rank、不走分布式。本页全部内容都围绕这套单卡配置。 entry 是 PI05Scheduler。
架构
PhyAI 的 把 pi0.5 推理拆成四块协作组件:phyai/src/phyai/models/pi05
main_pi05.py
scheduler_pi05.py
model_runner_pi05.py
modeling_pi05.py
configuration_pi05.py
img_preprocess_pi05.py
tokenization_pi05.py
scheduler.setup() 和 scheduler.step() 的。
运行 pi0.5
1
拿到权重
准备一份
pi05_base safetensors checkpoint, 可以从 huggingface 下载:2
构造 Engine
插件名是
"pi05"。引擎一次性完成 setup、权重加载和 graph 捕获。max_batch_size 固定捕获图的 batch 维度。按你即将提交的最大 batch 来选;比这小的 batch 在内部自动填充。
3
构造请求
PI05Request 携带每步推理的输入:B 可以是 [1, max_batch_size] 区间内的任意值。张量构造在引擎所在的 device 上;调度器会校验 shape,不一致会立即抛错。4
运行一步
5
关闭引擎
端到端示例
examples/pi05/run_pi05.py 用确定性 dummy 输入跑了 max_batch_size ∈ {1, 4} 的全路径,并包含多 batch 等价性检查。运行命令:
PASS 行。把 --checkpoint 后的路径改成你本地的 checkpoint 路径即可。
训练 rollout 集成
外部 RL controller 可以读取 diffusion trajectory,也可以替换内存中的 Actor 权重,无需重建 engine。使用完整 checkpoint 初始化 engine,并在构造PI05Args 时设置 capture_rollout=True;训练期间的更新可以只包含 controller 选择的参数。
Controller 负责管理更新事务:
weight_batch 都是 HuggingFace 参数名到 tensor 的映射。每次完成更新后都会刷新依赖权重的 scheduler 状态,并重新捕获 rollout graph。rollout_step 接收 PI05RolloutRequest,返回 PI05RolloutOutput,其中包含 action、denoising chain、逐 transition log probability 和可选的 value。请求必须提供 sigmas;noise 和 step_noise 是可选的确定性输入,未提供时由 runtime 内部采样。
RLinf BF16 集成使用可选的兼容策略 examples/configs/kernel_policies/pi05/rlinf_bf16.yaml。应通过 controller 配置或 PHYAI_KERNEL_CONFIG 显式选择;PI0.5 默认不会自动加载该策略。
当前限制
- 仅支持单卡。Tensor parallel、continuous batching、preemption 都不在
PI05Scheduler的范围内。 max_batch_size在引擎构造时就固定。要改尺寸,必须把引擎拆掉重建。- Vision tower 是按真实 robot 数顺序 replay 的,没在摄像头维度上 batch。

