SmolVLM2
SmolVLM2 est le petit modèle vision-langage de Hugging Face. LibreYOLO l'encapsule comme détecteur d'objets à vocabulaire ouvert et expose directement son chat libre : fournissez une liste de classes pour effectuer une détection, ou posez-lui une question.
- Tâches
- detection
- Tailles
- 500m at 512 px
- Installer
pip install libreyolo- Niveau de support
- Niveau parallèle, depuis v. Une interface produit distincte avec sa propre factory et son propre contrat.
- Licences
- Code MIT, poids Apache-2.0. Usage commercial
Installer
SmolVLM2 appartient au niveau VLM comme détecteur de LibreYOLO, une surface
produit distincte des familles basées sur des checkpoints et dotée de sa
propre fabrique. Il nécessite l'extra vlm, qui installe aussi num2words,
une dépendance du processeur propre à SmolVLM2.
pip install "libreyolo[vlm]"Prédire
Les poids sont téléchargés depuis Hugging Face à la première utilisation et mis en cache localement.
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 porte de sortie sous l'outil pratique de détection : toute question,# et pas seulement une requête de bounding box.answer = model.chat(SAMPLE_IMAGE, "What is the cat doing?")print(answer)Cette famille se charge avec la fabrique LibreVLM() et non LibreYOLO()\u00a0:
les familles VLM ne déclarent aucun chargeur de checkpoint, le routage par
suffixe de fichier décrit sur les autres pages de modèles ne s'applique donc
pas ici. set_classes() définit le vocabulaire que SmolVLM2 doit rechercher.
Ce réglage est persistant et reste appliqué à tous les appels predict() ou
track() ultérieurs jusqu'à ce que vous le redéfinissiez. SmolVLM2 ne
nécessite aucune substitution de parseur dans LibreYOLO\u00a0: il suit la même
sortie avec template de chat et JSON que la valeur par défaut partagée du
niveau, son prompt de détection et son format de bounding boxes ne sont donc
pas propres à la famille. Chaque détection porte la même confiance factice.
Le filtrage conf fonctionne ainsi en tout ou rien plutôt que comme un
classement\u00a0; iou a bien un effet, en supprimant une bounding box ultérieure
de même classe dès qu'elle chevauche une bounding box déjà conservée au-delà
du seuil, car un générateur répétitif peut sinon émettre plusieurs bounding
boxes presque identiques pour un même objet. SmolVLM2 répond aussi à des
questions libres par chat(), la même porte de sortie que celle documentée
pour la fabrique LibreVLM. Le CLI de LibreYOLO ne couvre pas ce niveau\u00a0: il
n'existe aucune forme libreyolo predict model=... pour celui-ci. Consultez
la prédiction pour les sources, le streaming et la gestion des
résultats.
Variantes
Une taille figure dans le registre\u00a0: SmolVLM2-500M-Video-Instruct, chargée avec
LibreVLM("smolvlm2-500m"). SmolVLM2 est un détecteur moins performant que
les modèles de grounding spécialisés de ce niveau. Le propre wrapper de
LibreYOLO le décrit comme la démonstration qu'une nouvelle famille n'a besoin
d'aucun parsing particulier pour fonctionner ici, et non comme la meilleure
option à vocabulaire ouvert.
LibreYOLO n'entraîne, ne valide et n'exporte pas SmolVLM2\u00a0: train(), val()
et export() lèvent tous NotImplementedError pour chaque famille de ce
niveau (consultez le niveau de prise en charge ci-dessus). Effectuez le
fine-tuning de SmolVLM2 upstream et chargez les poids obtenus si vous avez
besoin d'intégrer un vocabulaire personnalisé. Vérifiez visuellement la sortie
de predict() plutôt qu'avec une passe de validation de type COCO, puisque
chaque détection porte la même confiance factice.
Licence
Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.
Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.
- Travail d'origine
- SmolVLM2, Hugging Face (HuggingFaceTB)
- Licence du projet d'origine
- Apache-2.0
- Source du projet d'origine
- github.com/huggingface/smollm/tree/main/vision
- Code de LibreYOLO
- MIT
- Poids
- Apache-2.0, distribués par leurs auteurs. LibreYOLO ne les héberge pas et n'en fournit pas de miroir.
- Interprétation
- 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.
Citation
@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}
}Copié depuis le bloc de citation des auteurs sur huggingface.co/blog/smolvlm2.