Model reference · open weights
Nemotron-3.5-Rerank is an open-weight reranker from NVIDIA. Nemotron-3.5-Rerank-8B-BF16 (BF16) weighs 16.8 GB; the smallest configuration that runs it is RTX 4090 24 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the nvidia/Nemotron-3.5-Rerank-8B-BF16 model card, 2026-10-16
What it is
| Released by | NVIDIA |
|---|---|
| Released | 2026-10-15 |
| Parameters | 8.4B |
| VRAM | 16.8 GB for the weights |
What it runs on
| Card | Runs | Memory |
|---|---|---|
| RTX 3060 12 GB … RTX 4060 Ti 16 GB | does not fit | |
| RTX 3090 24 GB | fits | 23.4 GB |
| RTX 4090 24 GB | fits | 23.4 GB |
| RTX 5090 32 GB | fits | 31.0 GB |
| L40S 48 GB | fits | 44.0 GB |
| A100 80 GB | fits | 78.2 GB |
| H100 80 GB | fits | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | fits | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | fits | 107 GB |
| H200 141 GB | fits | 138 GB |
| B200 180 GB | fits | 176 GB |
From the model card
Nemotron-3.5-Rerank-8B-BF16 was developed by NVIDIA for multilingual and multimodal question-answering retrieval. It is a world-class reranker optimized to produce a logit representing the relevance of a document to a text query. Documents may contain text, page images, or both, including charts, tables, and infographics. The model can be integrated into classical or agentic vision RAG pipelines. For text retrieval, the model was evaluated across 34 languages: English, Arabic, Assamese, Bengali, Bulgarian, Chinese, Danish, Dutch, Finnish, French, German, Hindi, Hinglish, Indonesian, Italian, Japanese, Korean, Malay, Marathi, Nepali, Norwegian, Persian, Portuguese, Romanian, Russian, Spanish, Swahili, Swedish, Tamil, Telugu, Thai, Ukrainian, Urdu, and Vietnamese. For image retrieval, it was evaluated across 18 languages: Arabic, Bengali, Chinese, English, Persian, Finnish, French, German, Hindi, Indonesian, Japanese, Korean, Russian, Spanish, Swahili, Telugu, Thai, and Yoruba. The model may support additional languages beyond these evaluation sets.
This model is ready for commercial or non-commercial use.
Governing Download Terms: Use of the model is governed by the OpenMDW License Agreement, version 1.1 (OpenMDW-1.1). Additional Information: The Ministral-3-8B-Instruct-2512-BF16 base model is governed by the Apache License, Version 2.0.
Global
The reranking model serves as a key component of a multimodal retrieval system, such as a vision RAG pipeline, where it helps improve overall retrieval accuracy. A multimodal retrieval system typically uses a multimodal embedding model (dense retrieval) to return a set of potentially relevant documents given an input query. The reranking model then evaluates these candidate documents in greater detail and reorders them based on their relevance to the query, producing a final ranking. By refining the initial retrieval results, the reranking stage can improve the precision of the retrieved documents and ultimately lead to more accurate downstream responses.
Hugging Face 10/20/2026 via https://huggingface.co/nvidia/Nemotron-3.5-Rerank-8B-BF16
Architecture Type: Transformer Network Architecture: The released model contains a Pixtral-based vision encoder and a bidirectional Ministral3 language-model tower. Training proceeded in two stages. In the first stage, an 8B reranker checkpoint derived from the Ministral-3-8B-Instruct-2512-BF16 backbone was trained on a blend of text-only datasets. In the second stage, the 8B reranker model initialized from the first-stage checkpoint was trained on image and combined image-text datasets.
Number of Model Parameters: 8.38B
Input Type(s): Text, Image
Input Format(s): Text: String; Image: Red, Green, Blue (RGB)
Input Parameters: Text: One-Dimensional (1D), Image: Two-Dimensional (2D)
Other Properties Related to Input: Each input is one text query paired with one document. The document may be an image, text, or a combination of image and text. The default image longest_edge is 1,120 pixels and can be increased to 1,540. The maximum context length is 32,768 tokens.
Output Type(s): Floats Output Format: List of Floats Output Parameters: One-Dimensional (1D) Other Properties Related to Output: Each output value corresponds to a raw logit. The higher the value, the more relevant a document is to a given query.
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.
Create a Python 3.12 environment for the Transformers and Sentence Transformers examples:
uv venv --python 3.12 .venv-transformers
source .venv-transformers/bin/activate
uv pip install torch "transformers>=5.5.0,<5.17.0" accelerate pillow packaging ninja
uv pip install flash-attn --no-build-isolation
The examples use Flash Attention 2. The Transformers upper bound avoids the Pixtral Flash Attention regression. The checkpoint uses TokenizersBackend and does not require mistral_common.
Model training and evaluations used transformers==5.12.1. Example outputs can vary with hardware and runtime.
Score query/document pairs containing text, images, or both.
import torch
from transformers import AutoModelForSequenceClassification, AutoProcessor
from transformers.image_utils import load_image
MODEL_PATH = "nvidia/Nemotron-3.5-Rerank-8B-BF16" # Or a local checkpoint directory.
IMAGE_URL = "https://docs.nvidia.com/nemo-framework/user-guide/24.07/_images/nemo-llm-mm-stack.png"
MAX_MODEL_LEN = 32768
DEVICE = "cuda:0"
def main() -> None:
if not torch.cuda.is_available():
raise RuntimeError("This bfloat16 example requires a CUDA GPU.")
processor = AutoProcessor.from_pretrained(MODEL_PATH)
model = AutoModelForSequenceClassification.from_pretrained(
MODEL_PATH,
trust_remote_code=True,
dtype=torch.bfloat16,
device_map={"": DEVICE},
attn_implementation="flash_attention_2",
).eval()
def rerank(
query: str,
documents: list[dict],
) -> torch.Tensor:
scores = []
for document in documents:
document_content = []
if document.get("text") is not None:
document_content.append({"type": "text", "text": document["text"]})
if document.get("image") is not None:
document_content.append({"type": "image", "iQuoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.