Transformers AI
Negli ultimi anni, i Transformer hanno rivoluzionato il campo dell’intelligenza artificiale, in particolare nel trattamento del linguaggio naturale e del machine learning.
Chi ha usato strumenti come Google Translate o interagito con chatbot tipo ChatGPT, ha già sperimentato in azione questa tecnologia. Ma che cosa sono esattamente i Transformer e perché hanno segnato una svolta così importante?
Che cosa sono i Transformer
Nel machine learning un Transformer è un tipo di rete neurale profonda progettata per lavorare con dati sequenziali, come le frasi di un testo o le note di una melodia.
A differenza dei modelli precedenti, che analizzavano gli elementi uno per volta in ordine, il Transformer guarda tutto insieme e decide cosa conta di più.
È come leggere un'intera frase in un colpo d’occhio, anziché una parola alla volta.
In altre parole, un Transformer è come un lettore esperto che legge tutto il testo in un colpo solo, individua cosa conta davvero e restituisce un risultato coerente, sensato e contestualizzato.
L’idea chiave è l’auto-attenzione
Il cuore di un Transformer è il meccanismo di auto-attenzione. Questo meccanismo permette al modello di valutare l’importanza relativa delle parole all'interno di una sequenza.
Ogni parola "guarda" le altre parole e decide quanto sono rilevanti per capirne il significato.
Questo significa che il Transformer può considerare tutte le parole contemporaneamente e capire quali parole sono più rilevanti l’una per l’altra nel contesto, invece di leggere parola per parola in sequenza.
Esempio. Considero la frase “Il gatto che inseguiva il topo era affamato”. La parola “era” si riferisce a “gatto” e non a “topo”. Un modello tradizionale potrebbe perdersi. Il Transformer, invece, “vede” l’intera frase e capisce che il soggetto principale è “gatto”, grazie all’auto-attenzione.
Grazie a questa capacità, i Transformer eccellono nel catturare il contesto globale di una sequenza, cosa fondamentale per comprendere il significato di testi complessi.
L'elaborazione parallela, non sequenziale
Un'altra grande innovazione è che i Transformer elaborano tutto in parallelo, non una parola alla volta. Questo li rende molto più veloci ed efficienti, soprattutto su grandi testi.
Esempio. Nel tradurre la frase “She opened the window because it was hot”, il Transformer può capire che “it” si riferisce al tempo (fa caldo) e non alla finestra, perché analizza tutte le parole insieme, pesandole nel contesto.
La Struttura: Encoder e Decoder
L’architettura di base di un Transformer è divisa in due blocchi che utilizzano strati di auto-attenzione multipla (multi-head attention) e reti neurali feed-forward.
- Encoder: legge l’input (es. una frase in inglese)
- Decoder: genera l’output (es. la stessa frase in italiano)
Ogni blocco è composto da più strati, ognuno con auto-attenzione e una rete neurale che elabora le informazioni.
Esempio. In un traduttore automatico basato su Transformer, l’encoder capisce il significato della frase inglese “I am learning”, mentre il decoder genera la frase italiana “Sto imparando”, tenendo conto dell’intero contesto.
Dove si usano i Transformer?
Anche se nati per il linguaggio, oggi i Transformer vengono utilizzati ovunque ci siano dati sequenziali.
Ad esempio, nella traduzione automatica, nella generazione di testo, nel riconoscimento vocale, l'analisi di serie temporali finanziarie, la visione artificiale (analisi di immagini e video) e via dicendo.
In generale, i Transformer hanno rivoluzionato il modo in cui le macchine leggono, scrivono e comprendono. Non trattano più le parole come sequenze rigide, ma come elementi collegati tra loro da relazioni dinamiche.
Questo consente una comprensione molto più profonda del linguaggio naturale.
La storia dei transformers
I Transformer sono nati per risolvere un problema concreto: i modelli precedenti erano troppo lenti e troppo limitati per capire frasi lunghe o complesse.
Prima del 2017, il mondo dell’Intelligenza Artificiale usava soprattutto modelli chiamati Reti Neurali Ricorrenti (Recurrent Neural Networks, RNN) e le loro versioni migliorate, le LSTM (Long Short-Term Memory). Funzionavano, ma avevano dei difetti strutturali difficili da superare.
I limiti delle reti ricorrenti
I modelli RNN e LSTM erano seq2seq (sequence-to-sequence) ed elaboravano il testo una parola alla volta, in ordine.
Questo approccio imitava la lettura umana, ma con un grosso problema: la memoria era corta.
Se una parola importante appariva molto prima nel testo, il modello tendeva a dimenticarla quando ne aveva più bisogno.
Esempio. Nella frase “Il professore che ha scritto venti libri e ha vinto molti premi parlava con passione dei suoi studenti”, capire che “parlava” si riferisce al “professore” richiede di ricordare il soggetto lontano all'inizio.
Le LSTM miglioravano un po' la memoria, ma non abbastanza.
Un altro limite era la lentezza: dovendo elaborare parola per parola in sequenza, non si poteva usare il calcolo parallelo.
Questo rendeva l’addestramento dei modelli molto lento, soprattutto con frasi lunghe, e una comprensione non sempre ottimale di frasi lunghe o complesse.
Il punto di svolta: “Attention Is All You Need” (2017)
Nel 2017, un gruppo di ricercatori di Google pubblicò un articolo destinato a cambiare tutto. Il titolo era semplice ma provocatorio: “Attention Is All You Need”.
La loro proposta? Abbandonare del tutto la ricorrenza tipica delle RNN e usare solo un meccanismo di attenzione (attention) per analizzare le sequenze.
L’idea geniale era di permettere al modello di focalizzare l’attenzione su alcune parti specifiche della sequenza ed evidenziare le relazioni tra queste grazie anche al calcolo parallelo.
Nacque così il modello Transformer che non legge più parola per parola. ma guarda l’intera frase in parallelo e decide autonomamente quali parole sono rilevanti tra loro.
È come se potesse leggere un intero paragrafo in un lampo e collegare automaticamente i punti chiave.
Esempio. Nella frase “Marco ha dimenticato le chiavi perché le ha lasciate in ufficio”, il modello riconosce che “le” si riferisce a “chiavi" grazie alla sua capacità di focalizzarsi sulle parole giuste, anche se sono lontane tra loro nella frase.
Perché il Transformer è rivoluzionario?
Il Transformer ha risolto due problemi in una volta:
- Memoria lunga: riesce a stabilire relazioni anche tra parole molto distanti.
- Efficienza: elabora tutto in parallelo, rendendo l’addestramento molto più veloce.
In questo modo, i Transformer hanno consentito di processare sequenze anche molto lunghe in modo efficiente e tutto in una volta.
Negli anni successivi, questa architettura è stata adottata in tutta la comunità AI, diventando rapidamente il modello di riferimento per il Natural Language Processing (NLP).
Questo cambiamento di paradigma ha permesso la creazione di modelli molto più grandi e potenti.
Grazie ai Transformer è stato possibile costruire sistemi con miliardi di parametri (molto più grandi dei network precedenti) che imparano dai testi di tutta Internet, raggiungendo livelli di comprensione e generazione del linguaggio prima impensabili.
È così che siamo passati ai Large Language Models (LLM) come BERT (Gemini), GPT, T5 e simili, capaci di scrivere, riassumere, tradurre e persino programmare.
Esempio. Un LLM basato su Transformer può leggere un’intera pagina di Wikipedia e rispondere a domande complesse come “Quali furono le cause principali della Rivoluzione Francese?”, analizzando il contesto e producendo una risposta coerente in pochi secondi.
Dal 2017 a oggi, i Transformer hanno dominato ogni ambito del linguaggio naturale e non solo. Hanno cambiato radicalmente il modo in cui le macchine leggono, comprendono e generano il linguaggio.
In pratica, grazie ai Transfor l’intelligenza artificiale ha smesso di seguire una parola alla volta ed è diventata capace di capire il significato globale di un testo, velocemente e tutto in una volta.
Un cambiamento che ha aperto la strada a una nuova generazione di modelli intelligenti, più precisi, più veloci e più versatili.
Il meccanismo di Self-Attention: come il Transformer comprende il contesto
La self-attention (attenzione su sé stessi) è un’operazione che, data una sequenza di parole, calcola quanto ogni parola debba prestare attenzione alle altre nella sequenza per comprendere il proprio significato.
Ogni parola viene trasformata in tre vettori:
- Query (Q) rappresenta la richiesta di informazione.
- Key (K) rappresenta l'identità, ciò che può essere “cercato”.
- Value (V) rappresenta l'informazione vera e propria.
Il modello confronta ogni Query con tutte le Key tramite il prodotto scalare, ottenendo una serie di pesi di attenzione.
Questi pesi vengono poi usati per fare una media pesata dei Value, generando una nuova rappresentazione per ogni parola.
Esempi
Ecco un esempio di ambiguità risolta con la Self-Attention. Considero la frase:
“Il gatto inseguì il topo perché voleva mangiarlo.”
Chi vuole mangiare? Il gatto o il topo? Un modello tradizionale potrebbe confondersi.
Ma con la self-attention, la parola “mangiarlo” può assegnare un peso elevato alla parola “topo”, comprendendo che si riferisce proprio a quello.
Questo è possibile perché il vettore Query di “mangiarlo” ha un'alta affinità (cioè prodotto scalare) con la Key del “topo”, risultando in un peso elevato nel calcolo dell’attenzione.
Quest'altro esempio in inglese evidenzia ancora meglio il funzionamento. Ho due frasi
- Frase 1: dove “It” si riferisce a animal.
“The animal didn’t cross the street because it was too tired.”
Frase 2: dove “It” si riferisce a street.“The animal didn’t cross the street because it was too wide.”
Nel primo caso, la self-attention associa “it” con “animal”; nel secondo, con “street”.
In entrambi, la rete assegna i pesi di attenzione in base al significato, risolvendo l’ambiguità in modo contestuale.
Multi-Head Attention: diversi punti di vista contemporanei
La self-attention non avviene una sola volta.
I Transformer usano un meccanismo chiamato multi-head attention, che calcola più insiemi di Q, K, V in parallelo.
Ogni testa può concentrarsi su un diverso tipo di relazione:
- Una testa può osservare i legami sintattici (es. soggetto-verbo).
- Un’altra può cogliere associazioni semantiche (es. sinonimi o parole correlate).
Alla fine, queste informazioni vengono combinate per generare una rappresentazione arricchita.
Positional Encoding: dare un senso all’ordine
Poiché il Transformer elabora tutte le parole in parallelo, non ha di per sé una nozione di ordine.
Per risolvere questo problema si aggiungono positional encoding, ovvero vettori che contengono informazioni sulla posizione della parola nella frase.
Esempio. La parola “corre” in “Luca corre veloce” e “Veloce corre Luca” ha un significato diverso a seconda della posizione. Il positional encoding permette al modello di cogliere questa differenza.
Attraverso la self-attention, ogni parola viene reinterpretata tenendo conto dell’intero contesto.
Questo rende il Transformer in grado di comprendere relazioni complesse tra parole, gestire ambiguità linguistiche e costruire rappresentazioni semantiche profonde.
Quindi, la forza del meccanismo non sta solo nella precisione matematica, ma nella capacità di emulare il ragionamento umano nel collegare idee e riferimenti. È questo che ha reso i Transformer la base dell’intelligenza linguistica moderna.
Le differenze tra Transformer e le reti RNN/LSTM
I Transformer hanno rivoluzionato l’elaborazione del linguaggio naturale, distaccandosi nettamente dai modelli sequenziali classici come le RNN (Recurrent Neural Network) e le LSTM (Long Short-Term Memory).
Non si tratta solo di un’evoluzione architetturale: il cambiamento è strutturale, concettuale e operativo.
Elaborazione parallela contro sequenziale
Le RNN e LSTM processano la sequenza un elemento alla volta. Questo significa che per calcolare il secondo elemento devono prima avere completato il primo, poi il terzo dopo il secondo, e così via.
Questo approccio sequenziale rende impossibile una parallelizzazione completa durante l’addestramento.
Esempio pratico. Se ho una frase di 50 parole, una RNN deve passarle una per una, come se leggessi lentamente una riga alla volta. Un Transformer, invece, le guarda tutte insieme, come se un lettore esperto leggesse l’intero paragrafo in un colpo d’occhio.
Il Transformer elabora l’intera sequenza in parallelo. Questo è possibile grazie al meccanismo di self-attention, che permette a ogni elemento della sequenza di pesare l’importanza relativa di tutti gli altri.
Questo approccio è ideale per l’accelerazione su GPU e consente una scalabilità molto più efficiente.
Dipendenze a lungo termine
Uno dei limiti principali delle RNN è la difficoltà nel mantenere memoria di eventi molto distanti nella sequenza.
Il problema del gradiente che svanisce ostacola il trasferimento di informazione da un capo all’altro della sequenza.
Le LSTM hanno introdotto gate di memoria per mitigare questo effetto, ma la capacità di ricordare dettagli a lungo termine resta limitata.
I Transformer superano completamente questo ostacolo: grazie alla self-attention, ogni parola può interagire direttamente con qualsiasi altra, indipendentemente dalla posizione.
Non esistono più barriere di distanza: la prima e l’ultima parola sono collegate in modo esplicito e diretto.
Esempio. In un testo legale, un termine introdotto all’inizio (es. "definizioni") può influenzare fortemente un passaggio alla fine. Un Transformer collega le due sezioni con facilità, mentre un LSTM può "dimenticare" l’informazione rilevante.
Costruzione del contesto
Nelle RNN e LSTM il contesto è accumulato in uno stato interno, che si aggiorna a ogni passo.
Questo stato rappresenta una compressione progressiva della sequenza. Ma più lunga è la sequenza, più difficile è evitare la perdita di dettagli.
Nei Transformer, invece, il contesto è distribuito: ogni parola ottiene una rappresentazione che riflette l’influenza di tutte le altre parole, ponderata dai pesi di attenzione.
Questo rende il modello più flessibile e preciso nel cogliere sfumature di significato.
Informazione di posizione
Le RNN conoscono automaticamente la posizione degli elementi grazie alla loro natura sequenziale.
Nei Transformer, invece, manca questa informazione implicita. Per questo si introduce il positional encoding, una codifica numerica che aggiunge informazioni sulla posizione di ogni token nella sequenza.
Esempio. Nei Transformer, la parola "oggi" e "ieri" sono trattate allo stesso modo se non si aggiunge il positional encoding. Questa codifica consente al modello di distinguere la sequenza temporale delle parole.
Scalabilità e limiti computazionali
I Transformer sono più scalabili: si possono costruire modelli enormi con centinaia di milioni (o miliardi) di parametri, addestrarli in parallelo su più GPU e ottenere prestazioni notevoli su compiti complessi come la traduzione, il riassunto o il completamento del testo.
Il costo della self-attention, però, cresce quadraticamente con la lunghezza della sequenza (O(n²)), perché ogni parola deve confrontarsi con tutte le altre.
Le RNN, invece, crescono linearmente (O(n)), ma non possono sfruttare la parallelizzazione.
Esempio. Per una sequenza di 10.000 token, un Transformer standard può saturare la memoria GPU. Per questo sono nate varianti come Longformer o Reformer, progettate per gestire lunghe sequenze riducendo il costo computazionale.
In conclusione, i Transformer hanno ridefinito lo standard nei modelli di NLP:
- elaborano in parallelo anziché in sequenza;
- gestiscono meglio contesti lunghi;
- costruiscono rappresentazioni più ricche;
- integrano l’informazione di posizione in modo esplicito;
- scalano meglio su hardware moderno.
A fronte di un maggior costo computazionale, i vantaggi in termini di precisione, flessibilità e capacità di apprendimento sono tali da aver reso obsoleti i modelli ricorrenti nella maggior parte delle applicazioni avanzate di intelligenza artificiale.
Esempi di modelli basati su Transformer
L’architettura Transformer, introdotta nel 2017, non è rimasta un concetto astratto: ha dato origine a una vera e propria famiglia di modelli che oggi dominano il panorama dell’intelligenza artificiale. Ecco i principali.
- BERT (Bidirectional Encoder Representations from Transformers), sviluppato da Google nel 2018, è un modello basato esclusivamente sulla parte di encoder del Transformer. È addestrato in maniera bidirezionale, cioè considera contemporaneamente le parole a sinistra e a destra di un termine per comprenderne meglio il significato nel contesto. Usa il Masked Language Modeling (MLM): maschera alcune parole dell’input e cerca di prevederle. Dal modello originale sono nate diverse varianti come RoBERTa, DistilBERT, ALBERT.
- GPT (Generative Pre-trained Transformer), sviluppato da OpenAI, è basato solo sulla parte di decoder del Transformer ed è un modello autoregressivo: predice una parola alla volta, guardando solo il testo precedente. Nel 2019 ha mostrato per la prima volta la capacità di generare testi coerenti con GPT-2. Successivamente, nel 2020, il modello venne amplicato a 175 miliardi di parametri con il rilascio di GPT-3. Infine, nel 2022 con GPT-3.5 e poi GPT-4, ha fatto conoscere questa tecnologia al grande pubblico. Alcuni modelli simili sono LaMDA, LLaMA (Meta, open-source) e Claude (Anthropic).
- T5 (Text-To-Text Transfer Transformer), introdotto da Google, è un modello encoder-decoder che riformula ogni compito NLP come un’operazione da testo a testo. E' un unico modello può affrontare traduzioni, classificazioni, risposte, riassunti, semplicemente cambiando il prompt. Alcune varianti sono mT5 (multilingue), ByT5 (elabora direttamente byte invece di parole).
Tutti questi modelli condividono una struttura fondamentale: il meccanismo di attenzione del Transformer.
Questo permette al modello di pesare l’importanza delle parole in una frase indipendentemente dalla loro posizione, rendendo possibile l’elaborazione parallela di sequenze e la cattura di relazioni complesse tra le parole.
L'evoluzione continua ancora oggi e con ogni nuova generazione, il confine tra linguaggio umano e linguaggio artificiale si fa sempre più sottile.
E così via.