Views
No views yet
Qwen/Qwen3.5-4B and trained with
Vision-OPD (Vision On-Policy Distillation), the regional-to-global self-distillation framework introduced in
Vision-OPD: Learning to See Fine Details for Multimodal LLMs via On-Policy Self-Distillation.transformers (≥ 5.5):1from transformers import AutoModelForImageTextToText, AutoProcessor
2
3model_id = "yuanqianhao/Vision-OPD-4B"
4model = AutoModelForImageTextToText.from_pretrained(model_id, dtype="bfloat16", device_map="auto")
5processor = AutoProcessor.from_pretrained(model_id)
6
7messages = [{
8 "role": "user",
9 "content": [
10 {"type": "image", "url": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg"},
11 {"type": "text", "text": "What is the color of the label on the bottle in the background?"},
12 ],
13}]
14inputs = processor.apply_chat_template(
15 messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt"
16).to(model.device)
17outputs = model.generate(**inputs, max_new_tokens=512)
18print(processor.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))vllm serve yuanqianhao/Vision-OPD-4B --port 80001git clone https://github.com/VisionOPD/Vision-OPD && cd Vision-OPD
2bash eval/run_eval.sh # see README for API base / judge / benchmark env vars| Base model | Qwen/Qwen3.5-4B (non-thinking mode) |
| Data | Vision-OPD-6K — 6.2K synthesized (full image, crop, question) triplets |
| Objective | Token-level JSD (β = 0.5) on on-policy student rollouts, top-K = 100 logits distillation |
| Teacher | Same model conditioned on the privileged crop, EMA-regularized (α = 0.05) |
| Rollout length | 1024 tokens, 1 epoch |
1@article{yuan2026vision,
2 title={Vision-OPD: Learning to See Fine Details for Multimodal LLMs via On-Policy Self-Distillation},
3 author={Yuan, Qianhao and Lou, Jie and Yu, Xing and Lin, Hongyu and Sun, Le and Han, Xianpei and Lu, Yaojie},
4 journal={arXiv preprint arXiv:2605.18740},
5 year={2026}
6}Qwen/Qwen3.5-4B.