Instructions to use ZhuoranChen/lingbot-va-mot-posttrain-libero-goal-gradaccum43 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use ZhuoranChen/lingbot-va-mot-posttrain-libero-goal-gradaccum43 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("ZhuoranChen/lingbot-va-mot-posttrain-libero-goal-gradaccum43", torch_dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
Upload README.md with huggingface_hub
Browse files
README.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: other
|
| 3 |
+
tags:
|
| 4 |
+
- robotics
|
| 5 |
+
- video-language-action
|
| 6 |
+
- libero
|
| 7 |
+
- mixture-of-transformers
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# lingbot-va-mot-posttrain-libero-goal-gradaccum43
|
| 11 |
+
|
| 12 |
+
Full-parameter post-train of [`lingbot-va-mot`](https://huggingface.co/ZhuoranChen/lingbot-va-mot) on the **LIBERO-Goal** benchmark (10 tasks, original prompts). Base architecture is the Mixture-of-Transformers (MoT) video-action model from [joliachen/lingbot-va](https://github.com/joliachen/lingbot-va) (`model_mot.py`).
|
| 13 |
+
|
| 14 |
+
## Training config
|
| 15 |
+
|
| 16 |
+
| | |
|
| 17 |
+
|---|---|
|
| 18 |
+
| base checkpoint | `checkpoints/lingbot-va-mot` |
|
| 19 |
+
| dataset | LIBERO-Goal (`data/libero_goal_lerobot`) |
|
| 20 |
+
| `freeze_backbone` | `False` β full-parameter fine-tune, all 10.0B params (30-layer video stream + action stream + embedders/heads) |
|
| 21 |
+
| steps | 4000 |
|
| 22 |
+
| learning rate | 1e-5 |
|
| 23 |
+
| world size | 2 GPUs |
|
| 24 |
+
| `gradient_accumulation_steps` | 43 (effective batch = 2 Γ 43 = 86) |
|
| 25 |
+
| `attn_window` | 72 |
|
| 26 |
+
| `frame_chunk_size` | 4 |
|
| 27 |
+
| `guidance_scale` / `action_guidance_scale` | 5.0 / 1.0 |
|
| 28 |
+
| `num_inference_steps` / `action_num_inference_steps` | 25 / 50 |
|
| 29 |
+
| `snr_shift` / `action_snr_shift` | 5.0 / 0.05 |
|
| 30 |
+
| action representation | 30-dim padded vector; native 7-dim LIBERO OSC action (xyz + euler + gripper) in slots 0β6, rest zero-padded |
|
| 31 |
+
| observation cameras | `agentview_rgb`, `eye_in_hand_rgb` |
|
| 32 |
+
|
| 33 |
+
## Architecture note: action stream width
|
| 34 |
+
|
| 35 |
+
This checkpoint (and its `lingbot-va-mot` base) uses a **no-bottleneck** MoT design: the action stream runs at the full video-stream width **d_v = 3072** end-to-end (`action_embedder`: Linear(30 β 3072), `action_proj_out`: Linear(3072 β 30), and every per-block action module β `action_attn1/2`, `action_ffn`, `action_norm2`, `action_scale_shift_table` β is shape-identical to its video-stream counterpart). This differs from the lingbot-va **paper**, which describes the action stream operating through a narrower **768-dim bottleneck** (30 β 768 β β¦ β 768 β 30) rather than the full 3072-dim width used here. See [`lingbot-va-mot`'s model card](https://huggingface.co/ZhuoranChen/lingbot-va-mot) for how these action-stream weights were initialized before this fine-tune.
|
| 36 |
+
|
| 37 |
+
## LIBERO-Goal closed-loop evaluation (checkpoint step 4000)
|
| 38 |
+
|
| 39 |
+
10 episodes/task, closed-loop rollout in the LIBERO-Goal env:
|
| 40 |
+
|
| 41 |
+
| Task | Success |
|
| 42 |
+
|---|---|
|
| 43 |
+
| open the middle drawer of the cabinet | 9/10 |
|
| 44 |
+
| put the bowl on the stove | 10/10 |
|
| 45 |
+
| put the wine bottle on top of the cabinet | 9/10 |
|
| 46 |
+
| open the top drawer and put the bowl inside | 10/10 |
|
| 47 |
+
| put the bowl on top of the cabinet | 8/10 |
|
| 48 |
+
| push the plate to the front of the stove | 10/10 |
|
| 49 |
+
| put the cream cheese in the bowl | 10/10 |
|
| 50 |
+
| turn on the stove | 10/10 |
|
| 51 |
+
| put the bowl on the plate | 10/10 |
|
| 52 |
+
| put the wine bottle on the rack | 10/10 |
|
| 53 |
+
| **Total** | **96/100 (96.0%)** |
|
| 54 |
+
|
| 55 |
+
## Repo contents
|
| 56 |
+
|
| 57 |
+
Only `transformer/` (the fine-tuned weights) is included here. The original checkpoint directory also symlinks `text_encoder/` (`google/umt5-xxl`), `tokenizer/`, and `vae/` (Wan2.1 `AutoencoderKLWan`) from the shared base checkpoint β those are unchanged stock components and are not duplicated in this repo. Load them from [`ZhuoranChen/lingbot-va-mot`](https://huggingface.co/ZhuoranChen/lingbot-va-mot) or the public Wan2.1 release when using this checkpoint standalone.
|