CoolFace
Modelpublic

ApsaraStackMaaS/EvoQwen2.5-VL-Retriever-7B-v1

sourceHugging Faceapache-2.0updated 6mo agoView on Hugging Face
18likes438downloads
Model Card

Model Card for Model ID

EvoQwen2.5-VL-Retriever-7B-v1 is a high-performance multimodal retrieval model built upon the Qwen2.5-VL-7B-Instruct backbone and employing multi-vector late-interaction. The model is fine-tuned by using an innovative evolutionary training framework (Evo-Retriever), enabling accurate retrieval of complex visual documents.

Version Specificity

• Base Model: ApsaraStackMaaS/EvoQwen2.5-VL-Retriever-7B-v1

• Parameter Size: 7 billion (7B)

• Features: The 7B version delivers the highest retrieval accuracy across all evaluation benchmarks, making it ideal for applications with stringent performance requirements.

Performance

<table border="1"> <tr> <th>Model</th> <th>ViDoRe V2 (nDCG@5)</th> <th>MMEB VisDoc (ndcg_linear@5)</th> </tr> <tr> <th>ApsaraStackMaaS/EvoQwen2.5-VL-Retriever-3B-v1</th> <th>63.00</th> <th>75.96</th> </tr> <tr> <th>ApsaraStackMaaS/EvoQwen2.5-VL-Retriever-7B-v1</th> <th>65.24</th> <th>77.10</th> </tr> </table>

Usage

Make sure that you have installed Transformers, Torch, Pillow, and colpali-engine.

<body> <div class="code-container"> <div class="line-numbers" id="lineNumbers"></div> <pre><code class="language-javascript"> import torch from PIL import Image from transformers.utils.importutils import isflashattn2_available

from colpaliengine.models import ColQwen25, ColQwen25Processor

model_name = "ApsaraStackMaaS/EvoQwen2.5-VL-Retriever-3B-v1"

model = ColQwen25.frompretrained( modelname, torchdtype=torch.bfloat16, devicemap="cuda:0", # or "mps" if on Apple Silicon attnimplementation="flashattention2" if isflashattn2available() else None, ).eval()

processor = ColQwen25Processor.frompretrained(modelname)

<p># Your inputs</p> images = [ Image.new("RGB", (128, 128), color="white"), Image.new("RGB", (64, 32), color="black"), ] queries = [ "Is attention really all you need?", "What is the amount of bananas farmed in Salvador?", ]

<p># Process the inputs</p> batchimages = processor.processimages(images).to(model.device) batchqueries = processor.processqueries(queries).to(model.device)

<p># Forward pass</p> with torch.nograd(): imageembeddings = model(batch_images) query_embeddings = model(batch_queries)

scores = processor.scoremultivector(queryembeddings, imageembeddings) print(scores) </div>

Parameters

All models are fine-tuned by using the Evo-Retriever paradigm with a two-stage training schedule (one epoch per stage). Unless otherwise noted, parameter-efficient fine-tuning is achieved through low-rank adapters (LoRA) with a rank of 32 for both 3B and 7B models. Training is performed in bfloat16 precision with the pagedadamw8bit optimizer on an 8-GPU H20 server, employing a data-parallel strategy, a learning rate of 2e-5, cosine decay, 2% warm-up steps, and a batch size of 32.

Citation

<body> <div class="code-container"> <div class="line-numbers" id="lineNumbers"></div> <pre><code class="language-javascript"> @misc{li2026evoretriever, title={Evo-Retriever: LLM-Guided Curriculum Evolution with Viewpoint-Pathway Collaboration for Multimodal Document Retrieval}, author={Weiqing Li and Jinyue Guo and Yaqi Wang and Haiyang Xiao and Yuewei Zhang and Guohua Liu and Hao Henry Wang}, year={2026}, eprint={2603.16455}, archivePrefix={arXiv}, primaryClass={cs.CV}, url={https://arxiv.org/abs/2603.16455}, } </div>