pi0.5 LIBERO-plus LoRA

LoRA fine-tuned weights of pi0.5 (PaliGemma-2B + Action Expert 300M) on the LIBERO-plus dataset, targeting the Action Expert and projection layers.

pi0.5 (PaliGemma-2B + Action Expert 300M) を LIBERO-plus データセットで LoRA ファインチューニングした重み。Action Expert および Projection Layer を学習対象としている。


Robustness across Perturbations


Task: Open the middle drawer

Task: Put the bowl on the plate

Task: Put the wine bottle on the rack

Parallel playback comparing Base, View, Noise, and Position perturbed evaluation environments.

1. Model Configuration / モデル構成

Item / 項目 Value / 値
Base Model lerobot/pi05_libero_base (commit a217bfd)
This Repo nosuke113/pi0.5-libero-plus-lora (commit db2ccc2)

2. Training / 学習情報

Dataset / 学習データセット

The model was trained on nosuke113/libero-plus-deduplicated, which is a deduplicated version of the original lerobot/libero_plus dataset.

本モデルは lerobot/libero_plus から重複するエピソードを排除した nosuke113/libero-plus-deduplicated を用いて学習されています。重複除去の詳しい処理内容についてはデータセットの Dataset Card をご参照ください。

Data Split Methodology / データ分割手法

The validation set was carefully constructed to prevent data leakage. Since the original dataset contains identical physical trajectories artificially augmented with different visual appearances, a simple random split would result in the model evaluating on physical trajectories it has already seen during training, leading to an artificially low validation loss.

To address this, we computed a SHA-1 hash over the full action sequence of each episode. Episodes sharing the same action hash (i.e., identical physical trajectories) were grouped together. The train/val split was then performed at the trajectory level, ensuring that all episodes belonging to a specific physical trajectory are placed entirely in either the training set or the validation set.

This strict trajectory-level separation means the model's validation loss accurately reflects its ability to generalize to unseen physical demonstrations, rather than just memorizing seen trajectories with different textures or lighting.

元データセットには同一の物理軌道を視覚的に拡張した複製エピソードが多数含まれています。単純なランダム分割では、学習済みの物理軌道が検証データセットに混入(リーク)し、過学習を正しく検知できなくなります。

これを防ぐため、各エピソードの行動系列全体の SHA-1 ハッシュを計算し、同一のハッシュを持つエピソード(=同一の物理軌道)をグループ化しました。そして、train/val の分割を軌道単位(Trajectory-level)で行い、同じ軌道の全バリエーションが必ず学習用か検証用のどちらか一方にのみ含まれるようにしました。

この厳密な分離により、検証ロスは「見たことのある軌道の色違い」に対するスコアではなく、完全な「未知の物理軌道」に対する汎化性能を正確に示すものとなっています。

Training Details / 学習パラメータ

Item / 項目 Value / 値
Dataset nosuke113/libero-plus-deduplicated (deduplicated: 8,395 episodes / 1,681 trajectories)
Data Split Trajectory-level held-out (train: 1,376 traj / 6,873 ep, val: 154 traj / 767 ep, overlap: 0)
Fine-tuning LoRA (Rank = 16, Alpha = 32, Action Expert + Projection Layers)
Checkpoint Path checkpoints/libero_plus_b8_r16_step35000 (b8: batch_size=8, r16: LoRA rank=16)
Steps 35,000
Optimizer AdamW (lr=1e-4, batch_size=8, Cosine Scheduler)
Code takashinnosuke/parc2026-submission-code (commit abdba5b)

Training Loss


3. Evaluation Dataset & Perturbation Axes / 評価データセットと摂動軸

The evaluation dataset containing the 180 held-out tasks is available at nosuke113/libero-plus-evaluation. These tasks are constructed along 4 perturbation axes from the LIBERO-plus BDDL scene definitions.

評価に使用した held-out 180 タスクを含む評価用データセットは nosuke113/libero-plus-evaluation に公開されています。これらのタスクは、LIBERO-plus の BDDL シーン定義に基づく 4 軸で構成されます。

  1. Base — Standard BDDL scenes. Camera (0, 0, 100, 0, 0), fixed object poses, no noise. 基準シーン。カメラ固定・物体位置固定・ノイズなし。
  2. View — Camera orbit angle (0-356 deg), zoom distance (100-191), and gaze tilt are varied. カメラ公転角・ズーム距離・注視点傾きを変調した視点摂動。
  3. Noise — Image corruptions: Gaussian noise, motion blur, fog, glass distortion (level 8-48). ガウシアンノイズ・モーションブラー・霧・ガラス歪み等の画像劣化。
  4. Moved — Object initial positions shifted by several cm from default. 物体の初期位置を数 cm~数十 cm 移動した空間摂動。

4. Evaluation Results / 評価結果 (900 Rollouts)

Measured on 180 fully held-out tasks with n=5 seeds (900 total rollouts). Closed-loop control with max 600 steps per episode, bfloat16 mixed precision on NVIDIA L4 GPU. Inference used Receding Horizon Control (RTC) with an action chunk size of 5. Note: The evaluation results below were measured using the checkpoint at 35,000 steps.

完全未見の held-out 180 タスク、n=5 シード (全 900 ロールアウト) での実測精度。最大 600 step のクローズドループ制御、bfloat16 混合精度 / NVIDIA L4 GPU。 推論時はチャンクサイズ 5 の Receding Horizon Control (RTC) を適用しています。 ※ 以下の評価結果は 35,000 step のチェックポイントを使用して測定されました。

Metric / 指標 Value / 値 Note / 備考
Total Episodes 900 180 tasks x 5 seeds
Overall Success Rate 46.00% (414/900) 95% Wilson CI: [42.7%, 49.3%]
Collision Rate 32.00% (288/900) 1mm displacement / link collision
Avg Steps 362.9 Max 600 steps
Action Jerk 0.0221 Mean step-to-step 6-DoF delta

Breakdown by Perturbation / 摂動環境別内訳

Category / カテゴリ N Success Rate Collision Rate Avg Steps
Base 150 78.67% (118/150) 15.33% 247.9
View 300 55.00% (165/300) 32.67% 286.6
Noise 300 30.67% (92/300) 29.33% 441.0
Moved 150 26.00% (39/150) 52.67% 474.2

5. Quickstart / クイックスタート

This model is fully compatible with the Hugging Face lerobot library. You can instantiate it with a few lines of code:

本モデルは Hugging Face の lerobot ライブラリに完全対応しており、数行のコードで簡単にロードして推論を実行できます。

from lerobot.common.policies.factory import make_policy

# Load the policy with LoRA weights / LoRA の重みを適用した状態のポリシーをロード
policy = make_policy(repo_id="nosuke113/pi0.5-libero-plus-lora")
policy.eval()

# Example usage (assuming `obs` is provided by the environment)
# obs = {
#     "observation.images.agentview": ...,
#     "observation.images.robot0_eye_in_hand": ...,
#     "observation.state": ...,
# }
# action = policy.select_action(obs)

6. License & Attribution / ライセンス・権利関係

Component / 構成要素 License / ライセンス
Model weights (LoRA) / 本モデルの重み (LoRA) Google Gemma Terms of Use
This repository / 本リポジトリ (Code) MIT
Base model (lerobot/pi05_libero_base) Google Gemma Terms of Use
lerobot library Apache License 2.0
libero package MIT License
Training data (lerobot/libero_plus) MIT License (Inherited from original LIBERO repository)
Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading