Smolvlm2 2.2B Instruct
SmolVLM2-2.2B 是一款輕量級多模態模型,專為分析視頻內容而設計,可處理視頻、圖像和文本輸入並生成文本輸出。
下載量 62.56k
發布時間 : 2/8/2025
模型概述
該模型能夠回答關於媒體文件的問題、比較視覺內容或從圖像中轉錄文本,適合計算資源有限的設備端應用。
模型特點
輕量高效
僅需5.2GB GPU顯存即可進行視頻推理,適合資源有限的環境
多模態支持
可同時處理視頻、圖像和文本輸入,支持多種媒體交錯排列
設備端適用
小巧的體積使其特別適合在計算資源有限的設備上運行
強任務表現
儘管體積小,但在複雜多模態任務上表現強勁
模型能力
視覺問答
視頻內容描述
圖像內容描述
多圖像比較分析
文本轉錄
基於視覺內容的故事講述
使用案例
內容分析
視頻亮點生成
分析視頻內容並生成關鍵事件描述
可用於自動生成視頻摘要
視覺問答
回答關於圖像或視頻內容的特定問題
在Mathvista基準測試中達到51.5分
文檔處理
文本轉錄
從圖像中提取和轉錄文本內容
在OCRBench基準測試中達到72.9分
🚀 SmolVLM2 2.2B
SmolVLM2-2.2B是一款輕量級多模態模型,專為分析視頻內容而設計。該模型能夠處理視頻、圖像和文本輸入,以生成文本輸出,可用於回答關於媒體文件的問題、比較視覺內容或從圖像中轉錄文本。儘管其體積小巧,視頻推理僅需5.2GB的GPU內存,但在複雜的多模態任務中仍能提供出色的性能。這種高效性使其特別適合計算資源有限的設備端應用。
✨ 主要特性
- 多模態處理:能夠處理視頻、圖像和文本輸入,生成文本輸出。
- 輕量級設計:僅需5.2GB的GPU內存進行視頻推理。
- 高效性能:在複雜的多模態任務中表現出色。
- 適合設備端應用:適用於計算資源有限的場景。
📦 安裝指南
使用transformers
庫加載、推理和微調SmolVLM,確保安裝num2words
、flash-attn
和最新版本的transformers
。
💻 使用示例
基礎用法
from transformers import AutoProcessor, AutoModelForImageTextToText
import torch
model_path = "HuggingFaceTB/SmolVLM2-2.2B-Instruct"
processor = AutoProcessor.from_pretrained(model_path)
model = AutoModelForImageTextToText.from_pretrained(
model_path,
torch_dtype=torch.bfloat16,
_attn_implementation="flash_attention_2"
).to("cuda")
高級用法
簡單推理
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])
視頻推理
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])
多圖像交錯推理
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])
📚 詳細文檔
模型概述
屬性 | 詳情 |
---|---|
開發者 | Hugging Face 🤗 |
模型類型 | 多模態模型(圖像/多圖像/視頻/文本) |
語言(NLP) | 英語 |
許可證 | Apache 2.0 |
架構 | 基於 Idefics3(詳見技術概述) |
資源
用途
SmolVLM2可用於多模態(視頻/圖像/文本)任務的推理,輸入包括文本查詢以及視頻或一個或多個圖像。文本和媒體文件可以任意交錯,支持諸如字幕生成、視覺問答和基於視覺內容的故事講述等任務。該模型不支持圖像或視頻生成。
若要針對特定任務微調SmolVLM2,可參考微調教程。
評估
視覺評估
模型 | Mathvista | MMMU | OCRBench | MMStar | AI2D | ChartQA_Test | Science_QA | TextVQA Val | DocVQA Val |
---|---|---|---|---|---|---|---|---|---|
SmolVLM2 2.2B | 51.5 | 42 | 72.9 | 46 | 70 | 68.84 | 90 | 73.21 | 79.98 |
SmolVLM 2.2B | 43.9 | 38.3 | 65.5 | 41.8 | 84.5 | 71.6 | 84.5 | 72.1 | 79.7 |
視頻評估
規模 | Video-MME | MLVU | MVBench |
---|---|---|---|
2.2B | 52.1 | 55.2 | 46.27 |
500M | 42.2 | 47.3 | 39.73 |
256M | 33.7 | 40.6 | 32.7 |
模型優化
文檔未提及具體優化內容。
誤用和超範圍使用
SmolVLM不適用於高風險場景或影響個人福祉和生計的關鍵決策過程。該模型可能會生成看似事實但可能不準確的內容。誤用包括但不限於:
- 禁止用途:
- 評估或評分個人(如就業、教育、信貸方面)
- 關鍵自動化決策
- 生成不可靠的事實內容
- 惡意活動:
- 垃圾郵件生成
- 虛假信息傳播
- 騷擾或虐待
- 未經授權的監控
許可證
SmolVLM2使用 形狀優化的SigLIP 作為圖像編碼器,SmolLM2 作為文本解碼器。
我們以Apache 2.0許可證發佈SmolVLM2的檢查點。
引用信息
@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}
}
訓練數據
SmolVLM2最初使用來自十個不同數據集的330萬個樣本進行訓練:LlaVa Onevision、M4-Instruct、Mammoth、LlaVa Video 178K、FineVideo、VideoStar、VRipt、Vista-400K、MovieChat 和 ShareGPT4Video。
各模態數據拆分
數據類型 | 百分比 |
---|---|
圖像 | 34.4% |
文本 | 20.2% |
視頻 | 33.0% |
多圖像 | 12.3% |
各模態數據集詳細切片
文本數據集
數據集 | 百分比 |
---|---|
llava-onevision/magpie_pro_ft3_80b_mt | 6.8% |
llava-onevision/magpie_pro_ft3_80b_tt | 6.8% |
llava-onevision/magpie_pro_qwen2_72b_tt | 5.8% |
llava-onevision/mathqa | 0.9% |
多圖像數據集
數據集 | 百分比 |
---|---|
m4-instruct-data/m4_instruct_multiimage | 10.4% |
mammoth/multiimage-cap6 | 1.9% |
圖像數據集
數據集 | 百分比 |
---|---|
llava-onevision/other | 17.4% |
llava-onevision/vision_flan | 3.9% |
llava-onevision/mavis_math_metagen | 2.6% |
llava-onevision/mavis_math_rule_geo | 2.5% |
llava-onevision/sharegpt4o | 1.7% |
llava-onevision/sharegpt4v_coco | 1.5% |
llava-onevision/image_textualization | 1.3% |
llava-onevision/sharegpt4v_llava | 0.9% |
llava-onevision/mapqa | 0.9% |
llava-onevision/qa | 0.8% |
llava-onevision/textocr | 0.8% |
視頻數據集
數據集 | 百分比 |
---|---|
llava-video-178k/1-2m | 7.3% |
llava-video-178k/2-3m | 7.0% |
other-video/combined | 5.7% |
llava-video-178k/hound | 4.4% |
llava-video-178k/0-30s | 2.4% |
video-star/starb | 2.2% |
vista-400k/combined | 2.2% |
vript/long | 1.0% |
ShareGPT4Video/all | 0.8% |
📄 許可證
本項目採用Apache 2.0許可證。
Clip Vit Large Patch14
CLIP是由OpenAI開發的視覺-語言模型,通過對比學習將圖像和文本映射到共享的嵌入空間,支持零樣本圖像分類
圖像生成文本
C
openai
44.7M
1,710
Clip Vit Base Patch32
CLIP是由OpenAI開發的多模態模型,能夠理解圖像和文本之間的關係,支持零樣本圖像分類任務。
圖像生成文本
C
openai
14.0M
666
Siglip So400m Patch14 384
Apache-2.0
SigLIP是基於WebLi數據集預訓練的視覺語言模型,採用改進的sigmoid損失函數,優化了圖像-文本匹配任務。
圖像生成文本
Transformers

S
google
6.1M
526
Clip Vit Base Patch16
CLIP是由OpenAI開發的多模態模型,通過對比學習將圖像和文本映射到共享的嵌入空間,實現零樣本圖像分類能力。
圖像生成文本
C
openai
4.6M
119
Blip Image Captioning Base
Bsd-3-clause
BLIP是一個先進的視覺-語言預訓練模型,擅長圖像描述生成任務,支持條件式和非條件式文本生成。
圖像生成文本
Transformers

B
Salesforce
2.8M
688
Blip Image Captioning Large
Bsd-3-clause
BLIP是一個統一的視覺-語言預訓練框架,擅長圖像描述生成任務,支持條件式和無條件式圖像描述生成。
圖像生成文本
Transformers

B
Salesforce
2.5M
1,312
Openvla 7b
MIT
OpenVLA 7B是一個基於Open X-Embodiment數據集訓練的開源視覺-語言-動作模型,能夠根據語言指令和攝像頭圖像生成機器人動作。
圖像生成文本
Transformers 英語

O
openvla
1.7M
108
Llava V1.5 7b
LLaVA 是一款開源多模態聊天機器人,基於 LLaMA/Vicuna 微調,支持圖文交互。
圖像生成文本
Transformers

L
liuhaotian
1.4M
448
Vit Gpt2 Image Captioning
Apache-2.0
這是一個基於ViT和GPT2架構的圖像描述生成模型,能夠為輸入圖像生成自然語言描述。
圖像生成文本
Transformers

V
nlpconnect
939.88k
887
Blip2 Opt 2.7b
MIT
BLIP-2是一個視覺語言模型,結合了圖像編碼器和大型語言模型,用於圖像到文本的生成任務。
圖像生成文本
Transformers 英語

B
Salesforce
867.78k
359
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98