π0.5
Physical Intelligence's successor to π0, co-trained on heterogeneous robot, web and instruction data for open-world generalization. The open release (openpi, and LeRobot's port) supports only the flow-matching action head.
open weightsRTCPEFT / LoRAverified 2026-10-24paper →
Architecture
Compute requirements
| Memory | Precision | Conditions | |
|---|---|---|---|
| train | ≥24 GB · ≤40 GBsrc | — | Peak training VRAM at batch size 8 with AdamW (LeRobot default), "Large VLA" group (pi0, pi0_fast, pi05, xvla, wall_x) in the LeRobot compute hardware guide; suggested A100 40 GB+, "24 GB tight at BS 1". The guide calls its figures indicative, order-of-magnitude numbers, not exact predictions. Precision not stated. · batch 8 · ~4–8 h for 5 epochs on a ~45k-frame dataset at batch 4 on a single A100 40 GB (indicative, ±50%); measured 3h 41m for 5000 steps at batch 32 on 4× H100 80 GB with gradient_checkpointing=true, dtype=bfloat16, from lerobot/pi05_base. |
| inference | ≥8 GBsrc | — | openpi README single-GPU requirement for inference ("> 8 GB", example RTX 4090), stated for all openpi models and the openpi runtime, not LeRobot. Precision not stated. No LeRobot measurement for π0.5 found. |
Training requirements: see also the LeRobot compute hardware guide, the authoritative source for LeRobot training envelopes.
Measured inference 8 runs · inference cost only, not task success
| Compute | Runtime | Precision | Cams | p50 / p95 ms | Inference | Platform | Source |
|---|---|---|---|---|---|---|---|
| RTX 4090 | llama.cpp | fp16 | 2 @224x224 | 51.7 / — | 19.34 Hz | —conditionsboard: NVIDIA RTX 4090 · ggml_cuda_f16_f32_out: 0 (README preset for RTX 4090) Inference cost only; not task success. Full VLM + action-expert pass (ViT + LLM + 10-step action expert), LIBERO inputs (agent-view + wrist at 224x224). From the EagleVLA-Edge README RTX 4090 table (P50), PR #6 configuration. The README's naive π0.5 baseline on this GPU: 162.9 ms (not filed as a separate run: the baseline precision is not stated). | T3 · community reported |
| RTX 4090 | llama.cpp | fp16 | 2 @224x224 | 58.5 / — | 17.09 Hz | —conditionsboard: NVIDIA RTX 4090 · ggml_cuda_f16_f32_out: 0 (README preset for RTX 4090) Inference cost only; not task success. Full VLM + action-expert pass (ViT + LLM + 10-step action expert), LIBERO inputs (agent-view + wrist at 224x224). From the EagleVLA-Edge README RTX 4090 table (P50). The README's naive π0.5 baseline on this GPU: 162.9 ms (not filed as a separate run: the baseline precision is not stated). | T3 · community reported |
| Jetson AGX Thor 128GB | llama.cpp | fp16 | 2 @224x224 | 132.8 / — | 7.53 Hz | —conditionsboard: Jetson Thor (paper/README: "Jetson Thor") Inference cost only; not task success. Full VLM + action-expert pass (ViT + LLM + 10-step action expert), LIBERO inputs (agent-view + wrist at 224x224). Later configuration from the EagleVLA-Edge README (PR #6); the README notes an accuracy caveat for the two-switch GEMM preset on Thor. Naive PyTorch π0.5 on the same board per the paper: 457.9 ms (2.18 Hz) (not filed as a separate run: the baseline precision is not stated). | T3 · community reported |
| Jetson AGX Thor 128GB | llama.cpp | fp16 | 2 @224x224 | 202.8 / — | 4.93 Hz | —conditionsboard: Jetson Thor (paper/README: "Jetson Thor") Inference cost only; not task success. Full VLM + action-expert pass (ViT + LLM + 10-step action expert), LIBERO inputs (agent-view + wrist at 224x224). Paper's 'control frequency' (10.25 Hz) is 1/reaction time with VLM-skipping scheduling; not executed actions/s. Board inferred to be the 128 GB T5000 class from the paper's 130 W max-power entry for Thor (T4000 is 40–70 W). Naive PyTorch π0.5 on the same board per the paper: 457.9 ms (2.18 Hz) (not filed as a separate run: the baseline precision is not stated). | T3 · community reported |
| Jetson AGX Orin 64GB | llama.cpp | fp16 | 2 @224x224 | 271.1 / — | 3.69 Hz | power_mode 50W (paper label "Orin-50W")conditionsboard: Jetson Orin, 'Orin-50W' power mode (AGX Orin 64GB inferred, see ev-orin-board-inferred) Inference cost only; not task success. Full VLM + action-expert pass (ViT + LLM + 10-step action expert), LIBERO inputs (agent-view + wrist at 224x224). Later configuration from the EagleVLA-Edge README (time cache + cuBLASLt GEMM tuning, PR #6); not in the paper. Naive PyTorch π0.5 on the same board per the paper: 1420.8 ms (0.70 Hz) (not filed as a separate run: the baseline precision is not stated). | T3 · community reported |
| Jetson AGX Orin 64GB | llama.cpp | fp16 | 2 @224x224 | 374.5 / — | 2.67 Hz | power_mode 50W (paper label "Orin-50W")conditionsboard: Jetson Orin, 'Orin-50W' power mode (AGX Orin 64GB inferred, see ev-orin-board-inferred) Inference cost only; not task success. Full VLM + action-expert pass (ViT + LLM + 10-step action expert), LIBERO inputs (agent-view + wrist at 224x224). Paper's 'control frequency' (6.93 Hz) is 1/reaction time with confidence-based scheduling that skips the VLM; it is not executed actions/s and is not recorded as control_rate_hz. Naive PyTorch π0.5 on the same board per the paper: 1420.8 ms (0.70 Hz) (not filed as a separate run: the baseline precision is not stated). | T3 · community reported |
| Jetson Orin Nano 8GB (Super) | TensorRT | fp16 | 2 @640x480 | 438.47 / 438.93 | 2.28 Hz | jetpack 7.2.1 · power_mode MAXN_SUPER, clocks pinned with jetson_clocks (GPU 1020 MHz, CPU 1728 MHz) · tensorrt 10.16.2.10conditionsboard: Jetson Orin Nano Engineering Reference Developer Kit Super (8 GB) · l4t: R39.2.1 · os: Ubuntu 24.04.4 LTS · python: 3.12.3 · desktop: running Inference cost only; not task success. 300 s run on synthetic 640x480 observations; 10 denoising steps; latency is runtime-only over a pre-materialized observation ring. Whole-board RAM in use 6.39 GB (unified memory, desktop running). Actions were gated against the stock policy (cosine >= 0.99999) before timing. | T3 · community reported |
| Jetson Orin Nano 8GB (Super) | TensorRT | fp16 | 3 @640x480 | 643.39 / 644.92 | 1.55 Hz | jetpack 7.2.1 · power_mode MAXN_SUPER, clocks pinned with jetson_clocks (GPU 1020 MHz, CPU 1728 MHz) · tensorrt 10.16.2.10conditionsboard: Jetson Orin Nano Engineering Reference Developer Kit Super (8 GB) · l4t: R39.2.1 · os: Ubuntu 24.04.4 LTS · python: 3.12.3 · desktop: running Inference cost only; not task success. 300 s run on synthetic 640x480 observations; 10 denoising steps; latency is runtime-only over a pre-materialized observation ring. Whole-board RAM in use 6.18 GB (unified memory, desktop running). Actions were gated against the stock policy (cosine >= 0.99999) before timing. | T3 · community reported |
Robots running π0.5 20 of 24 with evidence
| Robot | State | Tier | Verified | Detail |
|---|---|---|---|---|
| AgileX PiPER | works with caveats | T1 · upstream documented | 2026-10-25 today | The vendor-documented route is AgileX's own openpi fork (openpi-agilex, JAX, ROS 2) on the bimanual Cobot Magic (two PiPER arms, three cameras), not a single PiPER arm and not LeRobot. |
| ALOHA (stationary) | partial | T1 · upstream documented | 2026-10-24 1d ago | openpi ships π0.5 ALOHA configs (inference config pi05_aloha and fine-tuning config pi05_aloha_pen_uncap on public ALOHA data), but no π0.5 ALOHA checkpoint and no published on-robot ALOHA result. |
| ARX5 | works with caveats | T3 · community reported | 2026-10-24 1d ago | Community-reported only (RoboChallenge benchmark by Dexmal/Hugging Face, plus a community checkpoint); not documented by Physical Intelligence or maintainer-tested. |
| Bimanual SO-100/SO-101 | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| Franka Research 3 | works with caveats | T3 · community reported | 2026-10-25 today | Community-reported only; not documented upstream or maintainer-tested. |
| Franka Emika Panda | works with caveats | T1 · upstream documented | 2026-10-24 1d ago | Documented for the DROID platform (Panda, ZED 2 exterior + ZED Mini wrist cameras, DROID control laptop/NUC), not for an arbitrary Panda setup. The policy uses one exterior camera plus the wrist camera. |
| I2RT YAM | works with caveats | T3 · community reported | 2026-10-24 1d ago | Community-reported only; not documented upstream or maintainer-tested. |
| Koch v1.1 | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| LeKiwi | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| ROBOTIS OMX | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| OpenArm | works | T1 · upstream documented | 2026-10-24 1d ago | |
| Reachy 2 | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| reBot Arm B601-DM | partial | T1 · upstream documented | 2026-10-25 today | Training on reBot B601-DM data is documented by the vendor (Seeed wiki 'B601-DM with LeRobot'). The wiki's on-robot evaluation command (lerobot-record with --policy.path and no teleoperator) is rejected by the Seeed LeRobot fork the wiki installs, which directs policy deployment to lerobot-rollout, so on-robot inference is not validly documented. Public checkpoints trained on B601-DM data also exist. |
| SO-100 | partial | T3 · community reported | 2026-10-25 today | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| SO-101 | works with caveats | T3 · community reported | 2026-10-25 today | Community-reported only; not documented upstream or maintainer-tested. |
| Trossen WidowX AI | works with caveats | T1 · upstream documented | 2026-10-24 1d ago | Trossen recommends LeRobot async inference (policy server + robot client) for π0.5; synchronous lerobot-record runs the policy in the control loop, which large VLAs are often too slow for. |
| Unitree G1 | works | T1 · upstream documented | 2026-10-24 1d ago | |
| Universal Robots UR5e | works with caveats | T3 · community reported | 2026-10-24 1d ago | Community-reported only; not documented upstream or maintainer-tested. |
| UFACTORY xArm | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| XLeRobot | works with caveats | T3 · community reported | 2026-10-24 1d ago | Community-reported only; not documented upstream by Physical Intelligence or maintainer-tested. |
No verified evidence, but both are available in LeRobot (ecosystem context): EarthRover Mini Plus, HopeJR.
Framework support
| Framework | Support | Since | Type string | Docs |
|---|---|---|---|---|
| LeRobot | nativesrc | 0.4.0 | pi05 | docs |
| openpi | upstream-reposrc | — | — | docs |
| LeRobot: Added in v0.4.0 ("Add OpenPi, Pi0 and Pi0.5"). Uses the gated google/paligemma-3b-pt-224 tokenizer (accept its license on the Hub). Normalizes STATE/ACTION with quantiles by default, so datasets need q01/q99 stats. RTC per rtc.mdx; PEFT default LoRA targets defined in PI05Policy (source code; not covered by a dedicated doc example). | ||||
| openpi: Official release; base checkpoint gs://openpi-assets/checkpoints/pi05_base. openpi supports only the flow-matching head for π0.5. | ||||
Checkpoints
- lerobot/pi05_base · LeRobot-format base model; Hub license tag gemma.
- lerobot/pi05_libero_base · LIBERO-trained base for LIBERO fine-tuning (per the v0.6.1 pi05 docs).
- lerobot/pi05_libero_finetuned_v044 · Checkpoint the docs' LIBERO results (97.5% average) were measured on.
Related terms
Action chunking · Flow matching · Inference latency · Quantization and numeric precision · Real-time chunking · Vision-language-action model
Sources
- T1 · upstream documentedofficial-docsverified 2026-10-24 (1d ago)openpi 215abfb
openpi (official PI repo) ships π0.5 and supports only its flow-matching head.
“Note that, in this repository, we currently only support the flow matching head for both $\pi_{0.5}$ training and inference.”
https://github.com/Physical-Intelligence/openpi/blob/215abfb217dbac7d5f1273282331b9b1866c0479/README.md - T1 · upstream documentedpapersource 2025-04-22verified 2026-10-24 (1d ago)
π0.5 paper (arXiv HTML v1); the final model predicts continuous actions with flow matching, like π0.
“we use flow-matching [ 50 ] to predict continuous actions in the final model.”
https://arxiv.org/abs/2504.16054 - T1 · upstream documentedrelease-notessource 2025-10-23verified 2026-10-24 (1d ago)lerobot 0.4.0
v0.4.0 is the first release with Pi0.5 (`pi05` registered at that tag).
“* Add OpenPi, Pi0 and Pi0.5 by @pkooij in https://github.com/huggingface/lerobot/pull/1910”
https://github.com/huggingface/lerobot/releases/tag/v0.4.0 - T1 · upstream documentedsource-codesource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
Policy type string is `pi05`.
“@PreTrainedConfig.register_subclass("pi05")”
https://github.com/huggingface/lerobot/blob/v0.6.1/src/lerobot/policies/pi05/configuration_pi05.py - T1 · upstream documentedsource-codesource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
PI05Policy defines default PEFT (LoRA) target modules for the generic --peft.* training path.
“"""Return default PEFT target modules for PI0.5 fine-tuning."""”
https://github.com/huggingface/lerobot/blob/v0.6.1/src/lerobot/policies/pi05/modeling_pi05.py - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
LeRobot π0.5 docs; state is discretized into the prompt, quantile normalization by default.
“| `observation.state` | 8 | discretized into 256 bins and written into the prompt |”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/pi05.mdx - T1 · upstream documentedofficial-docsverified 2026-10-24 (1d ago)openpi 215abfb
openpi single-GPU memory requirements: inference >8 GB, LoRA fine-tuning >22.5 GB, full fine-tuning >70 GB.
“| Inference | > 8 GB | RTX 4090 |”
https://github.com/Physical-Intelligence/openpi/blob/215abfb217dbac7d5f1273282331b9b1866c0479/README.md - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
LeRobot RTC docs name Pi0.5 as a supported flow-matching policy.
“allows large, flow-matching based robotic policies, such as [Pi0](./pi0), [Pi0.5](./pi05), and [SmolVLA](./smolvla), to produce smooth, continuous, and reactive motion”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/rtc.mdx - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
Compute hardware guide: Large VLA group (incl. `pi05`) ~24–40GB at BS 8 with AdamW; pi05 4×H100 reference run 3h 41m.
“| Large VLA | `pi0`, `pi0_fast`, `pi05`, `xvla`, `wall_x` | ~24–40GB | A100 40 GB+ (24 GB tight at BS 1) |”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/hardware_guide.mdx - T1 · upstream documentedmodel-cardsource 2025-09-09verified 2026-10-24 (1d ago)
lerobot/pi05_base card lists inputs and notes only the flow-matching head is supported.
“- **Inputs:** images (multi-view), proprio/state, optional language instruction”
https://huggingface.co/lerobot/pi05_base