Capitolo 15 · Multimodalità · 8 min

Quando il modello legge le immagini

Patch embedding, ViT, CLIP. Come un Transformer di testo diventa multimodale trattando un'immagine come una griglia di token.

Il modello non vede davvero

Quando invii una foto a GPT-4o o Claude e ti dice cosa rappresenta, non c'è un "occhio" nel modello. Nessun sistema visivo, nessun rilevatore di oggetti. Il modello non "vede" un'immagine: legge una sequenza di vettori.

Questo è tutto il trucco della multimodalità moderna: trasformare qualsiasi tipo di dato (immagine, audio, video) in una rappresentazione che assomiglia a token di testo. Dopo questa trasformazione, il Transformer standard fa il resto.

Nota sulla portata di questo capitolo. Qui parliamo di modelli che comprendono le immagini (le descrivono, rispondono a domande, leggono un grafico). Per i modelli che generano immagini a partire da un testo — Stable Diffusion, DALL-E, Midjourney — l'architettura è diversa ed è l'oggetto del capitolo 21.

ViT: tagliare l'immagine in patch

L'architettura di riferimento per le immagini si chiama ViT (Vision Transformer), proposta da Google nel 2020.

L'idea è disarmante nella sua semplicità: tagliare l'immagine in piccoli quadrati (patches) di dimensione fissa — 16×16 pixel di default. Ogni patch viene appiattita in un vettore, poi proiettata nello spazio di embedding del Transformer.

Un'immagine 224×224 pixel, tagliata in patch 16×16, produce 196 patch — cioè 196 token. Questi token vengono inviati al Transformer esattamente come token di testo. L'attenzione li tratta, li mette in relazione, estrae caratteristiche pertinenti.

La posizione di ogni patch nell'immagine è codificata tramite un positional embedding, esattamente come per i token di testo.

Manipola le patch

Ecco un'immagine 16×16 (semplificazione: ViT-Base lavora su 224×224). Cambia la dimensione delle patch per osservare come variano la risoluzione e il numero di token.

L'immagine viene tagliata in patch quadrate, ogni patch diventa un token tramite una proiezione lineare. Il Transformer non sa più se l'input è testo o una griglia di immagini — tratta la sequenza nello stesso modo.

Il compromesso appare subito quando muovi il cursore: patch più piccole danno un'immagine meglio definita, ma il numero di token esplode — e poiché l'attenzione costa O(n²) (capitolo 04), dimezzare la dimensione delle patch quadruplica il numero di token e moltiplica il costo per sedici. È esattamente l'arbitraggio che fa ogni modello di visione: abbastanza patch per leggere un grafico, non tante da rovinare l'inferenza.

Il token speciale [CLS]

Nei primi ViT, un token speciale [CLS] viene aggiunto all'inizio della sequenza. Dopo che l'attenzione ha fatto circolare l'informazione tra tutte le patch, il vettore [CLS] viene usato come rappresentazione globale dell'immagine.

È quello che viene inviato a una testa di classificazione per rispondere a "che cos'è?".

I modelli multimodali attuali — la generazione di GPT-4V, Claude 3 e Gemini ha aperto la strada nel 2023-2024, e oggi tutti i grandi modelli lo sanno fare — procedono altrimenti: i token delle patch vengono concatenati ai token di testo in un'unica sequenza. Da lì in poi non c'è nulla di speciale da fare: la solita self-attention lascia che ogni parola guardi ogni pezzo di immagine, e viceversa. È ciò che rende l'approccio così economico — nessuna macchineria dedicata, si riusa il Transformer così com'è.

Esiste una variante in cui l'immagine resta in una sequenza a parte e il testo va a consultarla per attenzione incrociata (è la scelta di Flamingo, o di Llama 3.2 Vision). Più modulare, ma meno semplice.

CLIP: allineare immagini e testi

Prima di poter mescolare immagini e testi nello stesso Transformer, gli embeddings di immagini e testi devono abitare lo stesso spazio vettoriale.

È il problema risolto da CLIP (OpenAI, 2021). CLIP addestra due encoder in parallelo — uno per le immagini, uno per i testi — con un solo obiettivo: avvicinare le rappresentazioni di un'immagine e della sua didascalia.

Dopo l'addestramento su centinaia di milioni di coppie (immagine, testo), CLIP produce spazi in cui "una foto di gatto" e una foto di gatto hanno vettori vicini. È questa proprietà che permette a un LLM di "capire" un'immagine iniettata nel suo contesto.

L'architettura di un modello vision-language

Gli LLM multimodali attuali sono generalmente composti da:

  1. Un encoder visivo (spesso un ViT pre-addestrato) che produce token immagine.
  2. Un proiettore (una piccola MLP) che mappa i token immagine nello spazio di embedding dell'LLM.
  3. L'LLM che riceve la sequenza mista (token immagine + token testo) e genera la risposta.

Questo "proiettore" è spesso l'unica parte addestrata durante l'adattamento di un LLM testuale verso il multimodale: il resto resta congelato.

Cosa vede davvero il modello

È tentante immaginare che il modello abbia una "comprensione visiva" profonda. In realtà succede questo:

Ogni patch di 16×16 pixel viene prima messa in piano: 16 × 16 × 3 canali di colore = 768 valori, allineati in un'unica lista. Questa lista passa poi in una proiezione lineare appresa — una matrice, addestrata insieme al resto del modello, che la trasforma in vettore di embedding (768 dimensioni per ViT-Base). Non è quindi una media dei pixel: nulla viene schiacciato, la disposizione interna della patch resta conservata nel vettore. Ma la rappresentazione resta molto locale — quel vettore non sa nulla di ciò che succede nel resto dell'immagine.

È l'attenzione tra tutti questi vettori che ricostruisce le relazioni spaziali, rileva i bordi, riconosce le forme. Il modello non ha alcun concetto integrato di "cerchio" o "volto": li scopre statisticamente.

È per questo che gli LLM visivi possono sorprendere su compiti semplici per un umano (contare oggetti, distinguere sinistra/destra) ma essere notevoli su compiti di alto livello (interpretare un grafico, leggere una prescrizione).

E l'audio ?

Lo stesso principio — convertire una modalità in una sequenza di token — si applica alla voce. Il modello di OpenAI Whisper (2022) resta il riferimento in open source per la trascrizione voce→testo — i modelli nativamente multimodali oggi fanno meglio, ma restano chiusi. La sua architettura è un Transformer encoder-decoder, esattamente come un modello di traduzione.

Il trucco : si trasforma il segnale audio in spettrogramma Mel — un'immagine 2D in cui l'asse verticale è la frequenza e l'orizzontale il tempo. Ogni piccolo quadrato di questo spettrogramma diventa un token di input, come le patch di ViT per le immagini. Whisper produce poi token di testo in output.

Per la generazione vocale (text-to-speech), il principio è invertito : si generano token audio a partire dal testo. ElevenLabs, OpenAI TTS, Suno (per la musica) usano tutti Transformer addestrati a predire i token audio successivi. La voce clonata di una persona cara è esattamente la tokenizzazione di qualche minuto di registrazione usato come condizionamento.

Il salto è arrivato dai modelli voice nativamente multimodali, inaugurati da GPT-4o realtime e Gemini Live nel 2024. Questi modelli non fanno più l'andata e ritorno testo ↔ audio internamente: ragionano direttamente in uno spazio che mescola token testo e token audio. Da qui una latenza bassa (~300 ms) e una prosodia naturale — il modello può sorridere mentre parla, perché non ha mai lasciato il dominio audio.

La distinzione conta, perché molti assistenti vocali non lo sono. La modalità vocale di Claude, per esempio, concatena tre mattoncini separati: trascrizione, poi modello di testo, poi sintesi vocale. Funziona benissimo, ma il modello non percepisce mai la tua voce — solo il testo che ne è stato ricavato.

Come per la visione, l'architettura sottostante resta un Transformer. La differenza sta unicamente nella modalità del token.

I token: una moneta universale

La vera lezione della multimodalità è che il token è un'astrazione universale.

Testo → token.
Immagini → token (patch).
Audio → token (spettrogramma tagliato).
Molecole → token (atomi).

Appena possiamo convertire una modalità in una sequenza di vettori densi, un Transformer può trattarla. È per questo che le stesse architetture che hanno rivoluzionato l'NLP stanno rivoluzionando ora visione, audio, biologia e fisica.

Il Transformer è un motore a token. I ricercatori continuano a inventare nuovi modi per tokenizzare il mondo.

Il che rende una domanda sempre più imbarazzante. Uno stesso modello legge testo, descrive una foto, trascrive una voce e scrive codice: in base a cosa si decide che è migliore di un altro? Serve un voto — e ogni voto è una riduzione. Il capitolo successivo guarda cosa misurano davvero i benchmark, e soprattutto cosa si lasciano necessariamente sfuggire.

Aggiornato il