LiteSearch-VL: Small Multimodal Search Agents via Trajectory Distillation and Synthetic Step-DPO
Organizations: Microsoft AI · Ohio State University
Abstract
Multimodal search agents answer visual questions by interleaving image understanding, web retrieval, tool use, and evidence synthesis. Strong systems exist, but in two expensive regimes: proprietary frontier models such as GPT-5 and Gemini, or large open vision-language backbones trained with substantial agentic data and reinforcement learning. We ask a different question: when released agent trajectories are distilled into much smaller backbones under a single-node budget, what is actually transferred? We study this with LiteSearch-VL, a low-compute recipe for Qwen3-VL-2B and Qwen3-VL-4B that uses only released OpenSearch-VL trajectories, parameter-efficient LoRA adapters, and synthetic step-level preferences: DPO on GPT-5-generated hard negatives targeting five local failure modes (premature answer, wrong tool, weak query, repeated query, ignored image). Across 12,400 GPT-5-judged rollouts on SimpleVQA, FVQA, LiveVQA, and VDR-Bench-testmini, the dominant effect is behavioral rather than a uniform accuracy lift: full-trajectory supervised fine-tuning transfers the agent contract, taking the 2B model from almost never emitting a usable answer (1,237/1,240 no_answer rollouts) to 28.4% macro Pass@1, matching or slightly exceeding the off-the-shelf 4B base (25.6%). Synthetic preference learning and compact tool distillation act as refinements rather than phase transitions (best 4B configuration: 30.8% macro Pass@1). Finally, a controlled VDR step-budget ablation shows that extra search turns convert abstentions into wrong_entity errors rather than correct answers, identifying answer verification, not search depth, as the next bottleneck for small multimodal agents.
Figures & tables
| Model | Pass@1 (%) | Partial-credit (%) | no_answer | Pass@1 | |||
|---|---|---|---|---|---|---|---|
| 5 steps | 8 steps | 5 steps | 8 steps | 5 steps | 8 steps | ||
| 2B SFT | 2.0 | 2.4 | 5.2 | 7.5 | 304 | 171 | +0.4 |
| 2B SFT + DPO | 1.0 | 1.8 | 5.6 | 8.0 | 297 | 148 | +0.8 |
| 4B SFT | 2.6 | 2.4 | 6.4 | 8.3 | 351 | 236 | 0.2 |
| 4B SFT + DPO | 2.4 | 3.4 | 7.0 | 8.9 | 327 | 213 | +1.0 |
Appendix figures & tables18 assets
Supplementary material from the paper’s appendix.
Appendix
| Domain | Records | Train | Val | Step examples | Median turns |
|---|---|---|---|---|---|
| livevqa | 13,326 | 13,145 | 181 | 47,892 | 3 |
| wiki_art | 5,093 | 5,023 | 70 | 19,027 | 4 |
| fvqa | 4,413 | 4,353 | 60 | 14,628 | 3 |
| webqa | 3,804 | 3,752 | 52 | 13,845 | 3 |
| wiki_en | 3,503 | 3,455 | 48 | 13,208 | 4 |
| wiki_zh | 3,480 | 3,432 | 48 | 13,210 | 4 |
| Recipe | Backbones | Training stages | Reported training allocation |
|---|---|---|---|
| OpenSearch-VL | Qwen3-VL-8B / 30B-A3B / 32B | Agentic SFT + multi-turn fatal-aware GRPO | SFT: 256 H20 GPUs for 2–4 days; GRPO: 64 H20 GPUs for 10 days |
| LiteSearch-VL | Qwen3-VL-2B / 4B | LoRA SFT + synthetic step-level DPO; no on-policy RL | One eight-GPU node for each training stage |
| Model | SimpleVQA | FVQA | LiveVQA | VDR | Avg |
|---|---|---|---|---|---|
| 2B Base | 0.2 | 0.0 | 0.0 | 0.0 | 0.1 |
| 2B SFT | 33.7 | 78.0 | 24.6 | 5.2 | 35.4 |
| 2B Step-SFT | 26.4 | 72.9 | 24.6 | 3.8 | 31.9 |
| 2B 3-tool SFT | 20.5 | 54.2 | 16.6 | 3.3 | 23.7 |
| 2B SFT + DPO | 32.7 | 78.0 | 25.4 | 5.6 | 35.4 |
| 4B Base | 26.2 | 64.4 | 20.7 | 3.1 | 28.6 |
| Model | none | wrong_entity | no_answer | partial | other |
|---|---|---|---|---|---|
| 2B Base | 1 | 2 | 1,237 | 0 | 0 |
| 2B SFT | 232 | 383 | 514 | 106 | 5 |
| 2B Step-SFT | 202 | 184 | 780 | 73 | 1 |
| 2B 3-tool SFT | 147 | 450 | 572 | 67 | 4 |
| 2B SFT + DPO | 231 | 394 | 505 | 105 | 5 |
| 4B Base | 191 | 343 | 632 | 62 | 12 |
| Model | Avg Pass@1 (%) | 95% CI (%) |
|---|---|---|
| 2B Base | 0.1 | [0.0, 0.1] |
| 2B SFT | 28.4 | [24.9, 31.9] |
| 2B Step-SFT | 26.9 | [23.3, 30.5] |
| 2B 3-tool SFT | 19.5 | [16.0, 23.0] |
| 2B SFT + DPO | 29.4 | [26.0, 32.8] |
| 4B Base | 25.6 | [22.1, 29.0] |
| Stage | Data | Adapter | Precision | LR | Steps | ||
|---|---|---|---|---|---|---|---|
| 2B SFT | 36K traj. | LoRA-16 | fp16 | 8,192 | 64 | 564 | |
| 4B SFT | 36K traj. | LoRA-16 | fp16 | 8,192 | 64 | 564 | |
| 2B/4B Step-SFT | 36K steps | LoRA-16 | fp16 | 8,192 | 64 | 564 | |
| 2B/4B 3-tool SFT | 33K traj. | LoRA-16 | fp16 | 6,144 | 64 | 519 | |
| 2B/4B DPO | 234K pairs | LoRA-16 | bf16 | 5,120 | 64 | 3,663 |
| Tool | Backend | Observation format |
|---|---|---|
| text_search | SerpAPI google | Passage blocks (title / URL / summary) |
| web_search | alias of text_search | same as text_search |
| image_search | SerpAPI google_lens | Python-repr list of {title, source} |
| crop | Pillow | New image id + storage URL |
| layout_parsing | docTR OCR | Text blocks + recognized text |
| sharpen | Pillow unsharp mask | Same template as crop |
| Domain | Val records | Used as benchmark? |
|---|---|---|
| livevqa | 181 | yes (LiveVQA track) |
| wiki_art | 70 | no |
| fvqa | 60 | yes (FVQA track) |
| webqa | 52 | no |
| wiki_en | 48 | no |
| wiki_zh | 48 | no |
Multimodal Search Agents
Multimodal search agents retrieve and reason across text, images, video, and other sources to answer complex questions.
See all 47 papers