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- callsget_text_functionwith the correct 2-arg signatureeval/simpler/main_inference.py- setsargs.policy_modelsomaniskill2_evaluator.get_robot_control_modedoesn'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.
Model tree for yunfeixie/vlm4vla-qwen25vl3b-bridge-step10k
Base model
Qwen/Qwen2.5-VL-3B-Instruct