SmolVLM2
SmolVLM2 è il piccolo modello vision-language di Hugging Face. LibreYOLO lo avvolge come rilevatore di oggetti a vocabolario aperto ed espone direttamente la sua chat libera: indica una lista di classi da rilevare, oppure fagli una domanda.
- Task
- detection
- Dimensioni
- 500m at 512 px
- Installa
pip install libreyolo- Livello di supporto
- Livello parallelo, dalla v. Un'interfaccia di prodotto separata, con una propria factory e un proprio contratto.
- Licenze
- Codice MIT, pesi Apache-2.0. Uso commerciale
Installazione
SmolVLM2 appartiene al livello VLM-come-detector di LibreYOLO, una superficie di
prodotto separata dalle famiglie basate su checkpoint e con una factory propria.
Richiede l'extra vlm, che porta con sé anche num2words, una dipendenza del
processor di SmolVLM2 stesso.
pip install "libreyolo[vlm]"Predizione
I pesi vengono scaricati da Hugging Face al primo utilizzo e restano nella cache locale.
from libreyolo import LibreVLM, SAMPLE_IMAGE model = LibreVLM("smolvlm2-500m")model.set_classes(["cat", "dog"])result = model.predict(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)from libreyolo import LibreVLM, SAMPLE_IMAGE model = LibreVLM("smolvlm2-500m") # La via di fuga sotto la comodità del rilevamento: qualsiasi domanda,# non solo una query sui bounding box.answer = model.chat(SAMPLE_IMAGE, "What is the cat doing?")print(answer)Questa famiglia si carica con la factory LibreVLM(), non con LibreYOLO(): le
famiglie VLM non dichiarano nessun caricatore di checkpoint, quindi il routing
per suffisso di file descritto nelle altre pagine dei modelli qui non si applica.
set_classes() definisce il vocabolario che si chiede a SmolVLM2 di trovare; è
persistente, quindi resta in vigore in tutte le chiamate successive a
predict()/track() finché non lo imposti di nuovo. SmolVLM2 non richiede
nessun override del parser in LibreYOLO: segue lo stesso output a template di
chat più JSON del default condiviso del livello, quindi il suo prompt di
rilevamento e il formato dei box non sono specifici della famiglia. Ogni
rilevamento porta la stessa confidenza segnaposto, quindi filtrare per conf è
tutto o niente invece che un ordinamento; iou invece ha effetto, e scarta un
box successivo della stessa classe quando si sovrappone oltre la soglia a uno
già tenuto, dato che un generatore che si ripete può altrimenti emettere box
quasi duplicati per uno stesso oggetto. SmolVLM2 risponde anche a domande libere
tramite chat(), la stessa via di fuga documentata sulla factory LibreVLM. La
CLI di LibreYOLO non copre questo livello: non esiste una forma
libreyolo predict model=... per esso. Vedi predizione per
sorgenti, streaming e gestione dei risultati.
Varianti
Una sola dimensione nel registro: SmolVLM2-500M-Video-Instruct, caricata come
LibreVLM("smolvlm2-500m"). SmolVLM2 è un rilevatore più debole dei modelli di
grounding costruiti apposta in questo livello; il wrapper di LibreYOLO stesso lo
descrive come una dimostrazione che una famiglia nuova non ha bisogno di un
parsing speciale per funzionare qui, non come la sua opzione a vocabolario
aperto più forte.
LibreYOLO non addestra, non valida e non esporta SmolVLM2: train(), val() e
export() sollevano tutti NotImplementedError per ogni famiglia di questo
livello (vedi il livello di supporto qui sopra). Fai fine-tuning di SmolVLM2
upstream e carica i pesi risultanti se ti serve un vocabolario personalizzato
integrato; controlla a occhio l'output di predict() invece di una passata di
validazione in stile COCO, dato che ogni rilevamento porta la stessa confidenza
segnaposto.
Licenze
Controlla la licenza nel repository Hugging Face degli specifici pesi che scarichi. Ogni checkpoint nell<link>organizzazione LibreYOLO</link> ne include una e non è sempre la stessa per tutta la famiglia. Quel repository è la fonte autorevole; il riepilogo seguente descrive le condizioni applicabili al momento dellultima verifica di questa pagina.
Questa è una descrizione delle licenze coinvolte, non una consulenza legale. Se la risposta è importante a fini commerciali, leggi personalmente le licenze e chiedi una consulenza indipendente.
- Lavoro originale
- SmolVLM2, Hugging Face (HuggingFaceTB)
- Licenza upstream
- Apache-2.0
- Sorgente upstream
- github.com/huggingface/smollm/tree/main/vision
- Codice LibreYOLO
- MIT
- Pesi
- Apache-2.0, distribuiti dai rispettivi autori. LibreYOLO non li ospita né ne mantiene una copia.
- Interpretazione
- Apache-2.0 is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep its license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. Both sizes LibreYOLO downloads, SmolVLM2-500M-Video-Instruct and SmolVLM2-2.2B-Instruct, carry this license on their Hugging Face repository.
Citazione
@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}
}Copiato dal blocco di citazione degli autori disponibile su huggingface.co/blog/smolvlm2.