The nvidia/llama-nemoretriever-colembed-3b-v1 is a late interaction embedding model fine-tuned for query-document retrieval. Users can input queries, which are text, or documents which are page images, to the model. The model outputs ColBERT-style multi-vector numerical representations for input queries and documents. It achieved 1st place on ViDoRe V1 (nDCG@5), ViDoRe V2 (nDCG@5) and MTEB VisualDocumentRetrieval (Rank Borda) (as of 27th June, 2025).
This project will download and install additional third-party open source software projects. Review the license terms of these open source projects before use.
This project will download and install additional third-party open source software projects. Review the license terms of these open source projects before use.
Team
Mengyao Xu
Gabriel Moreira
Radek Osmulski
Ronay Ak
Yauhen Babakhin
Even Oldridge
Benedikt Schifferer
Citation
@misc{xu2025llamanemoretrievercolembedtopperforming,
title={Llama Nemoretriever Colembed: Top-Performing Text-Image Retrieval Model},
author={Mengyao Xu and Gabriel Moreira and Ronay Ak and Radek Osmulski and Yauhen Babakhin and Zhiding Yu and Benedikt Schifferer and Even Oldridge},
year={2025},
eprint={2507.05513},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2507.05513},
}
@misc{li2025eagle2buildingposttraining,
title={Eagle 2: Building Post-Training Data Strategies from Scratch for Frontier Vision-Language Models},
author={Zhiqi Li and Guo Chen and Shilong Liu and Shihao Wang and Vibashan VS and Yishen Ji and Shiyi Lan and Hao Zhang and Yilin Zhao and Subhashree Radhakrishnan and Nadine Chang and Karan Sapra and Amala Sanjay Deshmukh and Tuomas Rintamaki and Matthieu Le and Ilia Karmanov and Lukas Voegtle and Philipp Fischer and De-An Huang and Timo Roman and Tong Lu and Jose M. Alvarez and Bryan Catanzaro and Jan Kautz and Andrew Tao and Guilin Liu and Zhiding Yu},
year={2025},
eprint={2501.14818},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2501.14818},
}
@misc{moreira2025nvretrieverimprovingtextembedding,
title={NV-Retriever: Improving text embedding models with effective hard-negative mining},
author={Gabriel de Souza P. Moreira and Radek Osmulski and Mengyao Xu and Ronay Ak and Benedikt Schifferer and Even Oldridge},
year={2025},
eprint={2407.15831},
archivePrefix={arXiv},
primaryClass={cs.IR},
url={https://arxiv.org/abs/2407.15831},
}
llama-nemoretriever-colembed is intended for researchers exploring applications that must understand or retrieve information across both text and image modalities. It is instrumental in multimodal RAG systems, where queries are in text format and documents are images, such as pages, text, charts, tables or infographics. Potential applications include multimedia search engines, cross-modal retrieval systems, and conversational AI with rich input understanding.
The llama-nemoretriever-colembed-3b-v1 is a transformer-based multimodal embedding model built on top of a VLM based on google/siglip2-giant-opt-patch16-384 and meta-llama/Llama-3.2-3B.
Input
Property
Query
Document
Input Type
Text
Text | Image
Input Format
List of strings
List of strings | List of Images
Input Parameter
1D
1D
Other Properties
The model's maximum context length is 8192 tokens. Texts longer than maximum length must either be chunked or truncated.
The model's maximum context length is 8192 tokens. Texts longer than maximum length must either be chunked or truncated. Images must be python PIL format. The model will scale the image into multiple tiles of 512x512.
Output
Output Type: Floats
Output Format: List of float arrays
Output Parameters: The list of floats equivalent to [batchsize x seq length x embedding_dim]
Other Properties Related to Output: Model outputs embedding vectors of dimension for each input token.
Our AI models are designed and/or optimized to run on NVIDIA GPU-accelerated systems. By leveraging NVIDIA’s hardware (e.g. GPU cores) and software frameworks (e.g., CUDA libraries), the model achieves faster training and inference times compared to CPU-only solutions.
Usage
The model requires transformers version 4.49.0 and flash attention
1import requests
2from PIL import Image
3from io import BytesIO
4import torch
5from transformers import AutoModel
67# Load Model8model = AutoModel.from_pretrained(9'nvidia/llama-nemoretriever-colembed-3b-v1',10 device_map='cuda',11 trust_remote_code=True,12 torch_dtype=torch.bfloat16,13 attn_implementation="flash_attention_2"14).eval()1516# Queries17queries =[18'How much percentage of Germanys population died in the 2nd World War?',19'How many million tons CO2 were captured from Gas processing in 2018?',20'What is the average CO2 emission of someone in Japan?'21]2223# Documents24image_urls =[25'https://upload.wikimedia.org/wikipedia/commons/3/35/Human_losses_of_world_war_two_by_country.png',26'https://upload.wikimedia.org/wikipedia/commons/thumb/7/76/20210413_Carbon_capture_and_storage_-_CCS_-_proposed_vs_implemented.svg/2560px-20210413_Carbon_capture_and_storage_-_CCS_-_proposed_vs_implemented.svg.png',27'https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/20210626_Variwide_chart_of_greenhouse_gas_emissions_per_capita_by_country.svg/2880px-20210626_Variwide_chart_of_greenhouse_gas_emissions_per_capita_by_country.svg.png'28]2930# Load into PIL31headers ={32"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64)"33}3435images =[Image.open(BytesIO(requests.get(image_url, headers=headers).content))for image_url in image_urls]3637# Encoding38query_embeddings = model.forward_queries(queries, batch_size=8)39image_embeddings = model.forward_images(images, batch_size=8)404142scores = model.get_scores(43 query_embeddings,44 image_embeddings
45)46# Diagonal should have high scores47print(scores)48# tensor([[13.9970, 11.4219, 12.1225],49# [11.4157, 14.6388, 12.0341],50# [ 9.9023, 9.8857, 11.3387]], device='cuda:0')
Running evaluation on benchmarks
Vidore V1&V2 and V3 on MTEB leaderboards
ViDoRe is a premier benchmark for Visual Document Retrieval. The latest version of the benchmark is Vidore V3, a comprehensive evaluation of retrieval for enterprise use-cases.
We provide a script script using MTEB 2 library to evaluate ColEmbed models on ViDoRe benchmarks.
bash
1pip install"mteb>=2.3.10,<3.0.0"2# Evaluates with Vidore V1 and V23CUDA_VISIBLE_DEVICES=0; python3 mteb2_eval.py --model_name nvidia/llama-nemoretriever-colembed-3b-v1 --batch_size 16 --benchmark "VisualDocumentRetrieval"4# Evaluates with Vidore V35CUDA_VISIBLE_DEVICES=0; python3 mteb2_eval.py --model_name nvidia/llama-nemoretriever-colembed-3b-v1 --batch_size 16 --benchmark "ViDoRe(v3)"6# Evaluates with a specific task/dataset of Vidore V3: Vidore3ComputerScienceRetrieval7CUDA_VISIBLE_DEVICES=0; python3 mteb2_eval.py --model_name nvidia/llama-nemoretriever-colembed-3b-v1 --batch_size 16 --benchmark "ViDoRe(v3)" --task-list Vidore3ComputerScienceRetrieval
We also provide a script to evaluate ViDoRe V1 and ViDoRe V2 based on their deprecated GitHub repository.
We evaluate the model on multiple benchmarks for Visual Document Retrieval, ViDoRe V1, ViDoRe V2 and MTEB Visual Document Retrieval.
Data Collection Method by dataset: Hybrid: Automated, Human, Synthetic
Labeling Method by dataset: Hybrid: Automated, Human, Synthetic
Properties: More details on ViDoRe V1 and ViDoRe V2 can be found on their leaderboard. Visual Document Retrieval Benchmark, ViDoRe, is composed of various page-level retrieving tasks spanning multiple domains, languages, and settings.
Benchmark
Model 1B
Model 3B
ViDoRe V1 (06/27/2025)
0.9050
0.9100
ViDoRe V1 (deprecated)
0.9049
0.9098
ViDoRe V2 (06/27/2025)
0.6209
0.6352
ViDoRe V2 (deprecated)
0.6261
0.6342
MTEB Visual Document Retrieval
0.8238
0.8315
Note: All scores are Avg. NDCG@5. ViDoRe V1 and V2 was updated on June 27th 2025 to use the calculated scores from MTEB, which can result in slightly different scores. The ViDoRe V2 (06/27/2025) uses only 4 of the original 7 datasets.
Inference:
Acceleration Engine: Not Applicable Test Hardware: A100 40GB, A100 80GB, H100 80GB
Ethical Considerations
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their internal model team to ensure this model meets requirements for the relevant industry and use case and addresses unforeseen product misuse.
Please report security vulnerabilities or NVIDIA AI Concerns here.