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.
pip install "libreyolo[vlm]"Predição
Os pesos são baixados do Hugging Face no primeiro uso e ficam em cache localmente.
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") # 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-fonte original
- github.com/huggingface/smollm/tree/main/vision
- 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.