alt.freeweights.smollm / SmolVLM-Instruct
From: HuggingFaceTB <huggingface.co/HuggingFaceTB>Newsgroups: alt.freeweights.smollmSubject:

SmolVLM-Instruct

Date: 2026-11-15Commit: bb436dcSigned: 2DC28CC7B26A283B ✓

Image text to text model with 2.2B parameters. Onnx and safetensors weights, 29.5 GB in all. Published by HuggingFaceTB under Apache-2.0.

2.2B params29.5GBSmolVLM-Instructonnx safetensorspermissive
FactsParams2.2BSize29.5 GBFormatsonnx, safetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get HuggingFaceTB/SmolVLM-Instruct
# manifest sha256 f4e6b4200c6c… · 29.5 GB · 43 files
$ fw verify ./SmolVLM-Instruct HuggingFaceTB/SmolVLM-Instruct
From sourceHosted (signed)HuggingFaceTB/SmolVLM-InstructLast check: 2026-11-15 04:43 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Quantized of SmolLM2-1.7B-Instruct.

Works with

Overview

Size
29.5 GB
Weights
4.49 GB (safetensors)
Parameters
2.2B
Formats
onnx, safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
43, each with a sha256
Publisher
HuggingFaceTB
Added
2026-11-15
Section
alt.freeweights.smollm
Lineage

Original release from the publisher.

Base model: HuggingFaceTB/SmolLM2-1.7B-Instruct

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 04:43 UTCpassed

Model card

From the publisher at commit bb436dc. Shown as plain text with links; images open at the publisher.

Image: Image description

SmolVLM#

SmolVLM is a compact open multimodal model that accepts arbitrary sequences of image and text inputs to produce text outputs. Designed for efficiency, SmolVLM can answer questions about images, describe visual content, create stories grounded on multiple images, or function as a pure language model without visual inputs. Its lightweight architecture makes it suitable for on-device applications while maintaining strong performance on multimodal tasks.

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 previous Idefics models:

  • Image compression: We introduce a more radical image compression compared to Idefics3 to enable the model to infer faster and use less RAM.
  • Visual Token Encoding: SmolVLM uses 81 visual tokens to encode image patches of size 384×384. Larger images are divided into patches, each encoded separately, enhancing efficiency without compromising performance.

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
image1 = load_image("https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg")
image2 = load_image("https://huggingface.co/spaces/merve/chameleon-7b/resolve/main/bee.jpg")

# Initialize processor and model
processor = AutoProcessor.from_pretrained("HuggingFaceTB/SmolVLM-Instruct")
model = AutoModelForVision2Seq.from_pretrained(
    "HuggingFaceTB/SmolVLM-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": "image"},
            {"type": "text", "text": "Can you describe the two images?"}
        ]
    },
]

# Prepare inputs
prompt = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(text=prompt, images=[image1, image2], 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 first image shows a green statue of the Statue of Liberty standing on a stone pedestal in front of a body of water. 
The statue is holding a torch in its right hand and a tablet in its left hand. The water is calm and there are no boats or other objects visible. 
The sky is clear and there are no clouds. The second image shows a bee on a pink flower. 
The bee is black and yellow and is collecting pollen from the flower. The flower is surrounded by green leaves.
"""
Model optimizations#

Precision: For better performance, load and run the model in half-precision (torch.float16 or torch.bfloat16) if your hardware supports it.

from transformers import AutoModelForVision2Seq
import torch

model = AutoModelForVision2Seq.from_pretrained(
    "HuggingFaceTB/SmolVLM-Instruct",
    torch_dtype=torch.bfloat16
).to("cuda")

You can also load SmolVLM with 4/8-bit quantization using bitsandbytes, torchao or Quanto. Refer to this page for other options.

from transformers import AutoModelForVision2Seq, BitsAndBytesConfig
import torch

quantization_config = BitsAndBytesConfig(load_in_8bit=True)
model = AutoModelForVision2Seq.from_pretrained(
    "HuggingFaceTB/SmolVLM-Instruct",
    quantization_config=quantization_config,
)

Vision Encoder Efficiency: Adjust the image resolution by setting size={"longest_edge": N*384} when initializing the processor, where N is your desired value. The default N=4 works well, which results in input images of size 1536×1536. For documents, N=5 might be beneficial. Decreasing N can save GPU memory and is appropriate for lower-resolution images. This is also useful if you want to fine-tune on videos.

Misuse and Out-of-scope Use#

SmolVLM is not intended for high-stakes scenarios or critical decision-making processes that affect an individual's well-being or livelihood. The model may produce content that appears factual but may not be accurate. Misuse includes, but is not limited to:

  • Prohibited Uses:
    • Evaluating or scoring individuals (e.g., in employment, education, credit)
    • Critical automated decision-making
    • Generating unreliable factual content
  • Malicious Activities:
    • Spam generation
    • Disinformation campaigns
    • Harassment or abuse
    • Unauthorized surveillance
License#

SmolVLM is built upon the shape-optimized SigLIP as image encoder and SmolLM2 for text decoder part.

We release the SmolVLM checkpoints under the Apache 2.0 license.

Training Details#

Training Data#

The training data comes from The Cauldron and Docmatix datasets, with emphasis on document understanding (25%) and image captioning (18%), while maintaining balanced coverage across other crucial capabilities like visual reasoning, chart comprehension, and general instruction following. Image: Example Image

Evaluation#

ModelMMMU (val)MathVista (testmini)MMStar (val)DocVQA (test)TextVQA (val)Min GPU RAM required (GB)
SmolVLM38.844.642.181.672.75.02
Qwen-VL 2B41.147.847.590.179.713.70
InternVL2 2B34.346.349.886.973.410.52
PaliGemma 3B 448px34.928.748.332.256.06.72
moondream232.424.340.370.565.23.87
MiniCPM-V-238.239.839.171.974.17.88
MM1.5 1B35.837.20.081.072.5NaN

Citation information#

You can cite us in the following way:

@article{marafioti2025smolvlm,
  title={SmolVLM: Redefining small and efficient multimodal models}, 
  author={Andrés Marafioti and Orr Zohar and Miquel Farré and Merve Noyan and Elie Bakouch and Pedro Cuenca and Cyril Zakka and Loubna Ben Allal and Anton Lozhkov and Nouamane Tazi and Vaibhav Srivastav and Joshua Lochner and Hugo Larcher and Mathieu Morlon and Lewis Tunstall and Leandro von Werra and Thomas Wolf},
  journal={arXiv preprint arXiv:2504.05299},
  year={2025}
}

Files

43 files · 29.5 GBWeights 4.49 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 43 files with their sha256
FileSizesha256
.gitattributes1.67 KB15e1303e274f3e7e5f9bbb468ac533f052fe292100a8017b0b650a00dbfbf3d9
README.md9.00 KB0ee7107b8bc6b45e3f7e3cdc660bb58a45d144d622ea17820436bf164b9398e2
SmolVLM.png146 KB8f00cfb62434f9bffc0313399f183043f0b2ea05d88fa449e07c2f601f669ebe
added_tokens.json92 B26ea04161b0495f893c3dd0c124eb01da31de88c804dec7bae85cf539e02b3a5
chat_template.json516 B12462caec000542ca1bb73cd0ba25aaf320d90335fc46731fa6a8355ea34bd26
config.json7.45 KBbebb43726e4f4ed02008be5b8f075c04af8a7f2a80d710c526187ffbbad00235
generation_config.json136 B73153bc1a2a2eb7399142dd15b7a682a35f1e35484965ae0444733a877f07819
merges.txt466 KB0b54e8aa4e53d5383e2e4bc635a56b43f9647f7b13832d5d9ecd8f82dac4f510
mixture_the_cauldron.png937 KB98f567c9fe7b2596e92285397619ff50a12b984274be5e175fcc6481f5b551b5
model.safetensors4.49 GB8a4f76cb64f6f2e4e74716d8fc1cfc6a70bbb3eeea69d424c3ec9902655065eb
onnx/decoder_model_merged.onnx168 KBa6a5013f7392cb1ab70de86049bdeaf4522599e682e51eeaf1ad22d0ebfffa44
onnx/decoder_model_merged.onnx_data6.85 GB9fc6bd88348afba41dcf8cc1727663cb88a150f3e35c5c011f80a14b48d4a6ec
onnx/decoder_model_merged_bnb4.onnx967 MBe347876c58484dc6c51422ce04265e6054624754f1f8bb9cc7ac6076e55856bf
onnx/decoder_model_merged_fp16.onnx169 KBec9bfa341a42d5060d69573f5dab1c8be24d9d8cc78af8649c6b077223dcb0c3
onnx/decoder_model_merged_fp16.onnx_data3.42 GB2cc57156f23eeb36f3a8ed08504b2d050f8d221c1a67dcfc1eea089f93154437
onnx/decoder_model_merged_int8.onnx1.72 GB861dcec66dc59cd9e7f2622cf28b60917020f23ac43f11ab179893773da5dbda
onnx/decoder_model_merged_q4.onnx1.07 GB79e171c9285756185c74ed67e0f598d97bae71d2996f3752fb62dd08db4cbba6
onnx/decoder_model_merged_q4f16.onnx965 MB247de27f420790b553b94b29713c56278aedca18b8d68d63dd2e7d72cca397ef
onnx/decoder_model_merged_quantized.onnx1.72 GB9614d219c614af85de470c8870be65e8a3a1d00a8163fb3df8abb6cecb612399
onnx/decoder_model_merged_uint8.onnx1.72 GB9614d219c614af85de470c8870be65e8a3a1d00a8163fb3df8abb6cecb612399
onnx/embed_tokens.onnx403 MB8ec8537866d20b78e618e15aea8f91a558266cd77fe783e513f095fc1de1c8c4
onnx/embed_tokens_bnb4.onnx403 MBeca0a3199567ba01a76dc6b923fd14bce39d6eb51d26686654bb7a98acfad280
onnx/embed_tokens_fp16.onnx201 MB377adedd6ac1975e3afc3fb4c24dd6032a973626da71a5e0648dec3735a56527
onnx/embed_tokens_int8.onnx101 MB6666a926ca2a65f89016ea19ec7c5b8afd01c58e5aca1f33733f2d936f31c71d
onnx/embed_tokens_q4.onnx403 MBeca0a3199567ba01a76dc6b923fd14bce39d6eb51d26686654bb7a98acfad280
onnx/embed_tokens_q4f16.onnx201 MBd835e5524c9a8b349fe55a7f589ab21780417c2f1e67f52062cf7787dcbefc3b
onnx/embed_tokens_quantized.onnx101 MB6666a926ca2a65f89016ea19ec7c5b8afd01c58e5aca1f33733f2d936f31c71d
onnx/embed_tokens_uint8.onnx101 MB6666a926ca2a65f89016ea19ec7c5b8afd01c58e5aca1f33733f2d936f31c71d
onnx/vision_encoder.onnx1.74 GB65bb9b57b64763897cc6dc397450449fce5607138843566a885e2f0a250343c8
onnx/vision_encoder_bnb4.onnx251 MB6a8256b74fd9465f859fab31c1840ed073aa0edd7b75d61127eefe1ce1fcf560
onnx/vision_encoder_fp16.onnx869 MBab171611906fa056c91a28fde0ef1fda897b44bbf1ca0d9ae692cfaff90947b1
onnx/vision_encoder_int8.onnx436 MB352fe86ad7d8358f39fb896de9b2efd0d8a6cf2b6239565841bab5146a735d2f
onnx/vision_encoder_q4.onnx279 MBe7d20e0f8a6201e4944759f2fbcab4fa035bbb1fb34e14700f25f1f00e678992
onnx/vision_encoder_q4f16.onnx248 MB0b47406ea04d0754ccdd5bd0d68e827a72979f962886cf9bdeae926342234298
onnx/vision_encoder_quantized.onnx436 MB38e7292275057cec773aad0218310041e325289d18b708f89deae541925f4274
onnx/vision_encoder_uint8.onnx436 MB38e7292275057cec773aad0218310041e325289d18b708f89deae541925f4274
preprocessor_config.json486 B08fd6c57e2f65c5f9563f3d9539dd611110a783435876e128944fb7e656a381f
processor_config.json68 B9a970ca907f1a38eac04290f5817df29bc0145dc422f6d13b66dfd0a113a4f03
smolvlm-data.pdf55.4 KB30092919492e40d9be2583da9843fe203af2b7c672395510537da83c9980249c
special_tokens_map.json1.07 KBaa0ff906077086dfa9734a7f97f68c825877a48f9468807be65504495cdeef09
tokenizer.json3.52 MBcbfb7909eeb6746ad50a63a6fad2ba2aea041af5e0f9590667c62679f23b226e
tokenizer_config.json4.57 KBe248757fd0d569fb5d6dd77c0daf156d5b47c40b235c9a52103639a0dee347a8
vocab.json801 KB82b84012e3add4d01d12ba14442026e49b8cbbaead1f79ecf3d919784f82dc79
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
bb436dc365 pinned now2026-11-15 04:43 UTC43 files · 29.5 GB

Use it

$ fw get HuggingFaceTB/SmolVLM-Instruct
# manifest sha256 f4e6b4200c6c… · 29.5 GB · 43 files
$ fw verify ./SmolVLM-Instruct HuggingFaceTB/SmolVLM-Instruct
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolVLM-Instruct.json --dir ./SmolVLM-Instruct $ python3 fw.py verify ./SmolVLM-Instruct ./HuggingFaceTB__SmolVLM-Instruct.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download HuggingFaceTB/SmolVLM-Instruct --revision bb436dc36521da6d8cf80a8fdeb12e6b2e323f81 --local-dir ./SmolVLM-Instruct
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForImageTextToText, AutoProcessor processor = AutoProcessor.from_pretrained("HuggingFaceTB/SmolVLM-Instruct", revision="bb436dc36521da6d8cf80a8fdeb12e6b2e323f81") model = AutoModelForImageTextToText.from_pretrained("HuggingFaceTB/SmolVLM-Instruct", revision="bb436dc36521da6d8cf80a8fdeb12e6b2e323f81", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve HuggingFaceTB/SmolVLM-Instruct --revision bb436dc36521da6d8cf80a8fdeb12e6b2e323f81

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
0ee7107b8bc6b45e3f7e3cdc660bb58a45d144d622ea17820436bf164b9398e2
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: HuggingFaceTB <huggingface.co/HuggingFaceTB>Newsgroups: alt.freeweights.smollmSubject: SmolVLM-InstructDate: 2026-11-15Commit: bb436dcSigned: 2DC28CC7B26A283B ✓
Upstream
HuggingFaceTB/SmolVLM-Instruct
Pinned commit
bb436dc36521da6d8cf80a8fdeb12e6b2e323f81
Manifest
SmolVLM-Instruct.json · .minisig
Manifest sha256
f4e6b4200c6c282d9e484225d09984547cffa1dd23b3c367890a499bec7951b6
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:43 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolVLM-Instruct.json $ curl -O https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolVLM-Instruct.json.minisig $ minisign -Vm SmolVLM-Instruct.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

HuggingFaceTB/SmolLM2-1.7B-Instruct · this model is a quantization of it

2 models in the catalog name this one as their parent.

Fine-tunes
1
Quantizations
1
Quantizations 1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download HuggingFaceTB/SmolVLM-Instruct
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. SmolVLM-Instruct.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of SmolVLM-Instruct. Each has its own license check and page.

From: HuggingFaceTB <huggingface.co/HuggingFaceTB>Subject: 135M-lc-100k-rope-12B
From: nisten <huggingface.co/nisten>Subject: Biggie-SmoLlm-0.4B
From: onnx-community <huggingface.co/onnx-community>Subject: Biggie-SmoLlm-0.4B-ONNX
From: unsloth <huggingface.co/unsloth>Subject: SmolLM-1.7B-bnb-4bit
From: unsloth <huggingface.co/unsloth>Subject: SmolLM-1.7B-Instruct
From: unsloth <huggingface.co/unsloth>Subject: SmolLM-135M-bnb-4bit