Visual Instruction Tuning
L'ottimizzazione visuale tramite istruzioni affina un modello visione-linguaggio su esempi di immagini, istruzioni e risposte, così che possa seguire richieste aperte sulle immagini.
Il fine-tuning delle istruzioni visive consiste nell'eseguire il fine-tuning di un modello visione-linguaggio (VLM) su esempi che associano un'immagine e un'istruzione in linguaggio naturale alla risposta desiderata, affinché il modello impari a seguire richieste aperte sulle immagini: descrivere una scena, rispondere a una domanda, leggere un testo o ragionare su ciò che viene mostrato. Estende alle immagini il fine-tuning delle istruzioni usato solo per il testo ed è il passaggio che trasforma un modello capace soltanto di mettere in relazione immagini e parole in un assistente visivo. Haotian Liu, Chunyuan Li, Qingyang Wu e Yong Jae Lee dell'Università del Wisconsin-Madison, Microsoft Research e Columbia University hanno introdotto il termine in Visual Instruction Tuning, un articolo presentato oralmente a NeurIPS 2023, insieme al modello LLaVA (Large Language and Vision Assistant) sviluppato nell'ambito del lavoro.
Generazione dei dati per le istruzioni#
Esistevano pochi dataset che associassero immagini, istruzioni e risposte, quindi gli autori di LLaVA li hanno generati con un modello solo testuale. Per ogni immagine di COCO, hanno fornito a GPT-4 una descrizione simbolica dell'immagine, ossia le didascalie scritte da persone e le relative bounding box con categorie e coordinate degli oggetti, oltre ad alcuni esempi scritti a mano, chiedendogli di formulare domande e risposte come se potesse vedere l'immagine. I dati sintetici così ottenuti, pubblicati come LLaVA-Instruct-150K, contengono 158.000 campioni di tre tipi: 58.000 conversazioni a più turni, 23.000 descrizioni dettagliate e 77.000 domande di ragionamento complesso le cui risposte richiedono un ragionamento passo dopo passo sulla scena.
Architettura e addestramento#
LLaVA collega un encoder di immagini CLIP ViT-L/14 a Vicuna, un modello linguistico di grandi dimensioni (LLM), tramite una singola proiezione lineare che mappa le caratteristiche dell'immagine nello spazio di embedding delle parole del LLM, così che l'immagine entri nel LLM come una sequenza di token visivi prima dell'istruzione. L'addestramento si svolge in due fasi:
- Allineamento delle caratteristiche: Si addestra solo la proiezione su 595.000 coppie immagine-didascalia filtrate dal dataset CC3M, mentre l'encoder visivo e l'LLM restano congelati, così che l'LLM possa leggere i token visivi.
- Fine-tuning delle istruzioni visive: Sui dati delle istruzioni vengono aggiornati sia la proiezione sia l'LLM, mentre l'encoder visivo resta congelato. La loss del token successivo viene calcolata solo sulle risposte dell'assistente, mai sui token delle immagini o sulle istruzioni dell'utente.
Il modello risultante ha sostenuto conversazioni su immagini e istruzioni mai viste prima. In un benchmark sintetico multimodale per seguire istruzioni, valutato da GPT-4, LLaVA ha raggiunto l'85,1% del punteggio ottenuto da GPT-4 stesso; dopo il fine-tuning sul benchmark ScienceQA, un ensemble di LLaVA e GPT-4 ha stabilito un nuovo stato dell'arte con il 92,53% di accuratezza.
LLaVA-1.5 ha semplificato e rafforzato la ricetta: ha sostituito la proiezione lineare con un MLP a due layer, aumentato la risoluzione di input di CLIP a 336 pixel, aggiunto dataset accademici di risposta visiva a domande con prompt brevi che specificano il formato della risposta e completato l'addestramento in circa un giorno su un singolo nodo con otto GPU A100, usando 1,2 milioni di campioni pubblici per il modello da 13 miliardi di parametri. InstructBLIP di Salesforce ha seguito un approccio diverso, convertendo dataset esistenti con etichette nel formato di istruzione e condizionando le caratteristiche delle immagini sull'istruzione.
Applicazioni#
I VLM sottoposti a fine-tuning delle istruzioni sostituiscono molti modelli specializzati in un singolo task con un unico sistema che risponde a domande formulate liberamente, scrive didascalie per immagini con il livello di dettaglio richiesto dall'utente e legge il testo nelle fotografie, combinando il riconoscimento ottico dei caratteri (OCR) con il ragionamento sul significato del testo. I modelli che leggono gli screenshot in questo modo alimentano gli agenti che interagiscono con il computer. La ricetta si applica anche a domini specializzati: LLaVA-Med è stato allineato su coppie di didascalie e figure biomediche di PubMed Central, sottoposto a fine-tuning con istruzioni generate da GPT-4 su tali contenuti e addestrato in meno di 15 ore su otto GPU A100, aprendo la strada ad assistenti per l'analisi di immagini mediche capaci di spiegare i risultati a parole.
Molti VLM sottoposti a fine-tuning delle istruzioni restituiscono anche la posizione degli oggetti quando viene richiesto. Ultralytics Platform sfrutta questa funzionalità nelle annotazioni Smart basate su prompt di classe: su un dataset di rilevamento con 1-200 classi, modelli open source ospitati, come Moondream 3.1, o i modelli visivi a pagamento dei provider individuano le classi del dataset in un'immagine e restituiscono bounding box modificabili da revisionare.
I VLM sottoposti a fine-tuning delle istruzioni ereditano anche i punti deboli dei loro dati. Le risposte generate possono descrivere oggetti che non compaiono nell'immagine; metodi basati sulle preferenze come la Direct Preference Optimization (DPO) vengono applicati dopo il fine-tuning delle istruzioni per ridurre queste allucinazioni.
Fine-tuning delle istruzioni visive e concetti correlati#
- Fine-tuning delle istruzioni testuali: Esegue il fine-tuning di un LLM solo testuale su coppie di istruzioni e risposte. Il fine-tuning delle istruzioni visive aggiunge un'immagine a ogni esempio e addestra la connessione tra l'encoder visivo e l'LLM.
- Preaddestramento visione-linguaggio: I modelli contrastivi come CLIP imparano ad associare immagini e didascalie. In questo modo forniscono a un VLM le caratteristiche visive, ma non la capacità di seguire istruzioni.
- Prompting visivo: Guida un modello in fase di inferenza con indizi visivi come punti, box o immagini di esempio, come nella segmentazione basata su prompt. Il fine-tuning delle istruzioni visive è una fase di addestramento e i prompt sono scritti in linguaggio naturale.
- Fine-tuning per la risposta a domande visive (VQA): Addestra un modello su un singolo task e un formato di risposta, per esempio un singolo benchmark VQA. Il fine-tuning delle istruzioni visive combina molti tipi di task in un unico formato di istruzione, così il modello generalizza a nuove richieste.










