alt.freeweights.smollm / SmolVLM2-500M-Video-Instruct
From: HuggingFaceTB <huggingface.co/HuggingFaceTB>Newsgroups: alt.freeweights.smollmSubject:

SmolVLM2-500M-Video-Instruct

Date: 2026-11-15Commit: 4cde9d2Signed: 2DC28CC7B26A283B ✓

Image text to text model with 507M parameters. Onnx and safetensors weights, 7.92 GB in all. Published by HuggingFaceTB under Apache-2.0.

507M params7.92GBSmolVLM2-500M-Video-Instructonnx safetensorspermissive
FactsParams507MSize7.92 GBFormatsonnx, safetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get HuggingFaceTB/SmolVLM2-500M-Video-Instruct
# manifest sha256 3c6a04d03f76… · 7.92 GB · 38 files
$ fw verify ./SmolVLM2-500M-Video-Instruct HuggingFaceTB/SmolVLM2-500M-Video-Instruct
From sourceHosted (signed)HuggingFaceTB/SmolVLM2-500M-Video-InstructLast check: 2026-11-15 04:34 UTC

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

Quantized of SmolVLM-500M-Instruct.

Works with

Overview

Size
7.92 GB
Weights
2.03 GB (safetensors)
Parameters
507M
Formats
onnx, safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
38, each with a sha256
Publisher
HuggingFaceTB
Added
2026-11-15
Section
alt.freeweights.smollm
Lineage

Original release from the publisher.

Base model: HuggingFaceTB/SmolVLM-500M-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:34 UTCpassed

Model card

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

Image: Image description

SmolVLM2-500M-Video#

SmolVLM2-500M-Video is 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 1.8GB 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.

Evaluation#

We evaluated the performance of the SmolVLM2 family on the following scientific benchmarks:

SizeVideo-MMEMLVUMVBench
2.2B52.155.246.27
500M42.247.339.73
256M33.740.632.7
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-500M-Video-Instruct"
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 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}
}

Training Data#

SmolVLM2 used 3.3M samples for training originally from ten different datasets: LlaVa Onevision, M4-Instruct, Mammoth, LlaVa Video 178K, FineVideo, VideoStar, VRipt, Vista-400K, MovieChat and ShareGPT4Video. In the following plots we give a general overview of the samples across modalities and the source of those samples.

Data Split per modality#

Data TypePercentage
Image34.4%
Text20.2%
Video33.0%
Multi-image12.3%

Granular dataset slices per modality#

Text Datasets#
DatasetPercentage
llava-onevision/magpie_pro_ft3_80b_mt6.8%
llava-onevision/magpie_pro_ft3_80b_tt6.8%
llava-onevision/magpie_pro_qwen2_72b_tt5.8%
llava-onevision/mathqa0.9%
Multi-image Datasets#
DatasetPercentage
m4-instruct-data/m4_instruct_multiimage10.4%
mammoth/multiimage-cap61.9%
Image Datasets#
DatasetPercentage
llava-onevision/other17.4%
llava-onevision/vision_flan3.9%
llava-onevision/mavis_math_metagen2.6%
llava-onevision/mavis_math_rule_geo2.5%
llava-onevision/sharegpt4o1.7%
llava-onevision/sharegpt4v_coco1.5%
llava-onevision/image_textualization1.3%
llava-onevision/sharegpt4v_llava0.9%
llava-onevision/mapqa0.9%
llava-onevision/qa0.8%
llava-onevision/textocr0.8%
Video Datasets#
DatasetPercentage
llava-video-178k/1-2m7.3%
llava-video-178k/2-3m7.0%
other-video/combined5.7%
llava-video-178k/hound4.4%
llava-video-178k/0-30s2.4%
video-star/starb2.2%
vista-400k/combined2.2%
vript/long1.0%
ShareGPT4Video/all0.8%

Files

38 files · 7.92 GBWeights 2.03 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 38 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md10.9 KBafc4bf5f519438b221a84292979a9eac3de4b9726e5baaa82033c55f59f9f7a5
added_tokens.json4.74 KB74135b8664b56088c0006f1c8e848d79a8eba003411f72ebf1dc2ee96227be3a
chat_template.json517 B9bc4f36b8d064f824368648472a4a09268c4bbf9bf930f04fae47f1f596dae92
config.json3.77 KBea6bc1237e96247f6258de3e202e2e62b93d6f386dc47e7b36b5588bf3a15e17
generation_config.json136 B34835060c9f0f74d1acb456cc72ca32746d3843d9eb5f578f9cbffac1d2eb840
merges.txt466 KB0b54e8aa4e53d5383e2e4bc635a56b43f9647f7b13832d5d9ecd8f82dac4f510
model.safetensors2.03 GBb9bfd456c9472c0acd5719d6e514c4b859891af205ee1a736552fd3497b8b0c3
onnx/decoder_model_merged.onnx1.45 GB2c8743f020606f401ffa0c0ec7a7055da6ad7518b981ecdb060b62da3a60ec45
onnx/decoder_model_merged_bnb4.onnx207 MBc20111c92ecee932e85de34e0afd9341f60bb210456bc5d8a4809c055dd5bc15
onnx/decoder_model_merged_fp16.onnx725 MBace259f4ff3a070cfcefc41c6b4ddaf52a5c1b988348004da13043ff4a6de5ae
onnx/decoder_model_merged_int8.onnx365 MB7d0a356562c7e474012c5e383de58d44d487a517c04190d26e5891db86cb2b1f
onnx/decoder_model_merged_q4.onnx229 MB69561703c23810bf58cd4fe81b2427df95339a5b55743f62d1e767bd4a83a1e2
onnx/decoder_model_merged_q4f16.onnx205 MB6265f0aa571ad624f67b5f19b79f1562b4bfd4e6db812815c1794172985b3e5e
onnx/decoder_model_merged_quantized.onnx365 MBa5aaa12d62d43a05a4a7456864c508d0b3c17c55a654c05fb568f6da0b7d212d
onnx/decoder_model_merged_uint8.onnx365 MBa5aaa12d62d43a05a4a7456864c508d0b3c17c55a654c05fb568f6da0b7d212d
onnx/embed_tokens.onnx189 MB4696831e7181d72fd7736b0c119cd53141a46c940ca24c03ce05ba623b402dd4
onnx/embed_tokens_bnb4.onnx189 MBdc09c2b3264365dcc8de8cae7513b640a40624cd038ede20a0ffcac0f82ecb11
onnx/embed_tokens_fp16.onnx94.6 MBbc9e790f2e90ebf3b1efe84ec82530d6c12e27b0a103703fe865a5faf24f2336
onnx/embed_tokens_int8.onnx47.3 MB0e6d275190cd1cdf3339225b98b42116871ddc4e0c3210801f02bf2a1d2e164a
onnx/embed_tokens_q4.onnx189 MBdc09c2b3264365dcc8de8cae7513b640a40624cd038ede20a0ffcac0f82ecb11
onnx/embed_tokens_q4f16.onnx94.6 MBa330cc444671c47e6a2de559405404043b2a49b015188250eca8c0c88d263b73
onnx/embed_tokens_quantized.onnx47.3 MB0e6d275190cd1cdf3339225b98b42116871ddc4e0c3210801f02bf2a1d2e164a
onnx/embed_tokens_uint8.onnx47.3 MB0e6d275190cd1cdf3339225b98b42116871ddc4e0c3210801f02bf2a1d2e164a
onnx/vision_encoder.onnx393 MBd4797cdad0ba1958e7dfcc5e074d0b02ae3c4df80cce17ecab282dde37e0ddc1
onnx/vision_encoder_bnb4.onnx60.7 MB749b03c76adc0311fdc2d347ace3c9f78c792816e519c3e28a17f12f27cd496d
onnx/vision_encoder_fp16.onnx197 MB9faa8f3b4a922514a2e7773f20e99fdf7dc7b4eeeeaca1fb82cf18f7945ca23a
onnx/vision_encoder_int8.onnx99.0 MBd931eb204e21ab4d905d62976aeaefe20360076f52760ba55b84a5b35088284f
onnx/vision_encoder_q4.onnx66.7 MB2fb71423919f04851bdac96588267e6a9db95903ca94fcd7b7a0f51b5cd53d8a
onnx/vision_encoder_q4f16.onnx57.7 MBf7e811e4cef2c214c80ea7572eacb102ea396a881fb9170577b20c10fe4fa485
onnx/vision_encoder_quantized.onnx99.0 MB8e8e2950e6837a71a3d972a14eb287d8875c4c2d5e8cfd6001bf185115295cdd
onnx/vision_encoder_uint8.onnx99.0 MB8e8e2950e6837a71a3d972a14eb287d8875c4c2d5e8cfd6001bf185115295cdd
preprocessor_config.json599 B149e315d9410368e5491455bb06e0f763426e9e56cca731c13b24404a29b6374
processor_config.json67 Bf3ad45028447b3562b4752be0d5916d6806c1ef589091a469608dcf0faa1737c
special_tokens_map.json868 B2dfea2a426162316ff1567c82bc6d36d9690cd9f90455f075c77daca78b45c60
tokenizer.json3.55 MB5ece781dc8d2b2f3e2f289ca0ae50b17cfc27dd27bfe7971bb8241e0b964331a
tokenizer_config.json28.7 KB8b262ec2acb7773caac7b1e59edf921671cdb4c7c815a9c714242540d3fcb531
vocab.json801 KB82b84012e3add4d01d12ba14442026e49b8cbbaead1f79ecf3d919784f82dc79
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
4cde9d208e pinned now2026-11-15 04:34 UTC38 files · 7.92 GB

Use it

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

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
afc4bf5f519438b221a84292979a9eac3de4b9726e5baaa82033c55f59f9f7a5
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-500M-Video-InstructDate: 2026-11-15Commit: 4cde9d2Signed: 2DC28CC7B26A283B ✓
Upstream
HuggingFaceTB/SmolVLM2-500M-Video-Instruct
Pinned commit
4cde9d208e19519c36917aa170fffc7e381aa0ad
Manifest
SmolVLM2-500M-Video-Instruct.json · .minisig
Manifest sha256
3c6a04d03f764d69f9b85e0215d2cae99de35db417e8a92eb71224b2627b542c
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:34 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolVLM2-500M-Video-Instruct.json $ curl -O https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolVLM2-500M-Video-Instruct.json.minisig $ minisign -Vm SmolVLM2-500M-Video-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/SmolVLM-500M-Instruct · this model is a quantization of it

1 model in the catalog name this one as their parent.

Quantizations
1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download HuggingFaceTB/SmolVLM2-500M-Video-Instruct
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. SmolVLM2-500M-Video-Instruct.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of SmolVLM2-500M-Video-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