SmolVLM2

O SmolVLM2 é o pequeno modelo de visão e linguagem da Hugging Face. O LibreYOLO o envolve como detector de objetos de vocabulário aberto e expõe seu chat livre diretamente: passe uma lista de classes para detectar, ou faça uma pergunta a ele.

Tarefas
detection
Tamanhos
500m at 512 px
Instalação
pip install libreyolo
Nível de suporte
Nível irmão, desde a v. Uma superfície de produto separada, com sua própria fábrica e seu próprio contrato.
Origem
SmolVLM2 por Hugging Face (HuggingFaceTB), Apache-2.0. Artigo, código-fonte
Licenças
Código MIT, pesos Apache-2.0. Uso comercial

Instalação

O SmolVLM2 pertence ao nível VLM-como-detector do LibreYOLO, uma superfície de produto separada das famílias baseadas em checkpoints e com sua própria factory. Ele precisa do extra vlm, que também traz junto o num2words, uma dependência do próprio processador do SmolVLM2.

bash
pip install "libreyolo[vlm]"

Predição

Os pesos são baixados do Hugging Face no primeiro uso e ficam em cache localmente.

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") # A via de escape sob a comodidade da detecção: qualquer pergunta,# não apenas uma consulta de bounding box.answer = model.chat(SAMPLE_IMAGE, "What is the cat doing?")print(answer)

Esta família é carregada pela factory LibreVLM(), não por LibreYOLO(): as famílias VLM não declaram nenhum carregador de checkpoint, então o roteamento por sufixo de arquivo descrito em outras páginas de modelos não se aplica aqui. set_classes() define o vocabulário que o SmolVLM2 deve encontrar; ele é persistente, então continua valendo em todas as chamadas posteriores a predict()/track() até que você o defina de novo. O SmolVLM2 não precisa de nenhum override de parser no LibreYOLO: ele segue a mesma saída de template de chat mais JSON do padrão compartilhado do nível, então seu prompt de detecção e seu formato de box não são específicos da família. Todas as detecções carregam a mesma confiança de placeholder, então filtrar por conf é tudo ou nada em vez de uma ordenação; iou tem efeito, e descarta um box posterior da mesma classe assim que ele se sobrepõe a um já mantido acima do limiar, já que um gerador repetitivo pode emitir boxes quase duplicados para um mesmo objeto. O SmolVLM2 também responde perguntas livres através de chat(), a mesma via de escape documentada na factory LibreVLM. A CLI do LibreYOLO não cobre este nível: não existe uma forma libreyolo predict model=... para ele. Veja predição para fontes, streaming e tratamento de resultados.

Variantes

Um único tamanho no registro: SmolVLM2-500M-Video-Instruct, carregado como LibreVLM("smolvlm2-500m"). O SmolVLM2 é um detector mais fraco que os modelos de grounding feitos sob medida deste nível; o próprio wrapper do LibreYOLO o descreve como uma demonstração de que uma família nova não precisa de parsing de caso especial para funcionar aqui, e não como sua opção mais forte de vocabulário aberto.

O LibreYOLO não treina, valida nem exporta o SmolVLM2: train(), val() e export() levantam NotImplementedError em todas as famílias deste nível (veja o nível de suporte acima). Faça fine-tuning do SmolVLM2 upstream e carregue os pesos resultantes se você precisar de um vocabulário personalizado embutido; confira a olho a saída de predict() em vez de uma passada de validação no estilo COCO, já que todas as detecções carregam a mesma confiança de placeholder.

Licenciamento

Confira a licença no repositório do Hugging Face correspondente aos pesos que você baixar. Cada checkpoint na organização LibreYOLO tem uma licença, e ela nem sempre é a mesma em toda a família. Esse repositório é a fonte oficial. O resumo abaixo descreve o que se aplicava na última verificação desta página.

Esta é uma descrição das licenças envolvidas, não uma orientação jurídica. Se a resposta tiver importância comercial, leia as licenças e procure sua própria assessoria.

Trabalho original
SmolVLM2, Hugging Face (HuggingFaceTB)
Licença original
Apache-2.0
Código do LibreYOLO
MIT
Pesos
Apache-2.0, distribuído pelos autores. O LibreYOLO não hospeda nem espelha esses pesos.
Interpretação
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ção

@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 do bloco de citação dos autores em huggingface.co/blog/smolvlm2.

Verificado com o LibreYOLO v1.5.0. As tabelas de suporte, os checkpoints e os números de benchmark desta página são gerados a partir da biblioteca lançada e dos pesos publicados, não escritos à mão.