Robotics
Transformers
Safetensors
English
prts_qwen3_vl
feature-extraction
vision-language-action
vla
libero
qwen3-vl
prts
custom_code
Instructions to use TeleEmbodied/PRTS-4B-LIBERO with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use TeleEmbodied/PRTS-4B-LIBERO with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("TeleEmbodied/PRTS-4B-LIBERO", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
| license: cc-by-nc-4.0 | |
| library_name: transformers | |
| pipeline_tag: robotics | |
| tags: | |
| - robotics | |
| - vision-language-action | |
| - vla | |
| - libero | |
| - qwen3-vl | |
| - prts | |
| - custom_code | |
| language: | |
| - en | |
| base_model: TeleEmbodied/PRTS-4B | |
| <h1 align="center">PRTS-4B-LIBERO</h1> | |
| <p align="center"> | |
| <a href="https://arxiv.org/abs/2604.27472"><img src="https://img.shields.io/badge/arXiv-2604.27472-b31b1b.svg" alt="arXiv"></a> | |
| | |
| <a href="https://github.com/TeleHuman/PRTS"><img src="https://img.shields.io/badge/GitHub-PRTS-181717.svg" alt="GitHub"></a> | |
| | |
| <a href="https://huggingface.co/TeleEmbodied/PRTS-4B"><img src="https://img.shields.io/badge/Base-PRTS--4B-yellow.svg" alt="Base model"></a> | |
| </p> | |
| **PRTS-4B-LIBERO** is the LIBERO fine-tuned variant of [`TeleEmbodied/PRTS-4B`](https://huggingface.co/TeleEmbodied/PRTS-4B). This is the exact checkpoint used to report the LIBERO numbers in the PRTS paper. For the base model card (architecture, prompt format, contrastive RL design), please refer to the parent [PRTS-4B](https://huggingface.co/TeleEmbodied/PRTS-4B) repository. | |
| ## Post-training budget | |
| Fine-tuned from `TeleEmbodied/PRTS-4B` with the launch script [`scripts/ft/launch_finetune.sh`](https://github.com/TeleHuman/PRTS/blob/main/scripts/ft/launch_finetune.sh) in the open-source repo. Key settings: | |
| | | | | |
| | :--- | :--- | | |
| | Base model | `TeleEmbodied/PRTS-4B` | | |
| | Dataset config | `configs/post-train/libero.yaml` | | |
| | Embodiment tag | `libero_panda` | | |
| | Hardware | 4 GPUs, DeepSpeed ZeRO-2, bf16, `flash_attention_3`, no gradient checkpointing | | |
| | Steps | 30,000 total, 5,000 warmup, save every 10,000 | | |
| | Effective batch | 8 (per-device) × 4 GPUs × 1 (grad-acc) = **32** | | |
| | LRs | `1e-5` for vision / merger / LLM; `1e-4` for the action head | | |
| | Scheduler | `cosine_with_min_lr` (min `1e-6`) | | |
| | Optimizer | AdamW (β1=0.9, β2=0.95, ε=1e-8), weight decay `1e-8`, grad clip `1.0` | | |
| | Action head | DiT-L + MoT action expert, chunk size `20`, max action dim `32` | | |
| | Action normalization | `QUANTILE` (stats bundled in this checkpoint) | | |
| | Seed | 42 | | |
| ## Loading for evaluation | |
| This checkpoint plugs into the policy server [`scripts/serve_policy.py`](https://github.com/TeleHuman/PRTS/blob/main/scripts/serve_policy.py). Update the `EnvMode.LIBERO` entry in `DEFAULT_CHECKPOINT` so that `dir=` points to your local download of this repo. Normalization stats are already bundled in the checkpoint, so `dataset_path` can be left as `None`: | |
| ```python | |
| EnvMode.LIBERO: Checkpoint( | |
| config="prts_libero", | |
| dir="/path/to/PRTS-4B-libero", # local download path of this repo | |
| action_dim=7, | |
| dataset_path=None, # normalization stats are bundled in the checkpoint | |
| state_mode="QUANTILE", | |
| ), | |
| ``` | |
| ## Running LIBERO evaluation | |
| Follow the LIBERO simulation setup in [`examples/libero/README.md`](https://github.com/TeleHuman/PRTS/blob/main/examples/libero/README.md), then start the policy server from the PRTS repo root with [`examples/libero/run_libero_server.sh`](https://github.com/TeleHuman/PRTS/blob/main/examples/libero/run_libero_server.sh): | |
| ```bash | |
| bash examples/libero/run_libero_server.sh | |
| # which runs: | |
| # CUDA_VISIBLE_DEVICES=0 python scripts/serve_policy.py --env LIBERO --port 10000 | |
| ``` | |
| The LIBERO simulator (Terminal 1 in the example README) connects to this server over websocket and rolls out the 4 LIBERO task suites. | |
| ## License | |
| Released under [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/) — free for academic and non-commercial research; commercial use is **not** permitted. | |
| ## Citation | |
| ```bibtex | |
| @article{zhang2026prts, | |
| title = {PRTS: A Primitive Reasoning and Tasking System via Contrastive Representations}, | |
| author = {Yang Zhang and Jiangyuan Zhao and Chenyou Fan and Fangzheng Yan and Tian Li and Haitong Tang and Sen Fu and Xuan'er Wu and Qizhen Weng and Weinan Zhang and Xiu Li and Chi Zhang and Chenjia Bai and Xuelong Li}, | |
| journal = {arXiv preprint arXiv:2604.27472}, | |
| year = {2026}, | |
| } | |
| ``` | |