Model reference · open weights
SmolVLM is an open-weight language model from Hugging Face. SmolVLM-500M-Instruct (BF16) weighs 1.0 GB; the smallest configuration that runs it is RTX 3060 12 GB.
Summary of the HuggingFaceTB/SmolVLM-256M-Instruct model card, 2026-10-01. The estimate below is for another build of the family.
What it is
| Released by | Hugging Face |
|---|---|
| Released | 2025-01-17 |
| Parameters | 256M |
| VRAM | 1.0 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory |
|---|---|---|---|
| 8K each | |||
| RTX 3060 12 GB | 26 | all 8K | 11.6 GB |
| RTX 4060 Ti 16 GB | 37 | all 8K | 15.4 GB |
| RTX 3090 24 GB | 61 | all 8K | 23.4 GB |
| RTX 4090 24 GB | 61 | all 8K | 23.4 GB |
| RTX 5090 32 GB | 84 | all 8K | 31.0 GB |
| L40S 48 GB | 122 | all 8K | 44.0 GB |
| A100 80 GB | 224 | all 8K | 78.2 GB |
| H100 80 GB | 216 | all 8K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 262 | all 8K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 303 | all 8K | 107 GB |
| H200 141 GB | 394 | all 8K | 138 GB |
| B200 180 GB | 507 | all 8K | 176 GB |
| Requests at once | 8K tokens each |
|---|---|
| 1 | 3.2 GB |
| 5 | 4.5 GB |
| 8 | 5.5 GB |
| 16 | 8.2 GB |
| 32 | 13.6 GB |
| 64 | 24.3 GB |
One card, with vLLM's small-card settings.
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| SmolVLM-256M-Instruct ↗ | 256M | BF16 | 513 MB | RTX 3060 12 GB |
| SmolVLM-500M-Instruct (above) ↗ | 507M | BF16 | 1.0 GB | RTX 3060 12 GB |
| SmolVLM-Instruct ↗ | 2.2B | BF16 | 4.5 GB | RTX 3060 12 GB |
From the model card
SmolVLM-256M is the smallest multimodal model in the world. It accepts arbitrary sequences of image and text inputs to produce text outputs. It's designed for efficiency. SmolVLM can answer questions about images, describe visual content, or transcribe text. Its lightweight architecture makes it suitable for on-device applications while maintaining strong performance on multimodal tasks. It can run inference on one image with under 1GB of GPU RAM.
SmolVLM can be used for inference on multimodal (image + text) tasks where the input comprises text queries along with one or more images. Text and images can be interleaved arbitrarily, enabling tasks like image captioning, visual question answering, and storytelling based on visual content. The model does not support image generation.
To fine-tune SmolVLM on a specific task, you can follow the fine-tuning tutorial.
SmolVLM leverages the lightweight SmolLM2 language model to provide a compact yet powerful multimodal experience. It introduces several changes compared to the larger SmolVLM 2.2B model:
More details about the training and architecture are available in our technical report.
You can use transformers to load, infer and fine-tune SmolVLM.
import torch
from PIL import Image
from transformers import AutoProcessor, AutoModelForVision2Seq
from transformers.image_utils import load_image
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
# Load images
image = load_image("https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg")
# Initialize processor and model
processor = AutoProcessor.from_pretrained("HuggingFaceTB/SmolVLM-256M-Instruct")
model = AutoModelForVision2Seq.from_pretrained(
"HuggingFaceTB/SmolVLM-256M-Instruct",
torch_dtype=torch.bfloat16,
_attn_implementation="flash_attention_2" if DEVICE == "cuda" else "eager",
).to(DEVICE)
# Create input messages
messages = [
{
"role": "user",
"content": [
{"type": "image"},
{"type": "text", "text": "Can you describe this image?"}
]
},
]
# Prepare inputs
prompt = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(text=prompt, images=[image], return_tensors="pt")
inputs = inputs.to(DEVICE)
# Generate outputs
generated_ids = model.generate(**inputs, max_new_tokens=500)
generated_texts = processor.batch_decode(
generated_ids,
skip_special_tokens=True,
)
print(generated_texts[0])
"""
Assistant: The image depicts a large, historic statue of liberty, located in New York City. The statue is a green, cylindrical structure with a human figure at the top, holding a torch. The statue is situated on a pedestal that resembles the statue of liberty, which is located on a small island in the middle of a body of water. The water surrounding the island is calm, reflecting the blue sky and the statue.
In the background, there are several tall buildings, including the Empire State Building, which is visible in the distance. These buildings are made of glass and steel, and they are positioned in a grid-like pattern, giving them a modern look. The sky is clear, with a few clouds visible, indicating fair weather.
The statue is surrounded by trees, which are green and appear to be healthy. There are also some small structures, possibly houses or buildings, visible in the distance. The overall scene suggests a peaceful and serene environment, typical of a cityscape.
The image is taken during the daytime, likely during the day of the statue's installation. The lighting is bright, casting a strong shadow on the statue and the water, which enhances the visibility of the statue and the surrounding environment.
To summarize, the image captures a significant historical statue of liberty, situated on a small island in the middle of a body of water, surrounded by trees and buildings. The sky is clear, with a few clouds visible, indicating fair weather. The statue is green and cylindrical, with a human figure holding a torch, and is surrounded by trees, indicating a peaceful and well-maintained environment. The overall scene is one of tranquility and historical significance.
"""
We also provide ONNX weights for the model, which you can run with ONNX Runtime as follows:
from transformers import AutoConfig, AutoProcessor
from transformers.image_utils import load_image
import onnxruntime
import numpy as np
# 1. Load models
## Load config and processor
model_id = "HuggingFaceTB/SmolVLM-256M-Instruct"
config = AutoConfig.from_pretrained(modQuoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.