Model reference · open weights

granite-vision-3.3

LLMs ibm-granite Image→text 1 build Open weights 254k dl/mo

granite-vision-3.3 is an open-weight language model from IBM. granite-vision-3.3-2b (BF16) weighs 6.0 GB; the smallest configuration that runs it is RTX 3060 12 GB.

  • Granite-vision-3.3-2b is a 3.0B parameter vision-language model developed by IBM for visual document understanding tasks such as extracting content from tables, charts, and diagrams.
  • The model supports English instructions and image inputs, features a 128k context length, and is released under the Apache 2.0 license.

Summary of the ibm-granite/granite-vision-3.3-2b model card, 2026-10-01

What it is

Released byIBM
Released2025-06-03
Parameters3.0B
VRAM6.0 GB for the weights

What it runs on

Memory and cards for granite-vision-3.3-2b (BF16)

6.0 GBweights, file size
82 MBcache per 1K tokens
1.9 GBruntime overhead, at least
131,072 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB5145K11.6 GB
RTX 4060 Ti 16 GB11290K15.4 GB
RTX 3090 24 GB235all 128K23.4 GB
RTX 4090 24 GB235all 128K23.4 GB
RTX 5090 32 GB348all 128K31.0 GB
L40S 48 GB5313all 128K44.0 GB
A100 80 GB10426all 128K78.2 GB
H100 80 GB10025all 128K78.1 GB
RTX PRO 6000 Blackwell 96 GB12330all 128K93.8 GB
DGX Spark (GB10) 128 GB unified14335all 128K107 GB
H200 141 GB18947all 128K138 GB
B200 180 GB24561all 128K176 GB
2× RTX 3060 12 GB
tensor parallel
205all 128K11.6 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
18.5 GB10.5 GB
511.2 GB21.2 GB
813.2 GB29.3 GB
1618.6 GB50.8 GB
3229.3 GB93.7 GB
6450.8 GB180 GB

One card, with vLLM's small-card settings.

From the model card

What IBM says about granite-vision-3.3

Read the model card

Model Summary: Granite-vision-3.3-2b is a compact and efficient vision-language model, specifically designed for visual document understanding, enabling automated content extraction from tables, charts, infographics, plots, diagrams, and more. Granite-vision-3.3-2b introduces several novel experimental features such as image segmentation, doctags generation, and multi-page support (see Experimental Capabilities for more details) and offers enhanced safety when compared to earlier Granite vision models. The model was trained on a meticulously curated instruction-following data, comprising diverse public and synthetic datasets tailored to support a wide range of document understanding and general image tasks. Granite-vision-3.3-2b was trained by fine-tuning a Granite large language model with both image and text modalities.

Evaluations: We compare the performance of granite-vision-3.3-2b with previous versions of granite-vision models. Evaluations were done using the standard llms-eval benchmark and spanned multiple public benchmarks, with particular emphasis on document understanding tasks while also including general visual question-answering benchmarks.

Granite-vision-3.1-2b-previewGranite-vision-3.2-2bGranite-vision-3.3-2b
Document benchmarks
ChartQA0.860.870.87
DocVQA0.880.890.91
TextVQA0.760.780.80
AI2D0.780.760.77
InfoVQA0.630.640.68
OCRBench0.750.770.79
LiveXiv VQA v20.610.610.61
LiveXiv TQA v20.550.570.52
Other benchmarks
MMMU0.350.370.37
VQAv20.810.780.79
RealWorldQA0.650.630.63
VizWiz VQA0.640.630.62
OK VQA0.570.560.55

Supported Input Format: Currently the model supports English instructions and images (png, jpeg) as input format.

Intended Use: The model is intended to be used in enterprise applications that involve processing visual and text data. In particular, the model is well-suited for a range of visual document understanding tasks, such as analyzing tables and charts, performing optical character recognition (OCR), and answering questions based on document content. Additionally, its capabilities extend to general image understanding, enabling it to be applied to a broader range of business applications. For tasks that exclusively involve text-based input, we suggest using our Granite large language models, which are optimized for text-only processing and offer superior performance compared to this model.

Generation:

Granite Vision model is supported natively transformers>=4.49. Below is a simple example of how to use the granite-vision-3.3-2b model.

Usage with transformers

First, make sure to build the latest versions of transformers:

pip install transformers>=4.49

Then run the code:

from transformers import AutoProcessor, AutoModelForVision2Seq
from huggingface_hub import hf_hub_download
import torch

device = "cuda" if torch.cuda.is_available() else "cpu"

model_path = "ibm-granite/granite-vision-3.3-2b"
processor = AutoProcessor.from_pretrained(model_path)
model = AutoModelForVision2Seq.from_pretrained(model_path).to(device)

# prepare image and text prompt, using the appropriate prompt template

img_path = hf_hub_download(repo_id=model_path, filename='example.png')

conversation = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": img_path},
            {"type": "text", "text": "What is the highest scoring model on ChartQA and what is its score?"},
        ],
    },
]
inputs = processor.apply_chat_template(
    conversation,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt"
).to(device)

# autoregressively complete prompt
output = model.generate(**inputs, max_new_tokens=100)
print(processor.decode(output[0], skip_special_tokens=True))

Usage with vLLM

The model can also be loaded with vLLM. First make sure to install the following libraries:

pip install torch torchvision torchaudio
pip install vllm==0.6.6

Then, copy the snippet from the section that is relevant for your use case.

from vllm import LLM, SamplingParams
from vllm.assets.image import ImageAsset
from huggingface_hub import hf_hub_download
from PIL import Image

model_path = "ibm-granite/granite-vision-3.3-2b"

model = LLM(
    model=model_path,
)

sampling_params = SamplingParams(
    temperature=0.2,
    max_tokens=64,
)

# Define the question we want to answer and format the prompt
image_token = ""
system_prompt = "\nA chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.\n"

question = "What is the highest scoring model on ChartQA and what is its score?"
prompt = f"{system_prompt}\n{image_token}\n{question}\n\n"
img_path = hf_hub_download(repo_id=model_path, filename='example.png')
image = Image.open(img_path).convert("RGB")
print(image)

# Build the inputs to vLLM; the image is passed as `multi_modal_data`.
inputs = {
    "prompt": prompt,
    "multi_modal_data": {
        "image": image,
    }
}

outputs = model.generate(inputs, sampling_params=sampling_params)
print(f"Generated text: {outputs[0].outputs[0].text}")

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms