Qwen3-VL OFT for LIBERO 4-in-1
This repository contains a StarVLA QwenOFT checkpoint initialized from
Qwen3-VL-4B-Instruct and trained on the combined LIBERO
libero_10 + libero_goal + libero_object + libero_spatial mixture. QwenOFT
uses action placeholder tokens in the VLM sequence and an MLP/L1 regression
head to predict a continuous action chunk.
Model and action contract
| Item | Value |
|---|---|
| Framework | StarVLA QwenOFT |
| Base VLM | Qwen3-VL-4B-Instruct |
| Action head | Two-block residual MLP over VLM action-token features, 2,560 input / 5,120 hidden / 7 output; direct L1 regression |
| Action dimension | 7 |
| Action horizon | 8, derived from the saved 7-step future window plus current step |
| Dataset mixture | libero_all |
| Released checkpoint | checkpoints/steps_50000_pytorch_model.pt |
| Checkpoint format | Complete StarVLA framework state dict (.pt) |
The compact saved config does not record an explicit camera list, image
resolution, or normalization mode. The checkpoint-era QwenOFT path does not
feed a numeric state vector to the MLP head; later code can optionally
serialize state into the instruction, which is a different prompt contract.
Keep dataset_statistics.json beside the checkpoint and verify the remaining
inputs in the evaluator before comparing results.
Training recipe
| Setting | Value |
|---|---|
| Configured maximum steps | 80,000 |
| Released step | 50,000 |
| Per-device batch size | 16 |
| Gradient accumulation | 1 |
| Warm-up | 5,000 steps |
| Base / VLM-interface / action LR | 2.5e-5 / 1e-5 / 1e-4 |
| Scheduler | Cosine with minimum LR 1e-6 |
freeze_modules |
Packaged boolean true; the public trainer expects module paths as a string, so this value names/selects no modules |
| Seed | 42 |
LIBERO evaluation
The following success rates are retained from the original Hub Card.
| Steps | libero_object | libero_spatial | libero_goal | libero_10 | Avg |
|---|---|---|---|---|---|
| 20000 | 0.970 | 0.984 | 0.970 | 0.874 | 0.9495 |
| 30000 | 0.994 | 0.982 | 0.970 | 0.916 | 0.9655 |
| 40000 | 0.998 | 0.990 | 0.968 | 0.928 | 0.9710 |
| 50000 | 0.996 | 0.990 | 0.986 | 0.948 | 0.9800 |
Only the 50k weight is released. The repository does not include the raw per-episode evaluation logs, so the table is a reported result rather than a result independently reconstructable from this Hub repository.
Download and evaluation
huggingface-cli download StarVLA/Qwen3-VL-OFT-LIBERO-4in1 \
--local-dir Qwen3-VL-OFT-LIBERO-4in1
CKPT="$PWD/Qwen3-VL-OFT-LIBERO-4in1/checkpoints/steps_50000_pytorch_model.pt"
python deployment/model_server/server_policy.py \
--ckpt_path "$CKPT" --port 6694 --use_bf16 \
--config_override framework.qwenvl.base_vlm=Qwen/Qwen3-VL-4B-Instruct
Use the separate LIBERO environment and evaluator documented in StarVLA's LIBERO guide.
Evidence and limitations
- Model structure and training settings were checked against
config.yaml; the released step was checked against the Hub file tree. - The saved
base_vlmand dataset paths are environment-local and must be mapped to public/local equivalents. - Changing normalization, camera order, state inclusion, action convention, or execution horizon can materially change success rates.
- Results are limited to LIBERO simulation. No real-robot or cross-embodiment validation is included.
- This is not a standalone Transformers
from_pretrained()directory.
- Downloads last month
- 224
Model tree for StarVLA/Qwen3-VL-OFT-LIBERO-4in1
Base model
Qwen/Qwen3-VL-4B-Instruct