跳转到主要内容
vpp2 插件支持 VPP2 的 RoboDojo、LIBERO 动作策略和独立视频预测。 准备好 PhyAI CUDA 环境和完整的 VPP2 发布目录, 包括 config.json、Wan 资源、tokenizer、模型权重和 dataset_stats.json。 以下命令均在 PhyAI 仓库根目录运行。

动作推理

将示例中的零状态换成实测机器人状态。--image 可以接收一张已合成图像, 也可以按下表顺序接收各相机的图像路径: 输出的 .pt 文件包含 CPU 张量:action 使用 checkpoint 定义的动作单位, normalized_action 为归一化动作。添加 --return-video 可将完整解码视频 保存到 video_full。动作推理仅支持 guidance scale 1。 历史条件使用 --condition-history 和 --condition-observation, 张量格式见 --help。观测历史和动作执行由调用方管理。

视频预测

video_stage2_17f 生成 17 帧,换成 video_stage1_49f 可生成 49 帧。 两者默认使用 30 步、CFG scale 4。输出包含 video_latents 和解码视频 video;后者形状为 [1, 3, T, H, W],数值范围为 [-1, 1]。

多 GPU

将 uv run python 替换为 uv run torchrun --standalone --nproc_per_node=N,再添加对应参数: 进程数必须等于 tp × cfg-parallel。当前不支持 DP、CP 或序列并行。

配置

示例自动选择 kernel 策略,也可用 --kernel-config /path/to/policy.yaml 覆盖。 两份 YAML 还选择了归一化、调制和 RoPE 融合 kernel。请使用与推理模式对应的策略。 CUDA graph 默认开启,--no-cuda-graph 可关闭。首次请求包含图捕获和编译开销。 连续推理应复用同一个 Engine;Python API 和资源释放用法见 examples/vpp2/run_vpp2.py。自行构造 Engine 时,将对应 YAML 通过 KernelConfig(config_path=...) 传入 EngineConfig.kernel。

性能

RoboDojo 测试使用单张 NVIDIA H200 GPU、240 × 416 分辨率、17 帧视频、 32 个动作和 10 步 Euler。FlashInfer 0.7.4、Humming 0.1.19 下的结果为: 区间为各轮中位数的范围,每轮预热三次后测量十个请求。计时不包含图像预处理、 分词、权重读取、视频解码及首次请求的图捕获。 下方折线图记录依赖升级前的优化阶段,使用 FlashInfer 0.6.17 和 Humming 0.1.16: VPP2 优化阶段:已编码输入的推理耗时,以及单独计时的观测到动作路径。