vlm4vla-qwen25vl3b-bridge-step10k

Reproduction of the Qwen2.5VL-3B (full FT) row of Table 3 in the VLM4VLA paper, evaluated on SimplerBridge. This release packages the single best checkpoint (step 10000) plus everything needed to run inference standalone.

Metric Value
Paper Table 3 target SR (Qwen2.5VL-3B, full FT, SimplerBridge) 48.00%
This release (step 10000, exec_step=2) 50.00%
Delta +2.00 (within reported variance)

The 50.00% is the average success rate across the four SimplerBridge tasks (PutCarrotOnPlate, StackGreenCubeOnYellowCube, PutSpoonOnTableCloth, PutEggplantInBasket), 24 trials per task.

Per-task breakdown (best cell)

Task SR (24 trials)
PutCarrotOnPlate 37.5%
StackGreenCubeOnYellowCube 0.0%
PutSpoonOnTableCloth 62.5%
PutEggplantInBasket 100.0%
average 50.00%

See RESULTS.md for the full sweep over all 6 saved checkpoints x 3 execute_step values.

Training summary

  • Backbone: Qwen2.5-VL-3B-Instruct (full finetune, 3.76 B trainable params)
  • Dataset: BridgeData V2 RLDS via openvla data loader, data_mix=bridge
  • Optimizer: AdamW, peak LR 5e-5 with 0.25 warmup epochs
  • Action head: FCDecoder, action_dim=7, latent=1, fwd_pred_next_n=4, continuous
  • Hardware: 8x A100-80GB, DeepSpeed stage-2, bf16
  • Effective global batch: 8 (per GPU) x 8 (accumulate) x 8 (GPUs) = 512
  • Steps trained: ~30000 optimizer steps (training was truncated by an OOM at step 33k of the planned 50k; peak SR was already at step 10k)
  • Saves: every 5000 optimizer steps -> 6 checkpoints (5k, 10k, 15k, 20k, 25k, 30k)

Package contents

vlm4vla-qwen25vl3b-bridge-step10k/
β”œβ”€β”€ README.md                                # this file
β”œβ”€β”€ INFERENCE.md                             # how to run SimplerBridge eval
β”œβ”€β”€ RESULTS.md                               # full sweep results table
β”œβ”€β”€ requirements-eval.txt                    # pip freeze of the producing env
β”œβ”€β”€ stepstep=0010000.fp32.pt                 # 15 GB - finetuned weights
β”œβ”€β”€ project.json                             # training config (paths rewritten to relative)
β”œβ”€β”€ configs/data/oxe_dataset_stats/
β”‚   └── dataset_statistics_bridge.json       # action de-norm stats
β”œβ”€β”€ qwen_base/                               # Qwen2.5-VL-3B-Instruct base (7 GB)
β”‚   β”œβ”€β”€ model-{00001,00002}-of-00002.safetensors
β”‚   β”œβ”€β”€ model.safetensors.index.json
β”‚   β”œβ”€β”€ config.json, tokenizer.json, ...
β”‚   └── ...
└── tools/
    β”œβ”€β”€ convert_ckpt_standalone.py           # DeepSpeed-shards -> FP32 single-file
    └── upstream_commit.txt                  # the VLM4VLA fork commit this was trained with

Companion code

The model expects the VLM4VLA fork with eval-harness fixes:

git clone https://github.com/yunfeixie233/VLM4VLA.git
cd VLM4VLA
git checkout b4ddb404e6bce2e116b04c598b9495a99bf40fdc  # see tools/upstream_commit.txt

This fork includes two non-trivial fixes vs the original CladernyJorn/VLM4VLA:

  • eval/calvin/model_wrapper.py - calls get_text_function with the correct 2-arg signature
  • eval/simpler/main_inference.py - sets args.policy_model so maniskill2_evaluator.get_robot_control_mode doesn't AttributeError

The fork also adds eval/simpler/sweep_parallel_bridge.py which is the parallel evaluator we used to run the sweep that produced these numbers.

Quick start

See INFERENCE.md for full instructions. TL;DR:

hf download yunfeixie/vlm4vla-qwen25vl3b-bridge-step10k --local-dir ./pkg
cd ./pkg

# install VLM4VLA stack (+ SimplerEnv) β€” see INFERENCE.md
# then:
CUDA_VISIBLE_DEVICES=0 python /path/to/VLM4VLA/eval/simpler/main_inference.py \
    --ckpt-path stepstep=0010000.fp32.pt \
    --config_path project.json \
    --execute_step 2 \
    --robot widowx --policy-setup widowx_bridge \
    --control-freq 5 --sim-freq 500 --max-episode-steps 60 \
    --env-name PutCarrotOnPlateInScene-v0 --scene-name bridge_table_1_v1 \
    --rgb-overlay-path /path/to/SimplerEnv/ManiSkill2_real2sim/data/real_inpainting/bridge_real_eval_1.png \
    --robot-init-x 0.147 0.147 1 --robot-init-y 0.028 0.028 1 \
    --obj-variation-mode episode --obj-episode-range 0 24 \
    --robot-init-rot-quat-center 0 0 0 1 --robot-init-rot-rpy-range 0 0 1 0 0 1 0 0 1

Citation

If you use this checkpoint, please cite the original VLM4VLA paper:

@article{zhang2026vlm4vla,
  title={VLM4VLA: Revisiting Vision-Language-Models in Vision-Language-Action Models},
  author={Zhang, Jianke and Chen, Xiaoyu and Wang, Qiuyue and Li, Mingsheng and Guo, Yanjiang and Hu, Yucheng and Zhang, Jiajun and Bai, Shuai and Lin, Junyang and Chen, Jianyu},
  journal={arXiv preprint arXiv:2601.03309},
  year={2026}
}

And the upstream Qwen2.5-VL backbone:

@article{Qwen2VL,
  title={Qwen2-VL: Enhancing Vision-Language Model's Perception of the World at Any Resolution},
  author={Wang, Peng and Bai, Shuai and Tan, Sinan and Wang, Shijie and Fan, Zhihao and Bai, Jinze and Chen, Keqin and Liu, Xuejing and Wang, Jialin and Ge, Wenbin and Fan, Yang and Dang, Kai and Du, Mengfei and Ren, Xuancheng and Men, Rui and Liu, Dayiheng and Zhou, Chang and Zhou, Jingren and Lin, Junyang},
  journal={arXiv preprint arXiv:2409.12191},
  year={2024}
}

License

The finetuned weights inherit Qwen2.5-VL-3B-Instruct's Apache-2.0 license. Bundled qwen_base/ files are subject to their original Apache-2.0 license; refer to qwen_base/LICENSE.

Downloads last month

-

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

Model tree for yunfeixie/vlm4vla-qwen25vl3b-bridge-step10k

Finetuned
(866)
this model

Papers for yunfeixie/vlm4vla-qwen25vl3b-bridge-step10k