OpenPI
Last reviewed
May 16, 2026
Sources
16 citations
Review status
Source-backed
Revision
v1 · 3,496 words
Improve this article
Add missing citations, update stale details, or suggest a clearer explanation.
Last reviewed
May 16, 2026
Sources
16 citations
Review status
Source-backed
Revision
v1 · 3,496 words
Add missing citations, update stale details, or suggest a clearer explanation.
OpenPI (stylized openpi) is the open-source repository of robot foundation models, training code, and inference utilities published by Physical Intelligence, the San Francisco robotics and AI startup co-founded in early 2024 by Karol Hausman, Sergey Levine, Chelsea Finn, Brian Ichter, and Lachy Groom. Hosted at github.com/Physical-Intelligence/openpi and released under the Apache 2.0 license, the repository packages pre-trained checkpoints for the company's π0, π0-FAST, and π0.5 vision-language-action models (VLAs) together with JAX and PyTorch implementations, fine-tuning pipelines, dataset converters, a websocket-based policy server, and worked examples for common research platforms such as ALOHA, DROID, LIBERO, and the UR5 arm.
The initial public release on February 4, 2025, marked an unusual step for a venture-backed robotics company. Rather than keeping its frontier checkpoints proprietary, Physical Intelligence published the weights of its first generalist policy alongside the autoregressive π0-FAST variant, framing the move as a contribution to community research and a way to accelerate the broader goal of "general-purpose physical intelligence." The release has been frequently compared to Meta's LLaMA strategy in language modeling, and within a year openpi had become the de facto reference implementation for generalist robot policies, drawing more than 11,000 GitHub stars, nearly 2,000 forks, and direct adoption inside Hugging Face's LeRobot library.
Physical Intelligence was founded in March 2024 with the explicit mission of building a single neural network that can control any robot to perform any physical task. The team brought together academic robotics leaders, including Stanford professor Chelsea Finn and UC Berkeley professor Sergey Levine, with practitioners from Google Brain Robotics such as CEO Karol Hausman and Brian Ichter. Within seven months the company announced π0, its first generalist policy, in a paper posted to arXiv on October 31, 2024. π0 was demonstrated folding laundry, bussing a table, assembling cardboard boxes, and packing grocery bags using a dual-arm mobile manipulator, and it could be fine-tuned to a variety of downstream tasks from one to twenty hours of additional teleoperated data.
At the time of the π0 announcement, the model was closed. Physical Intelligence published evaluation videos and the architectural recipe but did not release weights. The openpi repository was created on October 21, 2024, and remained private for several months while the team prepared a reproducible code release and coordinated a parallel PyTorch port with Hugging Face. The repository was made public on February 4, 2025, the same day the company published its "Open Sourcing π0" blog post and announced a $400 million Series A round at a $2.4 billion valuation led by Thrive Capital and joined by Jeff Bezos, OpenAI, and Lux Capital. The simultaneous fundraise and weight release made the open-source decision a deliberate strategic statement rather than a routine engineering deliverable.
The release positioned openpi alongside a small group of open generalist robot policies, including OpenVLA from Stanford and the RT-1 and RT-2 lineage at Google. The openpi release was the first time a flow-matching VLA pre-trained on a private corpus of approximately ten thousand hours of robot teleoperation data was placed in the public domain, and it was the first generalist policy from a well-funded industrial lab to ship with both inference and fine-tuning support out of the box.
The openpi repository has expanded steadily since the initial public push, with new model checkpoints, new framework support, and incremental improvements to the DROID training recipe. The table below summarizes the major milestones documented in the repository's Updates section and in Physical Intelligence's research blog.
| Date | Milestone | Details |
|---|---|---|
| October 21, 2024 | Repository created | Private placeholder under the Physical-Intelligence GitHub organization |
| October 31, 2024 | π0 paper posted | "π0: A Vision-Language-Action Flow Model for General Robot Control" appears on arXiv |
| February 4, 2025 | Public release | Apache-licensed openpi made public with π0, π0-FAST, and seven fine-tuned checkpoints. Hugging Face publishes a parallel PyTorch port. |
| April 22, 2025 | π0.5 paper | "π0.5: a Vision-Language-Action Model with Open-World Generalization" posted to arXiv (closed weights at the time) |
| June 2025 | DROID training recipe | Repository ships instructions for training pi0-FAST-DROID style models on the full public DROID dataset |
| September 2025 | π0.5 weights released | Base π0.5 checkpoint added to openpi, along with π0.5-LIBERO and π0.5-DROID variants |
| September 2025 | Native PyTorch support | Repository ships first-class PyTorch implementations of π0 and π0.5 alongside the JAX originals |
| September 2025 | Improved DROID idle filter | Data filtering improvements added for DROID-based training runs |
| November 18, 2025 | π*0.6 paper | "π*0.6: a VLA That Learns From Experience" posted to arXiv, introducing the RECAP reinforcement-learning recipe. Weights are not yet in the openpi repository. |
The openpi repository distributes checkpoints in two tiers. Base models are pre-trained on Physical Intelligence's private corpus of approximately ten thousand hours of robot data drawn from seven distinct robot platforms and from the Open X-Embodiment collection, and they are intended as starting points for downstream fine-tuning. Fine-tuned expert checkpoints are derived from those base models and shipped with the explicit goal of running directly on a specific robot for a specific task family. All checkpoints are hosted in the public Google Cloud Storage bucket gs://openpi-assets/checkpoints/ and are downloaded on demand into ~/.cache/openpi by the openpi.shared.download.maybe_download helper.
The three base models share the same overall recipe of a frozen-or-co-trained PaliGemma vision-language backbone augmented with a smaller action expert, but they differ in the action head and the generalization recipe.
| Checkpoint | Approximate parameters | Action head | Training data | Use case |
|---|---|---|---|---|
| π0 base | About 3.3 billion (3 billion PaliGemma backbone plus ~300 million action expert) | Flow matching, continuous actions | ~10,000 hours of internal robot data plus Open X-Embodiment | Fine-tuning starting point for dexterous manipulation |
| π0-FAST base | About 3.3 billion | Autoregressive, discrete tokens via the FAST action tokenizer | Same as π0 base | Fine-tuning when language following and faster training matter more than the smoothest possible motion |
| π0.5 base | About 3.3 billion | Flow matching with knowledge insulation between the VLM and action expert during pre-training | Internal robot data plus large web image-text corpora and verbal task descriptions | Open-world generalization to new homes and new objects |
Physical Intelligence has indicated that the π0.6 line introduced in the November 2025 "π0.6" paper builds on the π0.5 architecture with the addition of RECAP (RL with Experience and Corrections via Advantage-conditioned Policies), a reinforcement-learning recipe that uses an advantage-conditioned classifier head to refine a base VLA from autonomous practice data. As of late 2025 the π0.6 weights are documented in the research paper and discussed in openpi GitHub issues but have not yet been published in the openpi repository, so the openpi-distributed line-up currently stops at π0.5.
The initial public release shipped a row of "expert" checkpoints tuned for widely-available research platforms, and additional rows have been added over time as new base models arrived.
| Checkpoint | Base model | Robot platform | Capability |
|---|---|---|---|
| π0-FAST-DROID | π0-FAST | DROID Franka single-arm cell | Zero-shot table-top manipulation in new scenes following language commands |
| π0-DROID | π0 | DROID Franka single-arm cell | Faster inference than π0-FAST-DROID with weaker language following |
| π0-ALOHA-towel | π0 | ALOHA dual-arm | Folds diverse towels zero-shot |
| π0-ALOHA-tupperware | π0 | ALOHA dual-arm | Unpacks food from a tupperware container |
| π0-ALOHA-pen-uncap | π0 | ALOHA dual-arm | Uncaps a pen, trained on public ALOHA data |
| π0.5-LIBERO | π0.5 | LIBERO simulation benchmark | State-of-the-art LIBERO scores |
| π0.5-DROID | π0.5 | DROID Franka single-arm cell | Fast inference plus strong language following, trained with knowledge insulation |
Many of these checkpoints have since been re-uploaded by Hugging Face into the lerobot namespace, where they can be loaded directly with the standard LeRobot policy API. The Hugging Face mirror does not change the underlying weights; it repackages them in the format that LeRobot uses for distribution.
The openpi tree is organized around three roles: training, inference, and platform glue. The Python package itself lives under src/openpi/ and is split into a JAX implementation in src/openpi/models/ and a PyTorch implementation in src/openpi/models_pytorch/. Top-level scripts in scripts/ cover training, normalization-statistic computation, checkpoint conversion, and the policy server. Reference platform integrations live under examples/, with subfolders for ALOHA real, ALOHA simulator, DROID, LIBERO, UR5, and a simple_client test harness for trying inference without a robot. A separate openpi-client Python package is provided so that robot-side code can talk to the policy server without pulling in the full training stack.
The training entry point for JAX is scripts/train.py, which accepts a named config from openpi.training.config and reads its dataset through the LeRobot v2 data loader. Training supports model parallelism via fully sharded data parallelism (FSDP) by setting fsdp_devices in the config, supports LoRA fine-tuning, and supports exponential moving average (EMA) weights. The PyTorch entry point is scripts/train_pytorch.py, which uses torchrun for multi-GPU and multi-node runs but as of late 2025 does not yet support FSDP, LoRA, EMA, mixed precision, or the autoregressive π0-FAST model. The PyTorch path is validated end-to-end on LIBERO and offers full feature parity for π0 and π0.5 inference.
Inference can be run in-process by calling policy.infer(observation) on a TrainedPolicy object loaded from a checkpoint directory, or remotely by spinning up scripts/serve_policy.py, which listens on port 8000 and streams actions over a websocket. Remote inference is the recommended pattern for real robots because it lets the heavy GPU live on a workstation while the robot runtime stays on a real-time controller or an industrial PC, with no requirement that both machines share a Python environment or CUDA version.
Physical Intelligence is explicit that openpi is an experiment and that not every robot will work. The seven robot embodiments in the π0 pre-training mixture were the company's own, and porting to new platforms requires writing observation and action adapters, computing normalization statistics, and usually fine-tuning. The repository ships first-class examples for the platforms below.
| Platform | Form factor | Provided example |
|---|---|---|
| DROID | Franka Panda single-arm cell with two side cameras and a wrist camera | π0-FAST-DROID and π0.5-DROID zero-shot table-top manipulation, plus full-DROID training recipe |
| ALOHA (real) | Trossen Robotics ViperX dual-arm low-cost teleoperation rig | Pen-uncap, towel-folding, and tupperware checkpoints, plus fine-tuning recipe |
| ALOHA (sim) | MuJoCo simulator for ALOHA | Sanity-check fine-tuning workflow |
| LIBERO | MuJoCo simulation benchmark of 130 household tasks | π0.5-LIBERO inference plus full fine-tuning pipeline |
| UR5 | Universal Robots UR5 industrial arm | Skeleton for adapting policies to UR5-style cells |
| Custom / experimental | Any platform with a client implementation | Simple websocket client template, with the caveat that results vary by embodiment |
The community has also stood up support for additional platforms outside the main tree, including third-party ports for the Hello Robot Stretch mobile manipulator, the Unitree H1 humanoid, and Trossen's Koch low-cost arm. Some of these live as forks; others are merged through Hugging Face's LeRobot repository, which now treats π0 and π0.5 as first-class policy classes.
The original implementation choice was JAX, the same framework that Physical Intelligence used internally to train π0. JAX was a natural fit because PaliGemma is itself a JAX-and-Flax model under the hood and because flow-matching training benefits from JAX's pmap and pjit distribution primitives. JAX-side dependencies are managed with uv, the Astral package manager, and the repository tracks a known-good lockfile so that uv sync reproduces the exact dependency set used by Physical Intelligence's CI. Ubuntu 22.04 is the only officially tested OS, although community users routinely run the code on other Linux distributions and inside Docker on macOS.
In September 2025 the team added a second implementation track in PyTorch, in part because the broader research community had standardized on PyTorch and in part because Hugging Face had already invested in a PyTorch port for LeRobot. The PyTorch port lives at src/openpi/models_pytorch/ and ships with a converter script, examples/convert_jax_model_to_pytorch.py, that translates a JAX checkpoint directory into a PyTorch state dictionary. The PyTorch path requires a patched copy of the Hugging Face transformers library, because π0 uses an AdaRMS normalization scheme and a non-updating key-value cache that the upstream Gemma implementation does not expose. The repository ships replacement files in src/openpi/models_pytorch/transformers_replace/ and a cp -r step in the setup instructions to overlay them onto the user's local transformers install.
The minimum hardware bar for inference is modest by VLA standards. A single consumer GPU with more than eight gigabytes of VRAM is sufficient to run any published checkpoint, while full fine-tuning requires more than seventy gigabytes and so generally calls for an 80-gigabyte A100 or H100. Multi-GPU training works on a single node out of the box, while multi-node training is not yet supported by the included train.py and train_pytorch.py scripts. The table below summarizes the recommended hardware for each workflow.
| Workflow | Minimum VRAM | Example GPU |
|---|---|---|
| Inference | 8 GB | NVIDIA RTX 4090 |
| Fine-tuning with LoRA (JAX only) | 22.5 GB | NVIDIA RTX 4090 |
| Full fine-tuning | 70 GB | NVIDIA A100 80 GB or H100 |
| Multi-GPU full fine-tuning | 70 GB across a node | Multi-A100 or multi-H100 server |
openpi has a tight, deliberate relationship with LeRobot, the Hugging Face open robotics initiative. The repository pulls LeRobot in as a Git submodule and uses LeRobot's dataset format as the canonical training-data representation, so any dataset that already lives on the Hugging Face Hub in the LeRobot v2 layout can be fed straight into the openpi training scripts after running scripts/compute_norm_stats.py. The LeRobot team in turn maintains a parallel PyTorch implementation of π0 and π0.5 inside the lerobot package, and they re-export the openpi checkpoints under names such as lerobot/pi0_base, lerobot/pi05_base, and lerobot/pi05_libero_finetuned on the Hugging Face Hub. From a user's perspective this means there are now two equally valid ways to run a π0.5 policy: through the openpi training and inference stack with the original JAX or new PyTorch path, or through the LeRobot policy API with Hugging Face's PyTorch port.
The partnership has been mutually beneficial. openpi gives LeRobot a frontier-grade pre-trained policy that would otherwise have required a multi-million-dollar pre-training run, and LeRobot gives openpi a much larger audience of hobbyist roboticists, students, and other researchers who would never have set up a JAX environment on their own. Several other community projects, including Allen Z. Ren's open-pi-zero PyTorch re-implementation and Phil Wang's pi-zero-pytorch reference codebase, have folded openpi-derived weights into their tutorials, deepening the model's reach into the academic and indie-research ecosystem.
The openpi repository is licensed under the Apache 2.0 license, one of the most permissive widely used open-source licenses. Apache 2.0 allows commercial use, modification, distribution, sublicensing, and private use, with the standard requirements that the license text be preserved, that changes be noted, and that any trademarks held by Physical Intelligence not be used to endorse derivative products. The repository also bundles the Gemma terms of use because π0, π0-FAST, and π0.5 incorporate weights derived from Google's PaliGemma vision-language model, and downstream users are required to honor Google's prohibited-uses policy in addition to Apache 2.0. There is no separate research-only or non-commercial restriction on the openpi weights themselves, and several robotics startups have publicly demonstrated commercial fine-tunes built on top of the base checkpoints.
The February 2025 release drew immediate attention from the robot-learning research community. Within a week the repository had passed five thousand GitHub stars, and within a year it sat at more than eleven thousand stars with close to two thousand forks, putting it among the most-starred robotics-specific repositories on GitHub. The Robot Report called the release a "watershed moment" for open robot foundation models, while VentureBeat, IEEE Spectrum, and Hugging Face's own engineering blog covered the release as a deliberate Meta-style play to set the de facto industry baseline. Independent researchers including the University of Pennsylvania's PAL Lab quickly published "in the wild" evaluation studies of π0, finding that the DROID-tuned checkpoint generalized strikingly well to new environments while exposing failure modes around long-horizon kitchen tasks.
The release also triggered a wave of community re-implementations. Allen Z. Ren's open-pi-zero provides a from-scratch PyTorch rewrite of the π0 architecture, lucidrains' pi-zero-pytorch offers a reference implementation aimed at teaching the flow-matching action head, and the exla-ai/openpie-0.6 model card on Hugging Face advertises a community PyTorch port of the not-yet-officially-released π*0.6. By late 2025 OpenVLA, RT-2-X, Octo, and openpi together formed a recognizable family of generalist robot policies that researchers could pick from when starting a new project. Industry analysts at TSG Invest and Humanoids Daily have argued that the openpi strategy mirrors Meta's LLaMA play, using an open weight release to make the company's tooling and conventions the default substrate for downstream robotics work even when the most capable internal models remain proprietary.
Physical Intelligence has been candid that openpi is a research artifact rather than a productionized robotics stack. The README opens with an explicit warning that π0 was trained on the company's own robot fleet and that performance on widely-available platforms such as ALOHA and DROID is not guaranteed. Several capabilities are missing from the open release relative to Physical Intelligence's internal stack. There is no internal pre-training data, so users who want to extend the pre-training mixture must contribute their own teleoperation logs. There is no support for multi-node training, no released checkpoint for the most recent π*0.6 line, and the PyTorch implementation does not yet support FSDP, LoRA, EMA, mixed-precision training, or the π0-FAST model.
Licensing is also more nuanced than the headline Apache 2.0 label suggests. The action expert weights inherit terms from PaliGemma, which carries the Gemma terms of use, so commercial deployments need to review both Apache 2.0 and the Gemma prohibited-uses policy before shipping a derived product. Finally, evaluations by the University of Pennsylvania PAL Lab and other groups have shown that π0 and π0.5 can struggle with long-horizon kitchen tasks, fine-grained dexterous tool use, and tasks that require integrating verbal feedback during execution. The π*0.6 line and its RECAP recipe are Physical Intelligence's research direction for addressing some of these limitations through autonomous practice and reinforcement learning, but those advances are not yet reflected in the openpi distribution.