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.
Origine
SmolVLM2 di Hugging Face (HuggingFaceTB), Apache-2.0. Articolo, sorgente
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.

bash
pip install "libreyolo[vlm]"

Predizione

I pesi vengono scaricati da Hugging Face al primo utilizzo e restano nella cache locale.

Python
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)
Chat
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
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.

Verificato con LibreYOLO v1.5.0. Le tabelle di supporto, i checkpoint e i dati dei benchmark in questa pagina vengono generati dalla libreria rilasciata e dai pesi pubblicati, non scritti a mano.