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.
pip install "libreyolo[vlm]"Vorhersage
Die Gewichte werden bei der ersten Verwendung von Hugging Face heruntergeladen und lokal zwischengespeichert.
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") # 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
- Upstream-Quelle
- github.com/huggingface/smollm/tree/main/vision
- 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.