Turbo-Pi0.5 v1.1.2

19.2x faster Pi0.5 VLA model optimized for NVIDIA Jetson Thor

Performance

Metric Original (JAX) Turbo-Pi (TRT Pipelined)
Inference Speed 1.4 Hz 26.9 Hz
Latency 714 ms 37.2 ms
LIBERO Spatial 98% 98%
LIBERO 10 91% 91%

Key Optimizations

  • KV Cache: Efficient denoising with 3.7x speedup
  • TensorRT FP16: Hardware-accelerated inference
  • Dual-stream Pipeline: +25% throughput with concurrent execution
  • Reduced Steps: 10 β†’ 3 denoising steps with <1% accuracy loss

Model Architecture

  • Vision Encoder: SigLIP-SO400M (400M params)
  • Language Model: Gemma 2B
  • Action Expert: Gemma 300M with adaRMSNorm

Files

.
β”œβ”€β”€ model.safetensors          # PyTorch model weights (13.5 GB)
β”œβ”€β”€ config.json                # Model configuration
β”œβ”€β”€ policy_preprocessor.json   # Input normalization stats
β”œβ”€β”€ policy_postprocessor.json  # Output denormalization stats
└── tensorrt_engines/          # Pre-built TensorRT engines (Jetson Thor)
    β”œβ”€β”€ siglip_vision_encoder.engine      (790 MB)
    └── gemma_300m_expert_adarms_fp16.engine (818 MB)

Quick Start

Option 1: Python API

from openpi.inference import UnifiedPolicy

policy = UnifiedPolicy(
    checkpoint_dir="~/.cache/openpi/checkpoints/pi05_libero",
    backend="tensorrt_pipelined",  # or "pytorch"
    num_denoising_steps=3,
)

result = policy.infer({
    "observation/image": image,           # (224, 224, 3) uint8
    "observation/wrist_image": wrist_img, # (224, 224, 3) uint8
    "observation/state": state,           # (8,) float32
    "prompt": "pick up the black bowl",
})
actions = result["actions"]  # (50, 7) action chunk

Option 2: Download

huggingface-cli download liangsu9988/Turbo-Pi0.5-1.1.2 \
    --local-dir ~/.cache/openpi/checkpoints/pi05_libero

Hardware Requirements

  • Recommended: NVIDIA Jetson Thor (JetPack 7.1+)
  • Minimum: GPU with 8GB+ VRAM, CUDA 12.0+
  • Memory: ~7.65 GB GPU memory usage

Benchmark Results

LIBERO Spatial (10 tasks x 10 trials)

Task Success
pick_up_black_bowl_between_plate_and_ramekin 90%
pick_up_black_bowl_next_to_ramekin 100%
pick_up_black_bowl_from_table_center 100%
pick_up_black_bowl_on_cookie_box 100%
pick_up_black_bowl_in_top_drawer 100%
pick_up_black_bowl_on_ramekin 100%
pick_up_black_bowl_next_to_cookie_box 100%
pick_up_black_bowl_on_stove 100%
pick_up_black_bowl_next_to_plate 90%
pick_up_black_bowl_on_wooden_cabinet 100%
Total 98%

LIBERO 10 (10 tasks x 10 trials)

Task Success
put_alphabet_soup_and_tomato_sauce_in_basket 90%
put_cream_cheese_and_butter_in_basket 100%
turn_on_stove_and_put_moka_pot 80%
put_bowl_in_drawer_and_close 100%
put_mugs_on_plates 100%
pick_up_book_place_in_caddy 100%
put_mug_on_plate_pudding_to_right 90%
put_alphabet_soup_and_cream_cheese_in_basket 100%
put_both_moka_pots_on_stove 50%
put_mug_in_microwave_and_close 100%
Total 91%

Version History

  • v1.1.2 (2026-01-30): Fixed quantile normalization, LIBERO Spatial 98%, LIBERO 10 91%
  • v1.1.0 (2026-01-29): Dual-stream pipelined TensorRT, 26.9 Hz
  • v1.0.0 (2026-01-29): Initial release with KV Cache + TensorRT FP16

Links

License

Apache License 2.0

Acknowledgments

Based on OpenPi by Physical Intelligence.

Downloads last month
-
Safetensors
Model size
4B params
Tensor type
F32
Β·
Video Preview
loading