CoolFace
Modelpublic

TeleEmbodied/PRTS-4B-LIBERO

sourceHugging Facecc-by-nc-4.0updated 4mo agoView on Hugging Face
0likes38downloads
Model Card

<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> &nbsp; <a href="https://github.com/TeleHuman/PRTS"><img src="https://img.shields.io/badge/GitHub-PRTS-181717.svg" alt="GitHub"></a> &nbsp; <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`. 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 repository.

Post-training budget

Fine-tuned from TeleEmbodied/PRTS-4B with the launch script `scripts/ft/launch_finetune.sh` in the open-source repo. Key settings:

Base modelTeleEmbodied/PRTS-4B
Dataset configconfigs/post-train/libero.yaml
Embodiment taglibero_panda
Hardware4 GPUs, DeepSpeed ZeRO-2, bf16, flash_attention_3, no gradient checkpointing
Steps30,000 total, 5,000 warmup, save every 10,000
Effective batch8 (per-device) × 4 GPUs × 1 (grad-acc) = 32
LRs1e-5 for vision / merger / LLM; 1e-4 for the action head
Schedulercosine_with_min_lr (min 1e-6)
OptimizerAdamW (β1=0.9, β2=0.95, ε=1e-8), weight decay 1e-8, grad clip 1.0
Action headDiT-L + MoT action expert, chunk size 20, max action dim 32
Action normalizationQUANTILE (stats bundled in this checkpoint)
Seed42

Loading for evaluation

This checkpoint plugs into the policy server `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`, then start the policy server from the PRTS repo root with `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 — 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},
}