alt.freeweights.smollm / SmolVLM2-2.2B-Base
From: HuggingFaceTB <huggingface.co/HuggingFaceTB>Newsgroups: alt.freeweights.smollmSubject:

SmolVLM2-2.2B-Base

Date: 2026-11-14Commit: 312a110Signed: 2DC28CC7B26A283B ✓

Image text to text model with 2.2B parameters. Safetensors weights, 4.50 GB in all. Published by HuggingFaceTB under Apache-2.0.

2.2B params4.50GBSmolVLM2-2.2B-Basesafetensorspermissive
FactsParams2.2BSize4.50 GBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get HuggingFaceTB/SmolVLM2-2.2B-Base
# manifest sha256 d6dd2e35f7bb… · 4.50 GB · 14 files
$ fw verify ./SmolVLM2-2.2B-Base HuggingFaceTB/SmolVLM2-2.2B-Base
From sourceHosted (signed)HuggingFaceTB/SmolVLM2-2.2B-BaseLast check: 2026-11-14 21:11 UTC

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

Fine-tune of SmolVLM-Base.

Works with

Overview

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

Original release from the publisher.

Base model: HuggingFaceTB/SmolVLM-Base

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-14 21:11 UTCpassed

Model card

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

Image: Image description

SmolVLM2 2.2B#

This is the base model for SmolVLM2-2.2B, a lightweight multimodal model designed to analyze video content. The model processes videos, images, and text inputs to generate text outputs - whether answering questions about media files, comparing visual content, or transcribing text from images. Despite its compact size, requiring only 5.2GB of GPU RAM for video inference, it delivers robust performance on complex multimodal tasks. This efficiency makes it particularly well-suited for on-device applications where computational resources may be limited.

Model Summary#

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

Resources#

Uses#

SmolVLM2 can be used for inference on multimodal (video / image / text) tasks where the input consists of text queries along with video or one or more images. Text and media files can be interleaved arbitrarily, enabling tasks like captioning, visual question answering, and storytelling based on visual content. The model does not support image or video generation.

To fine-tune SmolVLM2 on a specific task, you can follow the fine-tuning tutorial.

How to get started#

You can use transformers to load, infer and fine-tune SmolVLM. Make sure you have num2words, flash-attn and latest transformers installed. You can load the model as follows.

from transformers import AutoProcessor, AutoModelForImageTextToText
import torch

model_path = "HuggingFaceTB/SmolVLM2-2.2B-Base"
processor = AutoProcessor.from_pretrained(model_path)
model = AutoModelForImageTextToText.from_pretrained(
    model_path,
    torch_dtype=torch.bfloat16,
    _attn_implementation="flash_attention_2"
).to("cuda")
Simple Inference#

You preprocess your inputs directly using chat templates and directly passing them

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg"},
            {"type": "text", "text": "Can you describe this image?"},
        ]
    },
]

inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device, dtype=torch.bfloat16)

generated_ids = model.generate(**inputs, do_sample=False, max_new_tokens=64)
generated_texts = processor.batch_decode(
    generated_ids,
    skip_special_tokens=True,
)
print(generated_texts[0])
Video Inference#

To use SmolVLM2 for video inference, make sure you have decord installed.

messages = [
    {
        "role": "user",
        "content": [
            {"type": "video", "path": "path_to_video.mp4"},
            {"type": "text", "text": "Describe this video in detail"}
        ]
    },
]

inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device, dtype=torch.bfloat16)

generated_ids = model.generate(**inputs, do_sample=False, max_new_tokens=64)
generated_texts = processor.batch_decode(
    generated_ids,
    skip_special_tokens=True,
)

print(generated_texts[0])
Multi-image Interleaved Inference#

You can interleave multiple media with text using chat templates.

import torch


messages = [
    {
        "role": "user",
        "content": [
          {"type": "text", "text": "What is the similarity between these two images?"},
          {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg"},
          {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"},            
        ]
    },
]

inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device, dtype=torch.bfloat16)

generated_ids = model.generate(**inputs, do_sample=False, max_new_tokens=64)
generated_texts = processor.batch_decode(
    generated_ids,
    skip_special_tokens=True,
)
print(generated_texts[0])
Model optimizations#

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#

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

We release the SmolVLM2 checkpoints under the Apache 2.0 license.

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

14 files · 4.50 GBWeights 4.49 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 14 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md6.85 KB9b0710711b1fe1efecb502a29d9119d1590c189a5ef4ad4a223c711b993bebfe
added_tokens.json1.05 KB18978c45479d31b68104a8846f6a11c502f539258fcf1ff006c2d3356dd4333d
chat_template.json424 B4d394b3c624d9c548e149ba1cbdf40215904629fc5a171a04211adc241a7da0c
config.json3.48 KB303844231a6768fbb6a93cac23154c6fed47b4d529b19248a70ba3261f3d2d31
generation_config.json142 Be5c532484a01b4126b064039d9f6337a2de1b51d8ef3d4c835ec9a37a6b8b46a
merges.txt466 KB0b54e8aa4e53d5383e2e4bc635a56b43f9647f7b13832d5d9ecd8f82dac4f510
model.safetensors4.49 GBa466e2ecfbfe671da319882287e08c77f84eba1829df5ef081df30de2a04f758
preprocessor_config.json486 Be876521b9a75f7da3d31f043323e27004006c01c22934fd9567dc250836a9bdc
processor_config.json68 Bfdc9e4394763a2432bb837c33cbf4f5f9dacbbeb956744febc8395f8d6a43314
special_tokens_map.json1.07 KBaa0ff906077086dfa9734a7f97f68c825877a48f9468807be65504495cdeef09
tokenizer.json3.53 MB761e5e6886a3184d65cb626bac0253616c33d5e3df7c2c40ed0d87ed85b41a62
tokenizer_config.json11.1 KB7b308b20a0750f9203559b4baf0f9aeafb3218c97d240ceeff05d91feba68016
vocab.json801 KB82b84012e3add4d01d12ba14442026e49b8cbbaead1f79ecf3d919784f82dc79
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
312a110166 pinned now manifest updated, same commit2026-11-14 21:11 UTC14 files · 4.50 GB
312a1101662026-11-14 21:11 UTC14 files · 4.50 GB

Use it

$ fw get HuggingFaceTB/SmolVLM2-2.2B-Base
# manifest sha256 d6dd2e35f7bb… · 4.50 GB · 14 files
$ fw verify ./SmolVLM2-2.2B-Base HuggingFaceTB/SmolVLM2-2.2B-Base
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolVLM2-2.2B-Base.json --dir ./SmolVLM2-2.2B-Base $ python3 fw.py verify ./SmolVLM2-2.2B-Base ./HuggingFaceTB__SmolVLM2-2.2B-Base.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download HuggingFaceTB/SmolVLM2-2.2B-Base --revision 312a1101666abee14afd5191926092748504bb19 --local-dir ./SmolVLM2-2.2B-Base
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/SmolVLM2-2.2B-Base", revision="312a1101666abee14afd5191926092748504bb19") model = AutoModelForImageTextToText.from_pretrained("HuggingFaceTB/SmolVLM2-2.2B-Base", revision="312a1101666abee14afd5191926092748504bb19", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve HuggingFaceTB/SmolVLM2-2.2B-Base --revision 312a1101666abee14afd5191926092748504bb19

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-14
Text in
README.md
Text sha256
9b0710711b1fe1efecb502a29d9119d1590c189a5ef4ad4a223c711b993bebfe
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: SmolVLM2-2.2B-BaseDate: 2026-11-14Commit: 312a110Signed: 2DC28CC7B26A283B ✓
Upstream
HuggingFaceTB/SmolVLM2-2.2B-Base
Pinned commit
312a1101666abee14afd5191926092748504bb19
Manifest
SmolVLM2-2.2B-Base.json · .minisig
Manifest sha256
d6dd2e35f7bbc7a85853ce9364bd89043db2d000c8881b71826a1843a27a0609
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:11 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolVLM2-2.2B-Base.json $ curl -O https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolVLM2-2.2B-Base.json.minisig $ minisign -Vm SmolVLM2-2.2B-Base.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/SmolVLM-Base · this model is a finetune of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download HuggingFaceTB/SmolVLM2-2.2B-Base
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. SmolVLM2-2.2B-Base.json. Provenance. Takedown history: none.
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