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

SmolVLM-Instruct-DPO

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

Image text to text model. Safetensors weights, 113 MB in all. Published by HuggingFaceTB under Apache-2.0.

smollm113MBSmolVLM-Instruct-DPOsafetensorspermissive
FactsParamsnot statedSize113 MBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get HuggingFaceTB/SmolVLM-Instruct-DPO
# manifest sha256 291967d67a84… · 113 MB · 14 files
$ fw verify ./SmolVLM-Instruct-DPO HuggingFaceTB/SmolVLM-Instruct-DPO
From sourceHosted (signed)HuggingFaceTB/SmolVLM-Instruct-DPOLast check: 2026-11-15 05:25 UTC

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

Adapter of SmolLM2-1.7B-Instruct.

Works with

Overview

Size
113 MB
Weights
108 MB (safetensors)
Parameters
not stated
Formats
safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
14, 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 05:25 UTCpassed

Model card

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

Image: Image description

SmolVLM-Instruct-DPO#

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#

  • Demo: SmolVLM Demo
  • Blog: SmolVLM
  • Technical Report: [More Information Needed]
  • Repository: [More Information Needed]

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.

How to Get Started with the Model#

Use the code below to get started with the model.

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, model and load PEFT adapter
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)
model.load_adapter("HuggingFaceTB/SmolVLM-Instruct-DPO")

# 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])

Training Details#

Training Data#

HuggingFaceH4/rlaif-v_formatted

Training Procedure#

See the detailed blog on preference tuning VLLMs here.

accelerate launch  --config_file examples/accelerate_configs/multi_gpu.yaml \
  examples/scripts/dpo_vlm.py \
  --dataset_name HuggingFaceH4/rlaif-v_formatted \
  --model_name_or_path HuggingFaceTB/SmolVLM-Instruct \
  --per_device_train_batch_size 8 \
  --gradient_accumulation_steps 32 \
  --dataset_num_proc 32 \
  --output_dir dpo_smolvlm_rlaif-v \
  --bf16 \
  --torch_dtype bfloat16 \
  --use_peft \
  --lora_target_modules=all-linear
Framework versions#
  • PEFT 0.13.2

Files

14 files · 113 MBWeights 108 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 14 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md4.08 KB52ce4206e939e37da8de8320ca462ba50f8f5921145bd692e0a9ae016f15a91e
adapter_config.json783 B18a86d3e74c254346fd710f3d0878df64267be21b80b7c784c06eb900b05cd0b
adapter_model.safetensors108 MBadfe19906cbd63d884cc6264be2d96026e0da22df199c49281544111e2ee5528
added_tokens.json92 B26ea04161b0495f893c3dd0c124eb01da31de88c804dec7bae85cf539e02b3a5
chat_template.json435 B1b1c06caad0c54044d41423364cc7c75ad05c5d2340070b0cda9b13527148f32
merges.txt466 KB0b54e8aa4e53d5383e2e4bc635a56b43f9647f7b13832d5d9ecd8f82dac4f510
preprocessor_config.json487 B79d57176be1bab9f3f8c2a4afa9eb28ee369f426e2a930e47e73987f5bb74159
processor_config.json68 Bfdc9e4394763a2432bb837c33cbf4f5f9dacbbeb956744febc8395f8d6a43314
special_tokens_map.json1.08 KBb0eeed3b8bc70683d3ff71a87bf58915938fd18910e2b10b1f676642340ed1de
tokenizer.json3.52 MBcbfb7909eeb6746ad50a63a6fad2ba2aea041af5e0f9590667c62679f23b226e
tokenizer_config.json4.49 KB20cb3c9518192cba863f90ecaabd35803baf7be8a75336324363d2355b1f3cba
training_args.bin6.20 KB9133972be35625911eb4da172ef2f4e623d69b610a2c83722b4853019a9a82ee
vocab.json801 KB82b84012e3add4d01d12ba14442026e49b8cbbaead1f79ecf3d919784f82dc79
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
eb8601c894 pinned now2026-11-15 05:25 UTC14 files · 113 MB

Use it

$ fw get HuggingFaceTB/SmolVLM-Instruct-DPO
# manifest sha256 291967d67a84… · 113 MB · 14 files
$ fw verify ./SmolVLM-Instruct-DPO HuggingFaceTB/SmolVLM-Instruct-DPO
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-DPO.json --dir ./SmolVLM-Instruct-DPO $ python3 fw.py verify ./SmolVLM-Instruct-DPO ./HuggingFaceTB__SmolVLM-Instruct-DPO.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download HuggingFaceTB/SmolVLM-Instruct-DPO --revision eb8601c89485e333a1028394b90e327279267d62 --local-dir ./SmolVLM-Instruct-DPO

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
52ce4206e939e37da8de8320ca462ba50f8f5921145bd692e0a9ae016f15a91e
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-Instruct-DPODate: 2026-11-15Commit: eb8601cSigned: 2DC28CC7B26A283B ✓
Upstream
HuggingFaceTB/SmolVLM-Instruct-DPO
Pinned commit
eb8601c89485e333a1028394b90e327279267d62
Manifest
SmolVLM-Instruct-DPO.json · .minisig
Manifest sha256
291967d67a84b4c47852ece37a92ff19f9df6922319d0c619885da84ec6f78a7
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 05:25 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolVLM-Instruct-DPO.json $ curl -O https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolVLM-Instruct-DPO.json.minisig $ minisign -Vm SmolVLM-Instruct-DPO.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 adapter 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/SmolVLM-Instruct-DPO
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-DPO.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