SmolVLM2

SmolVLM2 es el modelo de visión y lenguaje pequeño de Hugging Face. LibreYOLO lo envuelve como detector de objetos de vocabulario abierto y expone su chat libre directamente: pásale una lista de clases para detectar, o hazle una pregunta.

Tareas
detection
Tamaños
500m at 512 px
Instalación
pip install libreyolo
Nivel de compatibilidad
Nivel hermano, desde v. Una superficie de producto independiente con su propia factoría y su propio contrato.
Proyecto original
SmolVLM2 de Hugging Face (HuggingFaceTB), Apache-2.0. Artículo, fuente
Licencias
Código MIT, pesos Apache-2.0. Uso comercial

Instalación

SmolVLM2 pertenece al nivel VLM-como-detector de LibreYOLO, una superficie de producto aparte de las familias basadas en checkpoints y con su propia factoría. Necesita el extra vlm, que además arrastra num2words, una dependencia del propio procesador de SmolVLM2.

bash
pip install "libreyolo[vlm]"

Predicción

Los pesos se descargan de Hugging Face en el primer uso y se cachean en local.

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 vía de escape bajo la comodidad de la detección: cualquier pregunta,# no solo una consulta de bounding boxes.answer = model.chat(SAMPLE_IMAGE, "What is the cat doing?")print(answer)

Esta familia se carga a través de la factoría LibreVLM(), no de LibreYOLO(): las familias VLM no declaran ningún cargador de checkpoints, así que el enrutado por sufijo de archivo que describen otras páginas de modelos no aplica aquí. set_classes() fija el vocabulario que se le pide encontrar a SmolVLM2; es persistente, así que sigue en vigor en todas las llamadas posteriores a predict()/track() hasta que vuelvas a fijarlo. SmolVLM2 no necesita sobrescribir el parser en LibreYOLO: sigue la misma salida de plantilla de chat más JSON que el valor por defecto compartido del nivel, así que ni su prompt de detección ni su formato de cajas son específicos de la familia. Todas las detecciones llevan la misma confianza de marcador de posición, así que el filtrado por conf es todo o nada en vez de una ordenación; iou sí tiene efecto: descarta una caja posterior de la misma clase en cuanto solapa por encima del umbral con otra ya conservada, porque un generador que se repite puede emitir cajas casi duplicadas para un mismo objeto. SmolVLM2 también responde preguntas libres mediante chat(), la misma vía de escape documentada en la factoría LibreVLM. La CLI de LibreYOLO no cubre este nivel: no existe una forma libreyolo predict model=... para él. Consulta predicción para fuentes, streaming y manejo de resultados.

Variantes

Un solo tamaño en el registro: SmolVLM2-500M-Video-Instruct, que se carga como LibreVLM("smolvlm2-500m"). SmolVLM2 detecta peor que los modelos de grounding específicos de este nivel; el propio envoltorio de LibreYOLO lo describe como una demostración de que una familia nueva no necesita parseo a medida para funcionar aquí, no como su opción de vocabulario abierto más potente.

LibreYOLO no entrena, valida ni exporta SmolVLM2: train(), val() y export() lanzan todos NotImplementedError para todas las familias de este nivel (consulta el nivel de soporte más arriba). Haz el fine-tuning de SmolVLM2 upstream y carga los pesos resultantes si necesitas llevar integrado un vocabulario propio; revisa a ojo la salida de predict() en vez de una pasada de validación al estilo COCO, ya que todas las detecciones llevan la misma confianza de marcador de posición.

Licencia

Comprueba la licencia en el repositorio de Hugging Face de los pesos concretos que descargues. Cada checkpoint de la organización de LibreYOLO incluye una, y no siempre es la misma en toda una familia. Ese repositorio es la fuente autorizada; el resumen siguiente describe qué se aplicaba cuando se verificó esta página por última vez.

Esta es una descripción de las licencias implicadas, no asesoramiento legal. Si la respuesta es importante a nivel comercial, lee las licencias y busca tu propio asesoramiento.

Trabajo original
SmolVLM2, Hugging Face (HuggingFaceTB)
Licencia del proyecto original
Apache-2.0
Código de LibreYOLO
MIT
Pesos
Apache-2.0, distribuidos por sus autores. LibreYOLO no los aloja ni los replica.
Interpretación
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.

Cita

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

Copiado del bloque de cita de los autores en huggingface.co/blog/smolvlm2.

Verificado con LibreYOLO v1.5.0. Las tablas de compatibilidad, los checkpoints y las cifras de rendimiento de esta página se generan a partir de la biblioteca publicada y los pesos publicados; no se escriben a mano.