Watch both policies run the same perturbed scene.
Left, base π0.5. Right, π0.5 trained on our targeted data sets. Both start from the same perturbed LIBERO-Plus scene and run at the same time, each in its own MuJoCo simulation on one GPU. Choose a case, look at the scene, press Run.
- Instruction both receive
- –
- Our model reads it as
- shown after its first policy call
- In the paper's runs
- –
| Perturbation | Cases | Base π0.5 | Ours | Δ |
|---|
Which cases the demo offers
By default, the 591 cases where the paper's runs separate the two models: ours succeeded in all three training seeds, and base π0.5 failed in every pass with the benchmark's wording and, outside language, also when given our model's own reading of the instruction, so the gap is skill and not prompt handling. A case base π0.5 failed only once repeats that failure only about half the time live, which is why every pass counts. All 10,030 cases are one click away.
What a run is
One live trial under the paper's protocol: the case's own scene and recorded start state, seed 42, 10 settle steps, a policy call every 5 steps, the suite's step limit. The simulator is not bit-deterministic and both policies sample noise, so a live run can end differently from the paper's recorded outcome. Simulation only.
The two policies
Left: Physical Intelligence's public π0.5 LIBERO checkpoint (pi05_libero). Right: the main model of Find the Missing Skill, Build the Data: Targeted Data Sets for π0.5 on LIBERO-Plus, which first rewrites the instruction with its own language model; the rewrite shows under the video.