Model reference · open weights

SmolVLM

LLMs HuggingFaceTB Vision + text 3 builds Open weights 596k dl/mo

SmolVLM is an open-weight language model from Hugging Face. SmolVLM-Instruct (BF16) weighs 4.5 GB; the smallest configuration that runs it is RTX 3060 12 GB.

  • SmolVLM-256M is a 256M parameter multimodal model developed by Hugging Face for image-text-to-text tasks.
  • It accepts interleaved sequences of images and text to generate text outputs, supporting applications such as visual question answering and image captioning in English.
  • The model is designed for efficiency, capable of running inference on a single image with under 1GB of GPU RAM, and is released under the Apache 2.0 license.

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 byHugging Face
Released2025-01-17
Parameters256M
VRAM4.5 GB for the weights

What it runs on

Memory and cards for SmolVLM-Instruct (BF16)

4.5 GBweights, file size
197 MBcache per 1K tokens
1.9 GBruntime overhead, at least
16,384 tokenscontext max
CardRequests at onceContext maxMemory
8K each
RTX 3060 12 GB3all 16K11.6 GB
RTX 4060 Ti 16 GB5all 16K15.4 GB
RTX 3090 24 GB10all 16K23.4 GB
RTX 4090 24 GB10all 16K23.4 GB
RTX 5090 32 GB15all 16K31.0 GB
L40S 48 GB23all 16K44.0 GB
A100 80 GB44all 16K78.2 GB
H100 80 GB42all 16K78.1 GB
RTX PRO 6000 Blackwell 96 GB52all 16K93.8 GB
DGX Spark (GB10) 128 GB unified60all 16K107 GB
H200 141 GB79all 16K138 GB
B200 180 GB103all 16K176 GB
2× RTX 3060 12 GB
tensor parallel
9all 16K11.6 GB a card
2× RTX 4060 Ti 16 GB
tensor parallel
14all 16K15.4 GB a card
Memory needed at each load
Requests at once8K tokens each
18.0 GB
514.4 GB
819.2 GB
1632.1 GB
3257.9 GB
64109 GB

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

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
SmolVLM-256M-Instruct ↗ 256MBF16 513 MBRTX 3060 12 GB
SmolVLM-500M-Instruct ↗ 507MBF16 1.0 GBRTX 3060 12 GB
SmolVLM-Instruct (above) ↗ 2.2BBF16 4.5 GBRTX 3060 12 GB

From the model card

What Hugging Face says about SmolVLM

Read 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.

Model Summary

  • Developed by: Hugging Face 🤗
  • Model type: Multi-modal model (image+text)
  • Language(s) (NLP): English
  • License: Apache 2.0
  • Architecture: Based on Idefics3 (see technical summary)

Resources

Uses

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.

Technical Summary

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:

  • Image compression: We introduce a more radical image compression compared to Idefics3 and SmolVLM-2.2B to enable the model to infer faster and use less RAM.
  • Visual Token Encoding: SmolVLM-256 uses 64 visual tokens to encode image patches of size 512×512. Larger images are divided into patches, each encoded separately, enhancing efficiency without compromising performance.
  • New special tokens: We added new special tokens to divide the subimages. This allows for more efficient tokenization of the images.
  • Smoller vision encoder: We went from a 400M parameter siglip vision encoder to a much smaller 93M encoder.
  • Larger image patches: We are now passing patches of 512x512 to the vision encoder, instead of 384x384 like the larger SmolVLM. This allows the information to be encoded more efficiently.

More details about the training and architecture are available in our technical report.

How to get started

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(mod

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