TinyGPT-V è un modello di linguaggio di visione “piccolo” che può essere eseguito su una singola GPU
Le tecnologie di intelligenza artificiale continuano a essere integrate nella nostra vita quotidiana. Un’applicazione dell’intelligenza artificiale include il passaggio alla multimodalità, come l’integrazione del linguaggio con modelli visivi. Questi modelli di linguaggio visivo possono essere applicati a compiti come la didascalia video, la ricerca semantica e molti altri problemi.
Questa settimana punterò i riflettori su un recente modello di linguaggio visivo chiamato TinyGPT-V (Arxiv | GitHub). Ciò che rende interessante questo modello linguistico multimodale è che è molto “piccolo” per un modello linguistico di grandi dimensioni e può essere distribuito su una singola GPU con un minimo di 8 GB di GPU o CPU per l’inferenza. Ciò è significativo per massimizzare la velocità, l’efficienza e i costi dei modelli di intelligenza artificiale in natura.
Tengo a precisare che non sono un autore o comunque affiliato agli autori del modello. Tuttavia, come ricercatore e professionista, ho pensato che si trattasse di uno sviluppo interessante dell’intelligenza artificiale che vale la pena esaminare, soprattutto perché avere modelli più efficienti sbloccherà molte più applicazioni. Immergiamoci!
Modelli multimodali, come modelli di linguaggio-visionestanno ottenendo prestazioni record nelle risposte allineate all’uomo. Man mano che questi modelli continuano a migliorare, potremmo vedere le aziende iniziare ad applicare queste tecnologie in scenari e applicazioni del mondo reale.
Tuttavia, molti modelli di intelligenza artificiale, in particolare i modelli multimodali, richiedono sostanziali risorse computazionali sia per l’addestramento del modello che per l’inferenza. Questo vincolo fisico di tempo, risorse hardware e capitale rappresenta un collo di bottiglia per ricercatori e professionisti.
Inoltre, questi vincoli attualmente impediscono l’implementazione di modelli multimodali in determinate interfacce applicative, come i dispositivi edge. Per affrontare queste sfide sono necessari la ricerca e lo sviluppo di modelli quantizzati (più piccoli) e ad alte prestazioni.
TinyGPT-V è un modello di linguaggio di visione con parametri da 2,8B che può essere addestrato su una GPU da 24 GB e utilizza 8 GB di GPU o CPU per l’inferenza. Ciò è significativo, perché altri modelli di linguaggio visivo “più piccoli” all’avanguardia, come ad esempio LLaVA1.5sono ancora relativamente “grandi” (parametri 7B e 13B).
Quando si confronta con altri modelli di linguaggio visivo più ampi, TinyGPT-V raggiunge prestazioni simili su più attività. Insieme, questo lavoro contribuisce a un movimento per rendere i modelli di intelligenza artificiale più efficienti riducendo le loro esigenze computazionali mantenendo le prestazioni. Bilanciare questi due obiettivi consentirà di fornire modelli di linguaggio visivo direttamente sui dispositivi, offrendo esperienze utente migliori, compresa una latenza ridotta e una maggiore robustezza.
Modelli di visione-linguaggio di base non così grandi (VLM)
I VLM apprendono la relazione tra immagini/video e testo, che può essere applicata per molte attività comuni come la ricerca di oggetti all’interno di una foto (ricerca semantica), porre domande e ricevere risposte sui video (VQA) e molte altre attività. LLaVA1.5 E MiniGPT-4 sono due modelli linguistici multimodali di grandi dimensioni che sono allo stato dell’arte a partire da gennaio 2024 e sono relativamente più piccoli rispetto a modelli di fondazione VL simili. Tuttavia, questi VLM richiedono ancora un utilizzo significativo della GPU e ore di formazione. Ad esempio, gli autori descrivono le risorse di formazione per il modello con parametri LLaVA-v1.5 13B, che utilizza otto GPU A100 con 80 GB di RAM per 25,5 ore di formazione. Questa è una barriera nei confronti degli individui e delle istituzioni che desiderano studiare, sviluppare e applicare questi modelli in natura.
TinyGPT-V è uno degli ultimi VLM che mira ad affrontare questo problema. Utilizza due modelli di base separati per le componenti visiva e linguistica: il EVA l’encoder è stato utilizzato come componente di visione, mentre Phi-2 è stato utilizzato come modello linguistico. In breve, EVA è scalabile fino a un modello di trasformatore di visione con parametri 1B pre-addestrato per ricostruire le caratteristiche di immagine-testo mascherate. Phi-2 è un modello linguistico con parametri da 2,7B addestrato su set di dati web e sintetici selezionati. Gli autori sono stati in grado di unire questi due modelli e di quantizzarli per avere una dimensione totale dei parametri di 2,8 miliardi.
Di seguito sono mostrate le prestazioni di TinyGPT-V rispetto ad altri VLM con varie attività di linguaggio visivo. In particolare, TinyGPT-V funziona in modo simile a BLIP-2probabilmente a causa del modulo Q-Former pre-addestrato preso da BLIP-2. Inoltre, sembra che IstruireBLIP ha ottenuto prestazioni migliori rispetto a TinyGPT-V, anche se si nota che il modello InstructBLIP più piccolo è addestrato con parametri 4B. A seconda dell’applicazione, questo compromesso potrebbe valere la pena per un professionista e sarebbe necessario condurre ulteriori analisi per spiegare questa differenza.
I seguenti set di dati con cui viene addestrato il modello includono:
- VERIFICARE: Ragionamento visivo nel mondo reale e QA compositivo
- VSR: coppie testo-immagine in inglese con relazioni spaziali
- IconQA: comprensione visiva e ragionamento con immagini di icone
- VizWiz: query visive derivate da una foto scattata da un soggetto non vedente con uno smartphone e integrate con 10 risposte.
- HM: una raccolta multimodale progettata per rilevare contenuti che incitano all’odio nei meme.
Allineamento crossmodale delle caratteristiche visive e linguistiche
La formazione VLM consiste in diverse funzioni obiettivo da ottimizzare per a) espandere l’utilità dei VLM, b) aumentare le prestazioni generali del VLM e c) mitigare il rischio di dimenticanza catastrofica. Oltre alle diverse funzioni obiettivo, esistono diverse architetture o metodi di modello per apprendere e fondere la rappresentazione congiunta delle caratteristiche della visione e del linguaggio. Discuteremo i livelli rilevanti per l’addestramento di TinyGPT-V, che sono mostrati di seguito come blocchi.
IL Q-Former descritto nel documento BLIP-2 è stato utilizzato per apprendere la rappresentazione congiunta dai dati immagine-testo allineati. Il metodo Q-Former ottimizza tre obiettivi per apprendere la rappresentazione visione-linguaggio:
- Corrispondenza immagine-testo: Impara l’allineamento dettagliato tra l’immagine e la rappresentazione del testo
- Apprendimento contrastivo immagine-testo: Allinea la rappresentazione dell’immagine e del testo per massimizzare le informazioni reciproche ottenute
- Generazione di testo basato su immagine: Addestra il modello a generare testo, date le immagini di input
Dopo lo strato Q-former, hanno utilizzato uno strato di proiezione lineare pre-addestrato di MiniGPT-4 (Vicuna 7B) per accelerare l’apprendimento. Quindi applicano uno strato di proiezione lineare per incorporare queste funzionalità nel modello linguistico Phi-2.
Normalizzazione
La formazione di modelli linguistici più piccoli su larga scala da diverse modalità ha presentato sfide significative. Durante il processo di formazione, hanno scoperto che i risultati del modello erano suscettibili ai valori NaN o INF. Gran parte di ciò è stato attribuito al problema del gradiente evanescente, poiché il modello aveva un numero limitato di parametri addestrabili. Per risolvere questi problemi, hanno applicato diverse procedure di normalizzazione nel modello Phi-2 per garantire che i dati fossero rappresentati in modo adeguato per l’addestramento del modello.
Esistono tre tecniche di normalizzazione applicate in tutto il modello Phi-2 con piccoli aggiustamenti rispetto alla loro implementazione standard. Hanno aggiornato il LayerNorm meccanismo che viene applicato all’interno di ogni strato nascosto includendo un piccolo numero per la stabilità numerica. Inoltre hanno implementato Norma RMS come procedura post-normalizzazione dopo ogni livello di attenzione multi-testa. Infine, hanno incorporato a Normalizzazione della chiave di query procedura, che hanno ritenuto importante in scenari di apprendimento con risorse limitate.
Regolazione fine efficiente dei parametri
La messa a punto dei modelli è essenziale per ottenere prestazioni migliori nelle attività a valle o nelle aree di dominio che non sono trattate nella pre-formazione. Questo è un passaggio essenziale per fornire enormi miglioramenti delle prestazioni rispetto ai modelli di fondazione pronti all’uso.
Un modo intuitivo per mettere a punto un modello è aggiornare tutti i parametri pre-addestrati tenendo presente la nuova attività o area di dominio. Tuttavia, ci sono problemi con questo modo di mettere a punto modelli linguistici di grandi dimensioni, poiché richiede una copia completa del modello ottimizzato per ogni attività. Regolazione fine efficiente dei parametri (PEFT) è un’area di ricerca attiva nella comunità dell’intelligenza artificiale, in cui viene aggiornato un numero minore di parametri specifici dell’attività mentre la maggior parte dei parametri del modello di base vengono congelati.
Adattamento di basso rango (LoRA) è un metodo PEFT specifico utilizzato per ottimizzare TinyGPT-V. Ad alto livello, LoRA congela i pesi del modello pre-addestrato e inserisce matrici di decomposizione dei ranghi addestrabili in ogni strato di un trasformatore, riducendo così il numero di parametri addestrabili per le attività a valle. Di seguito è mostrato come il modulo LoRA è stato applicato al modello TinyGPT-V.
TinyGPT-V contribuisce a un corpo di ricerca per rendere più efficienti i modelli linguistici di grandi dimensioni multimodali. Le innovazioni in molteplici aree, come PEFT, metodi di quantizzazione e architetture dei modelli, saranno essenziali per ottenere modelli quanto più piccoli possibile senza sacrificare troppo le prestazioni. Come osservato nella prestampa, TinyGPT-V raggiunge prestazioni simili ad altri VLM più piccoli. Corrisponde alle prestazioni di BLIP-2 (il modello più piccolo ha parametri di 3,1B) e, sebbene non sia all’altezza delle prestazioni di InstructBLIP su benchmark simili, è ancora di dimensioni inferiori (TinyGPT-V ha parametri di 2,8B rispetto a 4B di InstructBLIP).
Per le direzioni future, ci sono sicuramente aspetti che potrebbero essere esplorati per migliorare le prestazioni di TinyGPT. Ad esempio, si sarebbero potuti applicare altri metodi PEFT per la messa a punto. Dalla pre-stampa, non è chiaro se queste decisioni sull’architettura del modello fossero basate esclusivamente su prestazioni empiriche o se fosse una questione di convenienza per l’implementazione. Questo dovrebbe essere studiato ulteriormente.
Infine, al momento in cui scrivo sono disponibili il modello pre-addestrato e il modello ottimizzato per l’apprendimento delle istruzioni, mentre il modello multi-task è attualmente una versione di prova su GitHub. Man mano che sviluppatori e utenti utilizzano il modello, ulteriori miglioramenti potrebbero fornire informazioni su ulteriori punti di forza e di debolezza di TinyGPT-V. Ma nel complesso, ho pensato che fosse uno studio utile per progettare VLM più efficienti.
Fonte: towardsdatascience.com