SmolVLM2

SmolVLM2 to mały model wizyjno-językowy Hugging Face. LibreYOLO udostępnia go jako detektor obiektów z otwartym słownikiem oraz zapewnia bezpośredni dostęp do swobodnego czatu: podaj listę klas do detekcji albo zadaj pytanie.

Zadania
detection
Rozmiary
500m at 512 px
Instalacja
pip install libreyolo
Poziom obsługi
Poziom siostrzany, od wersji v. Osobna część produktu z własną fabryką i kontraktem.
Projekt źródłowy
SmolVLM2, autorzy: Hugging Face (HuggingFaceTB), licencja: Apache-2.0. Publikacja, kod źródłowy
Licencje
Kod: MIT, wagi: Apache-2.0. Użycie komercyjne

Instalacja

SmolVLM2 należy do poziomu VLM jako detektor w LibreYOLO, osobnej powierzchni produktu od rodzin opartych na checkpointach, z własną fabryką. Wymaga dodatku vlm, który instaluje również num2words, zależność własnego procesora SmolVLM2.

bash
pip install "libreyolo[vlm]"

Predykcja

Przy pierwszym użyciu wagi są pobierane z Hugging Face i zapisywane w lokalnej pamięci podręcznej.

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)
Czat
from libreyolo import LibreVLM, SAMPLE_IMAGE model = LibreVLM("smolvlm2-500m") # Bezpośredni dostęp pod wygodną warstwą detekcji: dowolne pytanie,# nie tylko zapytanie o ramki ograniczające.answer = model.chat(SAMPLE_IMAGE, "What is the cat doing?")print(answer)

Ta rodzina jest wczytywana przez fabrykę LibreVLM(), a nie LibreYOLO(). Rodziny VLM nie deklarują loadera checkpointów, dlatego opisany na innych stronach modeli wybór ścieżki na podstawie rozszerzenia pliku nie ma tu zastosowania. set_classes() ustawia słownik, o którego znalezienie proszony jest SmolVLM2. Ustawienie jest trwałe i obowiązuje we wszystkich późniejszych wywołaniach predict()/track(), dopóki nie zostanie ponownie zmienione. SmolVLM2 nie wymaga zastąpienia parsera w LibreYOLO. Korzysta z tego samego szablonu czatu z wyjściem JSON co wspólna wartość domyślna tego poziomu, więc jego prompt detekcji i format ramek nie zależą od rodziny. Każda detekcja ma ten sam zastępczy wskaźnik pewności, więc filtrowanie przez conf działa na zasadzie wszystko albo nic. iou ma natomiast wpływ na wynik: późniejsza ramka tej samej klasy jest odrzucana, gdy nakłada się na zachowaną ramkę powyżej progu, ponieważ generator powtarzający może zwrócić prawie identyczne ramki jednego obiektu. SmolVLM2 odpowiada także na swobodne pytania przez chat(), ten sam bezpośredni dostęp opisany dla fabryki LibreVLM. CLI LibreYOLO nie obsługuje tego poziomu. Nie istnieje dla niego forma libreyolo predict model=.... Więcej informacji o źródłach, streamingu i obsłudze wyników zawiera strona predykcji.

Warianty

Rejestr zawiera jeden rozmiar: SmolVLM2-500M-Video-Instruct, wczytywany jako LibreVLM("smolvlm2-500m"). SmolVLM2 jest słabszym detektorem niż specjalnie zbudowane modele groundingu z tego poziomu. Własny wrapper LibreYOLO opisuje go jako demonstrację, że nowa rodzina nie wymaga tutaj specjalnego parsera, a nie jako najlepszą opcję detekcji z otwartym słownikiem.

LibreYOLO nie trenuje, nie waliduje ani nie eksportuje SmolVLM2. Wywołania train(), val() i export() zgłaszają NotImplementedError dla każdej rodziny na tym poziomie (zobacz poziom obsługi powyżej). Jeśli potrzebny jest niestandardowy słownik zapisany w wagach, należy dostroić SmolVLM2 w projekcie źródłowym i wczytać powstałe wagi. Wynik predict() trzeba sprawdzić wzrokowo zamiast uruchamiać walidację w stylu COCO, ponieważ każda detekcja ma ten sam zastępczy wskaźnik pewności.

Licencja

Sprawdź licencję w repozytorium konkretnych pobieranych wag na Hugging Face. Każdy checkpoint w organizacji LibreYOLO ma licencję, która nie zawsze jest taka sama w całej rodzinie. To repozytorium jest źródłem rozstrzygającym, a poniższe podsumowanie opisuje stan z chwili ostatniej weryfikacji tej strony.

To opis obowiązujących licencji, a nie porada prawna. Jeśli odpowiedź ma znaczenie komercyjne, przeczytaj licencje i zasięgnij własnej porady prawnej.

Oryginalna praca
SmolVLM2, Hugging Face (HuggingFaceTB)
Licencja projektu źródłowego
Apache-2.0
Kod LibreYOLO
MIT
Wagi
Apache-2.0, rozpowszechniane przez autorów. LibreYOLO ich nie hostuje ani nie udostępnia kopii.
Interpretacja
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.

Cytowanie

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

Skopiowano z bloku cytowania autorów w huggingface.co/blog/smolvlm2.

Zweryfikowano z LibreYOLO v1.5.0. Tabele obsługi, checkpointy i wyniki benchmarków na tej stronie są generowane na podstawie wydanej biblioteki i opublikowanych wag, a nie wpisywane ręcznie.