VLAct Β· Qwen3-VL-4B GR00T Β· RoboTwin 2.0 (Clean)
This repository contains the 50K-step VLAct downstream fine-tuning checkpoint for
RoboTwin 2.0 Clean, introduced in Beyond Data Scaling: Representation-Centric Continued
Pre-training for Vision-Language-Action Models. It starts from
StarVLA/VLAct_Qwen3_Pretrain and adapts the
shared VLAct backbone with a randomly initialized GR00T action head for the target
benchmark.
This is a StarVLA training / evaluation checkpoint, not a standard
transformers.AutoModelpackage. Load it with the matching StarVLA framework (QwenGR00T) and the packagedconfig.yaml/dataset_statistics.json. Safe robot deployment still requires embodiment-specific action mapping, normalization, camera calibration, control-rate handling, workspace constraints, and independent safety systems.
What is VLAct?
VLAct is a representation-centric continued-pretraining recipe for vision-language-action models. It preserves the VLM prior, co-trains multiple continuous action heads on a shared latent, and shares action semantics across embodiments with a partially unified padded layout and wrap-aware joint loss. Downstream policies discard the pretraining heads, randomly initialize a target action head, and fine-tune from the VLAct backbone.
The complete method, ablations, and evaluation protocols are documented in the paper and code repository.
Checkpoint details
| Item | Value |
|---|---|
| Framework | StarVLA QwenGR00T |
| Base VLM | StarVLA/Qwen3-VL-4B-Instruct-Action |
| Pretrained backbone | StarVLA/VLAct_Qwen3_Pretrain @ 100K |
| Action head | GR00T / DiT flow-matching (DiT-B), randomly initialized at fine-tuning start |
| Action / state dimensions | 14-D action / 14-D state |
| Action horizon | 32 steps (future_action_window_size: 31) |
| Diffusion settings | num_inference_timesteps: 4, repeated_diffusion_steps: 4 |
| Dataset mix | robotwin_wrap_32 |
| Data root | ./playground/Datasets/RoboTwin-Clean |
| Image size | 224Γ224, buckets [[320,180],[280,210]] |
| Training step | 50,000 |
| Per-GPU VLA batch size | 16 |
| Extra losses | endpoint_wrap_loss_weight: 0.5, wrap-aware angular joint loss |
| Learning rates | Qwen-VL interface 1e-5; action/base modules 1e-4 |
| Seed | 42 |
Fine-tuning data
Fine-tuning uses RoboTwin 2.0 Clean (robotwin_wrap_32) with absolute-joint actions and a
CoT object-grounding prompt. The GR00T head is trained as a dual-system continuous action expert on
top of the VLAct backbone.
Recommended use: download and evaluate
1. Install StarVLA / VLAct
git clone https://github.com/starVLA/VLAct.git
cd VLAct
conda create -n vlact python=3.10 -y
conda activate vlact
# Install a CUDA-compatible PyTorch build first.
python -m pip install -r requirements.txt
python -m pip install flash-attn==2.7.4.post1 --no-build-isolation
python -m pip install -e .
2. Download the checkpoint
Run from the VLAct repository root:
hf download StarVLA/VLAct_Qwen3GR00T_Robotwin_Finetune \
--local-dir playground/Pretrained_models/VLAct-Qwen3VL4B-GR00T-Robotwin
The checkpoint path is then:
playground/Pretrained_models/VLAct-Qwen3VL4B-GR00T-Robotwin/checkpoints/steps_50000_pytorch_model.pt
Keep the downloaded directory structure unchanged. StarVLA resolves config.yaml and
dataset_statistics.json from the run directory two levels above the checkpoint file.
Action un-normalization
The policy predicts actions normalized to roughly [-1, 1]. StarVLA maps them back to physical
units using the q01 / q99 / mask statistics stored in dataset_statistics.json, and the
unnorm_key selects which statistics block to use.
This run packages a single key, new_embodiment. StarVLA resolves it automatically when only one key is
present, so you normally do not need to set anything. If your evaluation config exposes an
unnorm_key field (for example DOMINO's examples/DOMINO/eval_files/deploy_policy.yml or the eval config generated by the RoboTwin launcher), set it to new_embodiment.
Changing the normalization statistics, camera ordering, state usage, action ordering, or execution horizon can materially change results.
3. Evaluate with the StarVLA / VLAct scripts
Follow examples/Robotwin/README.md for evaluation setup.
Reproduce training with:
bash scripts/run_scripts/RoboTwin/train_robotwin_qwen3gr00t.sh
Loading the policy
Reconstruct the policy with the matching StarVLA framework (QwenGR00T) and the packaged
configuration. The .pt file contains model parameters only; it does not package optimizer or
scheduler state.
This checkpoint is intended for evaluation or further fine-tuning on the same embodiment / action contract. Transferring it to a different robot, camera setup, or action space usually requires additional adaptation.
Files
VLAct-Qwen3VL4B-GR00T-Robotwin/
βββ README.md
βββ config.yaml
βββ training_config.original.yaml
βββ dataset_statistics.json
βββ summary.jsonl
βββ checkpoints/
βββ steps_50000_pytorch_model.pt
| File | Purpose |
|---|---|
checkpoints/steps_50000_pytorch_model.pt |
Fine-tuned PyTorch state dict for the downstream policy |
config.yaml |
Portable resolved configuration using the public base-model ID |
training_config.original.yaml |
Original resolved run configuration as produced by training; it records the internal base-model ID used at training time and is kept for provenance only |
dataset_statistics.json |
Dataset statistics used by StarVLA normalization utilities |
summary.jsonl |
Saved-checkpoint step history |
Checkpoint SHA-256:
0609b879b09d51aeebd375f036cc24ca59a9c1d27de4b2cde12abd88048ba26d
Benchmark results
VLAct's published RoboTwin 2.0 results:
| Setting | VLAct (OFT head) | Matched Qwen3-VL-OFT baseline |
|---|---|---|
| RoboTwin 2.0 Base, Clean | 80.5% | 61.7% |
| RoboTwin 2.0 Data Scaling, Clean / Random | 92.5% / 90.8% | 88.2% / 88.3% |
The released artifact head can differ from the head used in the paper's headline table for the same benchmark. The numbers above are the published VLAct results for this benchmark; they are not a re-evaluation of this specific checkpoint.
The RoboTwin headline numbers above use the OFT head, while this checkpoint uses the GR00T head. No separate RoboTwin success rate is reported for this GR00T artifact.
This checkpoint is the VLAct-initialized GR00T RoboTwin policy for head / architecture
comparison. To reproduce the headline RoboTwin numbers, use
VLAct_Qwen3OFT_Robotwin_Finetune
(Base, Clean) or
VLAct_Qwen3OFT_Robotwin_all_Finetune
(Data Scaling).
Intended use and limitations
This checkpoint is intended for research on VLA representation transfer and benchmark evaluation on RoboTwin 2.0 Clean.
- It has not been validated as a universal zero-shot policy across arbitrary robots.
- Safe deployment requires embodiment-specific action mapping, normalization, camera calibration, control-rate handling, workspace constraints, and independent safety systems.
- Performance depends on evaluation protocol, simulator / real-robot setup, observation configuration, and action execution settings.
- The model may inherit limitations and biases from its base VLM, the VLAct pretraining mixture, and the downstream fine-tuning data.
Citation
@article{yang2026beyond,
title={Beyond Data Scaling: Representation-Centric Continued Pre-training for Vision-Language-Action Models},
author={Yang, Senqiao and Wang, Chengyao and Chen, Yuxin and Wang, Zixuan and Tang, Longxiang and Gui, Haokun and Ye, Jinhui and Lu, Changsheng and Wu, Xiaoyang and Zhu, Mingkang and others},
journal={arXiv preprint arXiv:2608.27550},
year={2026}
}
License and acknowledgements
The checkpoint is released under the Apache License 2.0. The VLAct code repository is released separately under the MIT License. Users must also comply with the licenses and terms of the base model, the VLAct pretraining checkpoint, and the training / evaluation datasets.
VLAct builds on StarVLA, LeRobot, GR00T, and Qwen3-VL.
For questions, email yangsenqiao.ai@gmail.com or open an issue in the VLAct repository.
- Downloads last month
- 38
Model tree for StarVLA/VLAct_Qwen3GR00T_Robotwin_Finetune
Base model
Qwen/Qwen3-VL-4B-Instruct