π0 (pi-zero)
Physical Intelligence, United States · October 2024
- Parameters
- 3.3 B
- Paper, Section IV: PaliGemma is an open-source 3 billion parameter VLM, and 300M parameters are added for the action expert...
- GPU memory
- 8 GB
- reported by the authors
- Inference latency
- 73 ms
- NVIDIA GeForce RTX 4090, 3 camera images, on-board.
- Weights
- Apache-2.0
- Apache-2.0 for the openpi repository.
What it is
π0 is Physical Intelligence's first generalist policy and the model that made flow matching the default action head for VLAs. It bolts a 300M action expert onto a frozen-initialised PaliGemma-3B backbone, and the expert emits a 50-step action chunk in one shot rather than decoding action tokens one at a time. That design is what allows 50 Hz control on dexterous tasks such as folding shirts, and it costs 73 ms per chunk on an RTX 4090. The published evaluation is entirely in-house with a partial-credit rubric, so anyone comparing π0 against a LIBERO or SimplerEnv number is comparing different things. Treat it today as the reference architecture rather than the strongest available checkpoint, since π0.5 supersedes it inside the same open repository.
Architecture
- Backbone
- PaliGemma-3B (Gemma 2B language model with width 2048, depth 18, mlp_dim 16384, plus a SigLIP So400m/14 vision encoder)
- Action head
- flow matching (conditional flow matching, linear-Gaussian probability path, 10 forward Euler integration steps at inference, bidirectional attention over the action tokens)
- Action chunk
- 50 steps per forward pass
- Control rate
- 50 Hz
- Parameters
- Paper, Section IV: PaliGemma is an open-source 3 billion parameter VLM, and 300M parameters are added for the action expert (width 1024, mlp_dim 4096, initialised from scratch), for a total of 3.3 billion parameters. The paper additionally describes a 470M π0-small ablation without VLM pre-training. The openpi source confirms the split (paligemma_variant gemma_2b, action_expert_variant gemma_300m in src/openpi/models/pi0_config.py).
- Pretraining data
- About 10,000 hours of in-house dexterous manipulation demonstrations, quantified as 903M timesteps (106M from single-arm robots, 797M from dual-arm robots) covering 7 robot configurations and 68 tasks. Open-source data makes up 9.1 percent of the training mixture and consists of OXE Magic Soup (22 robots), Bridge v2 and DROID. Main model trained for 700k steps, with a 160k-step compute-parity variant reported for baseline comparisons.
- Embodiments
- UR5e, bimanual UR5e, Franka, bimanual Trossen ViperX (ALOHA style), bimanual ARX, mobile Trossen and mobile ARX (Mobile ALOHA style), mobile Fibocom (holonomic base)
What hardware it needs
This is the section most people came for, so it is worth being precise about which numbers are measured and which are arithmetic.
| Precision | Weights | Note |
|---|---|---|
| fp32 | 12 GB | Training master weights, rarely used for inference |
| bf16 or fp16 | 6.1 GB | The usual way these checkpoints are served |
| int8 | 3.1 GB | Quantised, expect some loss of precision on fine motions |
| int4 | 1.5 GB | Aggressive quantisation, verify success rate before trusting it |
Smallest real card that fits the bf16 weights plus a 40 percent runtime allowance: 12 GB. That is an estimate for inference, not for fine tuning. Full fine tuning also holds optimiser state and gradients, which typically costs several times the weights unless you use LoRA or a comparable adapter.
| Inference memory, reported | 8 GB source |
| Fine tuning memory, reported | 22.5 GB source |
| Inference latency, reported | 73 ms on NVIDIA GeForce RTX 4090, 3 camera images, on-board. Breakdown from Table I: 14 ms image encoders, 32 ms observation forward pass, 27 ms for the 10 flow matching steps, giving 73 ms total. Running off-board over Wi-Fi adds 13 ms network latency for 86 ms total. |
| Control rate | 50 Hz |
The openpi README gives one table for the whole family: inference from 8 GB on an RTX 4090, LoRA fine-tuning from 22.5 GB on the same card, full fine-tuning from 70 GB, which means an A100 or H100 class card.
Reported results
Grouped by what the evaluation actually asked. Values from different suites are not comparable with each other, so each one keeps its suite and split.
Simulation
No results in this category are published for this model.
Real world
Rollouts on physical hardware. The setups differ, so read these as evidence, not as a ranking.
- Physical Intelligence in-house out-of-box evaluation Shirt folding, bimanual ARX, direct prompting without fine-tuning1 score (0 to 1)normalized score with partial credit, averaged over 10 episodesIn-house task suite, not a public benchmark. Baselines OpenVLA and Octo both scored 0.0 on this task. Partial credit means the score is not a plain success rate.source
- Physical Intelligence in-house out-of-box evaluation Bussing easy, UR5e, direct prompting without fine-tuning0.971 score (0 to 1)normalized score with partial credit, averaged over 10 episodesIn-house task suite. Baselines on the same task: π0-small 0.443, OpenVLA trained on the full mixture 0.0, OpenVLA trained on UR5e data only 0.343, Octo 0.043.source
- Physical Intelligence in-house out-of-box evaluation Bussing hard, UR5e, direct prompting without fine-tuning0.875 score (0 to 1)normalized score with partial credit, averaged over 10 episodesIn-house task suite. All four baselines (π0-small 0.333 excepted) scored 0.0 on this harder variant.source
- Physical Intelligence in-house out-of-box evaluation Grocery bagging, UR5e, direct prompting without fine-tuning0.786 score (0 to 1)normalized score with partial credit, averaged over 10 episodesIn-house task suite. Baselines: π0-small 0.271, OpenVLA 0.0, Octo 0.0.source
- Physical Intelligence in-house out-of-box evaluation Toast out of toaster, bimanual Trossen, direct prompting without fine-tuning0.75 score (0 to 1)normalized score with partial credit, averaged over 10 episodesIn-house task suite. Every baseline including π0-small scored 0.0 on this task.source
Fine tuned tasks
No results in this category are published for this model.
On real hardware
Demonstrated on 7 in-house robot configurations covering single-arm, bimanual and mobile manipulators. Fine-tuned tasks include laundry folding from a hamper, table bussing, box assembly, grocery bagging, stacking eggs into a carton and putting dishes in a microwave, with tasks running tens of minutes. Deployment ran chunks open-loop: inference every 0.8 s after executing 16 actions on the 20 Hz UR5e and Franka, and every 0.5 s after executing 25 actions on the 50 Hz platforms. Temporal ensembling was tried and dropped because it hurt performance.
Fine tuning it yourself
Fine-tune through openpi. Data must be converted to the LeRobot dataset format, then a data config (inputs and outputs transforms), a LeRobotDataConfig and a TrainConfig are defined. The repository ships worked LIBERO configs for π0, π0-FAST and π0.5 as templates. LoRA and full fine-tuning are both supported, and a PyTorch implementation now exists alongside the original JAX one. openpi documents no minimum demonstration count.
Where it helps, where it does not
Strengths
- The action expert lets one model emit 50-step chunks at 50 Hz, which is high enough for cloth manipulation and other dexterous tasks that autoregressive VLAs of the same era could not reach.
- Weights, training code and inference server are published under openpi, so the model can be fine-tuned and served without a vendor agreement.
- Inference fits in roughly 8 GB, so a single consumer RTX 4090 is enough to serve the policy.
- The pre-training mixture at roughly 10,000 hours and 903M timesteps is far larger than the academic datasets used by contemporaries such as OpenVLA and Octo.
Limits
- The out-of-box evaluation is an in-house task suite with a partial-credit rubric and only 10 episodes per task, so the published scores are not comparable to success rates on LIBERO, SimplerEnv or any public leaderboard.
- The paper reports no results on any public simulation benchmark, so cross-model comparison rests on third-party reproductions.
- Fine-tuning is the expensive part. LoRA needs more than 22.5 GB and a full fine-tune needs more than 70 GB, which rules out a single consumer GPU for full fine-tuning.
- Physical Intelligence states in the openpi README that π0 was developed for its own robots and may or may not work on other platforms. There is no guarantee of transfer to a new arm.
- Superseded within the same family. π0.5, π0.6, π*0.6 and π0.7 all postdate it, and only π0.5 also has open weights.
Sources
Everything on this page was taken from these documents. Where they disagree with what you read here, they win.
- https://arxiv.org/abs/2410.24164
- https://www.pi.website/blog/pi0
- https://github.com/Physical-Intelligence/openpi
- https://raw.githubusercontent.com/Physical-Intelligence/openpi/main/README.md
- https://raw.githubusercontent.com/Physical-Intelligence/openpi/main/src/openpi/models/pi0_config.py
- https://huggingface.co/lerobot/pi0_base
Entry last checked 2026-08-11.
Try a policy on a real arm
A physical SO-100 is online and free to drive in the browser, and five of the models in this arena can be fine tuned on a dataset you record with your own.