SmolVLM: RIDEFINIRE MODELLI MULTIMODALI PICCOLI ED EFFICIENTI
Autori: Andrés Marafioti, Orr Zohar, Miquel Farré, Merve Noyan, Elie Bakouch, Pedro Cuenca, Cyril Zakka, Loubna Ben Allal, Anton Lozhkov, Joshua Lochner, Hugo Larcher, Mathieu Morlon, Nouamane Tazi, Vaibhav Srivastav, Thomas Wolf, Lewis Tunstall, Leandro von Werra
Titolo originale: SmolVLM: Redefining small and efficient multimodal models
- Introduzione: L’Ascesa dei Modelli Multimodali e la Sfida delle Risorse
I modelli di visione-linguaggio (VLM) hanno raggiunto prestazioni eccezionali, ma richiedono risorse computazionali significative. Questo limita la loro implementazione su dispositivi mobili e edge. I VLM più piccoli spesso replicano le scelte di design dei modelli più grandi, come l’ampia tokenizzazione delle immagini, portando a un utilizzo inefficiente della memoria GPU e a una praticità limitata per le applicazioni su dispositivi.
- SmolVLM: Un Nuovo Approccio all’Efficienza Multimodale
SmolVLM è una serie di modelli multimodali compatti specificamente progettati per un’inferenza efficiente in termini di risorse. Esplorano sistematicamente configurazioni architetturali, strategie di tokenizzazione e curatela dei dati ottimizzate per un basso overhead computazionale. Identificano scelte di design chiave che producono sostanziali guadagni di prestazioni nelle attività di immagine e video con un minimo ingombro di memoria.
- Efficienza Estrema: Superare Modelli Enormi con una Frazione delle Risorse
Il modello più piccolo di SmolVLM, SmolVLM-256M, utilizza meno di 1GB di memoria GPU durante l’inferenza e supera il modello Idefics-80B, 300 volte più grande, nonostante un divario di sviluppo di 18 mesi. Il modello più grande, con 2.2B di parametri, rivaleggia con i VLM all’avanguardia consumando la metà della memoria GPU. I modelli SmolVLM si estendono oltre le immagini statiche, dimostrando robuste capacità di comprensione video.
- Architettura e Componenti Chiave di SmolVLM
L’architettura di SmolVLM prevede la suddivisione delle immagini in sotto-immagini e il campionamento dei fotogrammi dai video, seguiti dalla codifica in caratteristiche visive. Queste caratteristiche vengono riorganizzate tramite un’operazione di pixel-shuffle e poi mappate nello spazio di input LLM come token visivi. I token visivi vengono quindi concatenati/intervallati con gli embedding di testo.
- Ottimizzazioni Architetturali per Massimizzare le Prestazioni
- Bilanciamento Encoder-LM: I modelli linguistici più piccoli traggono meno beneficio da encoder di visione più grandi rispetto a quelli più potenti.
- Lunghezza del Contesto Estesa: L’estensione della lunghezza del contesto migliora significativamente le prestazioni, consentendo risoluzioni di immagine più elevate con un overhead minimo.
- Compressione Aggressiva dei Token: I piccoli VLM beneficiano di una compressione dei token visivi più aggressiva, facilitando la modellazione del contesto lungo.
- Suddivisione delle Immagini: La suddivisione delle immagini migliora le prestazioni per le attività di visione, mentre la media dei fotogrammi video non lo fa.
- Token Posizionali Appresi: I token posizionali appresi superano i token di testo grezzi per i VLM compatti.
- Prompt Strutturati: I prompt di sistema e i token di intro/outro media migliorano significativamente le prestazioni dei VLM compatti, in particolare per le attività video.
- Evitare Dati di Testo Riusati: L’aggiunta di testo da un blend SFT (Supervised Fine-Tuning) si è dimostrato peggiore rispetto a nuovi dati SFT di testo.
- Integrazione Ottimizzata di CoT (Chain-of-Thought): Dati CoT eccessivi danneggiano le prestazioni del modello compatto.
- Durata Ottimale delle Sequenze Video: L’aumento moderato della durata del video durante l’addestramento migliora le prestazioni delle attività di immagine e video nei VLM compatti.
- Risultati Sperimentali: Efficienza e Precisione su Diverse Scale
Tre varianti di SmolVLM sono state costruite per diversi ambienti computazionali:
- SmolVLM-256M: Ideale per applicazioni edge con risorse limitate, operando con meno di 1GB di GRAM.
- SmolVLM-500M: Un modello di fascia media adatto per dispositivi edge con risorse moderate.
- SmolVLM-2.2B: La variante più grande, che massimizza le prestazioni pur rimanendo implementabile su sistemi edge di fascia alta.
SmolVLM dimostra una notevole efficienza computazionale rispetto a modelli significativamente più grandi, richiedendo solo 0.8GB di VRAM per l’inferenza di singole immagini per la variante 256M, 1.2GB per la 500M e 4.9GB per la 2.2B.
- Applicazioni a Valle: Trasformare Diverse Aree con Efficienza
SmolVLM ha visto l’adozione in varie applicazioni downstream sviluppate dalla comunità di ricerca più ampia, enfatizzando la sua efficienza in scenari vincolati alle risorse.
- ColSmolVLM: Inferenza Multimodale su Dispositivo.
- Smol Docling: Elaborazione di Documenti Ultracompatta.
- BioVQA: Risposta a Domande Visive Biomediche.
- Conclusione: Un Futuro di Modelli Multimodali Leggeri ed Efficienti
SmolVLM rappresenta un passo significativo verso modelli di visione-linguaggio leggeri ed efficienti, aprendo nuove possibilità per l’inferenza multimodale in tempo reale con un consumo energetico minimo.
Ti potrebbe anche interessare
Data Science: Infrastrutture Scalabili con Docker e Jupyter
Docker per la Data Science: Creazione di Infrastrutture Scalabili con...
IA Generativa Responsabile: Guida per Leader e Product Manager
Uso Responsabile dell'IA Generativa: Guida per Product Manager e Leader...
IA per PMI: Guida Efficace all’Implementazione
INTELLIGENZA ARTIFICIALE E DIGITALIZZAZIONE NELLE PMI: UN QUADRO PER L'IMPLEMENTAZIONE...