SmolVLM2

SmolVLM2 ist das kleine Vision-Language-Modell von Hugging Face. LibreYOLO bindet es als Open-Vocabulary-Objekterkennung ein und stellt seinen freien Chat direkt bereit: Übergib eine Klassenliste für die Erkennung oder stelle dem Modell eine Frage.

Aufgaben
detection
Größen
500m at 512 px
Installation
pip install libreyolo
Supportstufe
Geschwisterstufe, seit v. Eine separate Produktoberfläche mit eigener Factory und eigenem Vertrag.
Upstream
SmolVLM2 von Hugging Face (HuggingFaceTB), Apache-2.0. Publikation, Quelle
Lizenzen
Code MIT, Gewichte Apache-2.0. Kommerzielle Nutzung

Installation

SmolVLM2 gehört zur VLM-als-Detektor-Stufe von LibreYOLO. Diese ist eine separate Produktoberfläche neben den Checkpoint-basierten Familien und besitzt eine eigene Factory. Sie benötigt das Extra vlm, das auch num2words installiert, eine Abhängigkeit des SmolVLM2-Prozessors.

bash
pip install "libreyolo[vlm]"

Vorhersage

Die Gewichte werden bei der ersten Verwendung von Hugging Face heruntergeladen und lokal zwischengespeichert.

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") # Der direkte Zugriff unterhalb der komfortablen Erkennung: jede Frage,# nicht nur eine Abfrage nach Begrenzungsrahmen.answer = model.chat(SAMPLE_IMAGE, "What is the cat doing?")print(answer)

Diese Familie wird über die Factory LibreVLM() und nicht über LibreYOLO() geladen. VLM-Familien definieren keinen Checkpoint-Loader, daher gilt die auf anderen Modellseiten beschriebene Weiterleitung anhand der Dateiendung hier nicht. set_classes() legt das Vokabular fest, nach dem SmolVLM2 suchen soll. Die Einstellung bleibt für alle späteren Aufrufe von predict() und track() bestehen, bis du sie erneut setzt. SmolVLM2 benötigt in LibreYOLO keinen eigenen Parser. Es verwendet dieselbe Kombination aus Chat-Vorlage und JSON-Ausgabe wie der gemeinsame Standard dieser Stufe. Der Erkennungs-Prompt und das Boxformat sind daher nicht familienspezifisch. Jede Erkennung erhält denselben Platzhalter-Konfidenzwert, weshalb die Filterung mit conf entweder alle oder keine Ergebnisse behält, statt sie zu sortieren. iou wirkt sich dagegen aus: Eine spätere Box derselben Klasse wird verworfen, sobald sie eine bereits beibehaltene Box über dem Schwellenwert überlappt. Andernfalls könnte ein sich wiederholender Generator nahezu identische Boxen für dasselbe Objekt ausgeben. Über chat() beantwortet SmolVLM2 außerdem frei formulierte Fragen. Dies ist derselbe direkte Zugriff, der für die Factory LibreVLM dokumentiert ist. Die LibreYOLO-CLI deckt diese Stufe nicht ab. Es gibt dafür keine Form wie libreyolo predict model=.... Unter Vorhersage findest du Informationen zu Quellen, Streaming und Ergebnisverarbeitung.

Varianten

Die Registry enthält eine Größe: SmolVLM2-500M-Video-Instruct, geladen als LibreVLM("smolvlm2-500m"). SmolVLM2 ist ein schwächerer Detektor als die eigens dafür entwickelten Grounding-Modelle dieser Stufe. Der LibreYOLO-Wrapper beschreibt es als Demonstration dafür, dass eine neue Familie hier ohne spezielle Parserlogik funktionieren kann, nicht als leistungsstärkste Open-Vocabulary-Option.

LibreYOLO kann SmolVLM2 weder trainieren noch validieren oder exportieren. train(), val() und export() lösen für jede Familie dieser Stufe NotImplementedError aus (siehe die oben angegebene Support-Stufe). Führe das Fine-Tuning von SmolVLM2 im Upstream-Projekt aus und lade die resultierenden Gewichte, wenn du ein fest eingebettetes eigenes Vokabular benötigst. Prüfe die Ausgabe von predict() visuell statt mit einem Validierungslauf im COCO-Stil, da jede Erkennung denselben Platzhalter-Konfidenzwert trägt.

Lizenzierung

Prüfe die Lizenz im Hugging-Face-Repository der konkreten Gewichte, die du herunterlädst. Jeder Checkpoint in der LibreYOLO-Organisation hat eine Lizenz, und sie ist innerhalb einer Familie nicht immer gleich. Dieses Repository ist die maßgebliche Quelle. Die Zusammenfassung unten beschreibt den Stand bei der letzten Verifizierung dieser Seite.

Dies ist eine Beschreibung der beteiligten Lizenzen und keine Rechtsberatung. Wenn die Antwort kommerziell relevant ist, lies die Lizenzen selbst und hole eigenen Rechtsrat ein.

Originalarbeit
SmolVLM2, Hugging Face (HuggingFaceTB)
Upstream-Lizenz
Apache-2.0
LibreYOLO-Code
MIT
Gewichte
Apache-2.0, von den Autoren verbreitet. LibreYOLO hostet oder spiegelt sie nicht.
Einordnung
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.

Zitieren

@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}
}

Aus dem Zitierblock der Autoren unter huggingface.co/blog/smolvlm2 kopiert.

Mit LibreYOLO v1.5.0 verifiziert. Supporttabellen, Checkpoints und Benchmarkwerte auf dieser Seite werden aus der veröffentlichten Bibliothek und den publizierten Gewichten generiert und nicht von Hand geschrieben.