All SkillsGet Started Free
Fine Tuning Serving Openpi
Fine-tune and serve Physical Intelligence OpenPI models (pi0, pi0-fast, pi0.5) using JAX or PyTorch backends for robot policy inference across ALOHA, DROID, and LIBERO environments. Use when adapting pi0 models to custom datasets, converting JAX checkpoints to PyTorch, running policy inference servers, or debugging norm stats and GPU memory issues.
MCP get_skill({ skillId: "fine-tuning-serving-openpi-9764bec4" })Use this skill with your agent
Create a free account and connect via MCP
# OpenPI Fine-Tuning and Serving End-to-end workflows for fine-tuning and serving Physical Intelligence's OpenPI models (pi0, pi0-fast, pi0.5) on robot manipulation tasks from the public `openpi` repository. Covers blank-machine setup, JAX training, PyTorch training, checkpoint conversion, and policy inference serving. ## Quick start Clone the public repo, install the workspace, then serve a pretrained policy: ```bash git clone --recurse-submodules https://github.com/Physical-Intelligence/openpi.git cd openpi GIT_LFS_SKIP_SMUDGE=1 uv sync GIT_LFS_SKIP_SMUDGE=1 uv pip install -e . uv run scripts/serve_policy.py --env DROID ``` ```python from openpi_client import websocket_client_policy client = websocket_client_policy.WebsocketClientPolicy(host="localhost", port=8000) result = client.infer(observation) actions = result["actions"] # numpy array of shape (chunk_size, action_dim) ``` ## Core concepts **Model family**: OpenPI implements three model variants from Physical Intelligence: | Model | Architecture | Speed | Quality | Typical use | |-------|-------------|-------|---------|-------------| | pi0 | Flow-matching VLA | Baseline | Highest | Research, complex tasks | | pi0-fast | Autoregressive action tokens | 2-5x faster | Good | Real-time control | | pi0.5 | pi0 + improved vision encoder | Baseline | Best | Latest default | **Key design choices**: - **Dual backend**: JAX (primary, official training) and PyTorch (community, deployment-friendly) - **Config-driven**: All training/serving parameters defined in `src/openpi/training/config.py` - **Norm stats**: Every config requires precomputed normalization statistics before training - **WebSocket serving**: Policy servers expose a WebSocket API for low-latency inference **Training loop invariant**: After every config or dataset change, always re-run this cycle: 1. Compute norm stats → 2. Train → 3. Serve checkpoint → 4. Validate inference ## Compute requirements | Task | GPU | VRAM | Notes | |------|-----|------|-------| | Serve pi0.5 (inference) | 1x A100/H100 | ~24 GB | Single GPU sufficient | | Fine-tune pi0.5 (JAX) | 1x A100 80GB | ~60 GB | Use `fsdp_devices` for multi-GPU | | Fine-tune pi0 (JAX) | 1x A100 80GB | ~40 GB | Smaller model footprint |
#broad-capability#ai-research#machine-learning#mlops#rag#evaluation#paper-writing#fine#tuninggitpythonuvjaxtorchtransformers