Model reference · open weights
VLM2Vec is an open-weight language model from VLM2Vec. VLM2Vec-V2.0 (BF16) weighs 37 MB; the smallest configuration that runs it is RTX 3060 12 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the VLM2Vec/VLM2Vec-V2.0 model card, 2026-10-01
What it is
| Released by | VLM2Vec |
|---|---|
| Released | 2025-04-30 |
| VRAM | 37 MB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB | 40 | 10 | all 32K | 11.6 GB |
| RTX 4060 Ti 16 GB | 57 | 14 | all 32K | 15.4 GB |
| RTX 3090 24 GB | 91 | 22 | all 32K | 23.4 GB |
| RTX 4090 24 GB | 90 | 22 | all 32K | 23.4 GB |
| RTX 5090 32 GB | 123 | 30 | all 32K | 31.0 GB |
| L40S 48 GB | 178 | 44 | all 32K | 44.0 GB |
| A100 80 GB | 324 | 81 | all 32K | 78.2 GB |
| H100 80 GB | 306 | 76 | all 32K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 373 | 93 | all 32K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 430 | 107 | all 32K | 107 GB |
| H200 141 GB | 561 | 140 | all 32K | 138 GB |
| B200 180 GB | 722 | 180 | all 32K | 176 GB |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 2.2 GB | 2.9 GB |
| 5 | 3.2 GB | 6.7 GB |
| 8 | 3.9 GB | 9.5 GB |
| 16 | 5.8 GB | 17.0 GB |
| 32 | 9.5 GB | 32.1 GB |
| 64 | 17.0 GB | 62.1 GB |
One card, with vLLM's small-card settings.
From the model card
Website |Github | 🏆Leaderboard | 📖MMEB-V2/VLM2Vec-V2 Paper | | 📖MMEB-V1/VLM2Vec-V1 Paper |
We provided the result on MMEB-V2. The detailed leaderboard is here.
We have provided demo example in our Github.
from src.arguments import ModelArguments, DataArguments
from src.model.model import MMEBModel
from src.model.processor import load_processor, QWEN2_VL, VLM_VIDEO_TOKENS
import torch
from src.model.vlm_backbone.qwen2_vl.qwen_vl_utils import process_vision_info
model_args = ModelArguments(
model_name='Qwen/Qwen2-VL-7B-Instruct',
checkpoint_path='TIGER-Lab/VLM2Vec-Qwen2VL-7B',
pooling='last',
normalize=True,
model_backbone='qwen2_vl',
lora=True
)
data_args = DataArguments()
processor = load_processor(model_args, data_args)
model = MMEBModel.load(model_args)
model = model.to('cuda', dtype=torch.bfloat16)
model.eval()
messages = [
{
"role": "user",
"content": [
{
"type": "video",
"video": "assets/example_video.mp4",
"max_pixels": 360 * 420,
"fps": 1.0,
},
{"type": "text", "text": "Describe this video."},
],
}
]
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=f'{VLM_VIDEO_TOKENS[QWEN2_VL]} Represent the given video.',
videos=video_inputs,
return_tensors="pt"
)
inputs = {key: value.to('cuda') for key, value in inputs.items()}
inputs['pixel_values_videos'] = inputs['pixel_values_videos'].unsqueeze(0)
inputs['video_grid_thw'] = inputs['video_grid_thw'].unsqueeze(0)
qry_output = model(qry=inputs)["qry_reps"]
string = 'A man in a gray sweater plays fetch with his dog in the snowy yard, throwing a toy and watching it run.'
inputs = processor(text=string,
images=None,
return_tensors="pt")
inputs = {key: value.to('cuda') for key, value in inputs.items()}
tgt_output = model(tgt=inputs)["tgt_reps"]
print(string, '=', model.compute_similarity(qry_output, tgt_output))
## tensor([[0.4746]], device='cuda:0', dtype=torch.bfloat16)
string = 'A person dressed in a blue jacket shovels the snow-covered pavement outside their house.'
inputs = processor(text=string,
images=None,
return_tensors="pt")
inputs = {key: value.to('cuda') for key, value in inputs.items()}
tgt_output = model(tgt=inputs)["tgt_reps"]
print(string, '=', model.compute_similarity(qry_output, tgt_output))
## tensor([[0.3223]], device='cuda:0', dtype=torch.bfloat16)
@article{jiang2024vlm2vec,
title={VLM2Vec: Training Vision-Language Models for Massive Multimodal Embedding Tasks},
author={Jiang, Ziyan and Meng, Rui and Yang, Xinyi and Yavuz, Semih and Zhou, Yingbo and Chen, Wenhu},
journal={arXiv preprint arXiv:2410.05160},
year={2024}
}
@article{meng2025vlm2vecv2,
title={VLM2Vec-V2: Advancing Multimodal Embedding for Videos, Images, and Visual Documents},
author={Rui Meng and Ziyan Jiang and Ye Liu and Mingyi Su and Xinyi Yang and Yuepeng Fu and Can Qin and Zeyuan Chen and Ran Xu and Caiming Xiong and Yingbo Zhou and Wenhu Chen and Semih Yavuz},
journal={arXiv preprint arXiv:2507.04590},
year={2025}
}
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.