Dentro la Mente degli LLM: La Matematica che alimenta i Transformers

Introduzione

I Large Language Models (LLM) come GPT, BERT e le loro varianti come DistilBERT rappresentano una delle più straordinarie innovazioni dell'intelligenza artificiale moderna. Alla base di questi sistemi troviamo un'architettura chiamata "Transformer", introdotta nel celebre paper "Attention Is All You Need" pubblicato da Google nel 2017, che ha rivoluzionato l'elaborazione del linguaggio naturale. Ma come funzionano esattamente questi modelli dal punto di vista matematico?

Questo articolo esplora la matematica e i meccanismi che permettono ai Transformers di comprendere e generare linguaggio umano, partendo dai concetti fondamentali fino ad arrivare ai dettagli più complessi dell'architettura.

Modelli Base vs Modelli Distillati: Un Confronto Iniziale

Prima di addentrarci nei dettagli matematici, è utile comprendere la differenza tra modelli "base" e modelli "distillati" come DistilBERT:

  • BERT base: Utilizza 12 layer di transformer, 12 attention head e una dimensione nascosta specifica
  • DistilBERT: Utilizza solo 6 layer di transformer (circa la metà), mantenendo 12 attention head ma con dimensioni complessive ridotte del 40% circa

Questa differenza strutturale ha importanti implicazioni pratiche:

  • Il modello distillato è circa il 60% più veloce
  • Preserva circa il 96% delle prestazioni
  • Offre un ottimo compromesso tra accuratezza e velocità di esecuzione

Il Vocabolario dei Modelli

Un aspetto fondamentale dei LLM è la dimensione del loro vocabolario. Ad esempio, DistilBERT utilizza un vocabolario di circa 32.000 token. Questo vocabolario rappresenta l'insieme di tutte le unità linguistiche che il modello può riconoscere e processare.

Il vocabolario include non solo parole intere, ma anche parti di parole, punteggiatura e token speciali come [CLS] (Classification Start) e [SEP] (Separator) che aiutano il modello a comprendere la struttura del testo. La dimensione del vocabolario influisce direttamente sulla capacità del modello di comprendere sfumature linguistiche e rappresenta un importante compromesso tra efficienza computazionale e ricchezza espressiva.

Dal Testo ai Numeri: Il Layer di Embedding

Il primo passo fondamentale è convertire il testo in una rappresentazione numerica che il computer possa elaborare.

Embedding dei Token in Uno Spazio Vettoriale Continuo

Quando un testo viene fornito al modello, viene innanzitutto suddiviso in unità linguistiche significative, chiamate token. Questi token vengono poi passati attraverso un layer di embedding, che ha il compito di convertirli in vettori numerici.

Il layer di embedding contiene una matrice che, durante l’addestramento del modello (attraverso la backpropagation), ha imparato a rappresentare ogni token con un vettore. Questa rappresentazione è densa e significativa: parole con significati simili tendono ad avere vettori simili.

Non è necessario addestrare il layer di embedding da zero ogni volta: nei modelli pre-addestrati (come BERT o GPT), questo layer ha già appreso rappresentazioni linguistiche ricche e generalizzabili. Quando si adatta il modello a un compito specifico, si può riutilizzare direttamente questo layer, con o senza fine-tuning — un approccio noto come transfer learning, simile a quanto avviene nella computer vision.

Questo passaggio è cruciale, perché consente di trasformare le parole in uno spazio matematico, dove le relazioni semantiche diventano relazioni geometriche tra vettori.

Il Problema dell'Ordine: Positional Encoding

Una caratteristica cruciale dei Transformer è che processano le parole in parallelo, non sequenzialmente. Questo approccio è efficiente ma introduce una sfida: il modello perde naturalmente la nozione dell'ordine delle parole.

Perché Abbiamo Bisogno del Positional Encoding

Immaginate di leggere una frase con le parole disposte in ordine casuale: il significato andrebbe completamente perso. Lo stesso avviene per un modello che processa le parole simultaneamente senza informazioni sulla loro posizione nella sequenza.

La Matematica del Positional Encoding

Per risolvere questo problema, viene aggiunto un "positional encoding" a ciascun vettore di embedding:

  • Vengono utilizzate funzioni seno e coseno per generare valori unici per ogni posizione
    • Per dimensioni pari del vettore di input (0, 2, 4, ...) si usa la funzione seno: \(\text{PE}_{(pos_{i},2i)} = \sin\left(\frac{\text{pos}}{100^{2i/d}}\right)\)
    • Per indici dispari (1, 3, 5, ...) si usa la funzione coseno: \(\text{PE}_{(pos_{i},2i+1)}= \text{cos}(\frac{\text{pos}}{100\frac{2i}{d}})\)
  • Dove:
    • pos è la posizione del token nella sequenza
    • i è l'indice della dimensione nel vettore di embedding
    • d è la dimensione totale del vettore di embedding
  • Queste formule generano un "fingerprint" posizionale unico per ogni token, che viene poi aggiunto al vettore di embedding originale tramite una somma element-wise.

Perché Funzioni Seno e Coseno?

La scelta di queste funzioni trigonometriche non è casuale:

  1. Continuità e Fluidità: Le onde sinusoidali creano cambiamenti graduali e continui nei valori
  2. Pattern Ripetitivi: Permettono al modello di gestire sequenze di varia lunghezza
  3. Unicità: La combinazione di molte frequenze diverse garantisce che ogni posizione abbia un "fingerprint" unico
  4. Espressività: Le alte dimensionalità catturano sfumature sottili dell'ordine delle parole
  5. Robustezza: Sono meno inclini a interferenze quando si affrontano frasi lunghe o complesse

Il risultato finale è che ogni parola mantiene il suo significato originale dall'embedding, ma acquisisce anche una "firma" matematica che indica esattamente dove si trova nella frase.

Visualizzazione del Positional Encoding

Un modo intuitivo per comprendere il positional encoding è visualizzarlo come un grafico di onde sinusoidali di differenti frequenze. Queste onde formano pattern unici per ogni posizione, creando "firme" posizionali distinguibili.

Se potessimo visualizzare il positional encoding, vedremmo onde sinusoidali di diverse frequenze, dove ogni posizione nella sequenza genera un pattern unico. Zoomando all'esterno, si vedrebbe chiaramente come le onde di seno e coseno creino una "impronta digitale" matematica per ogni posizione nel testo.

Questa visualizzazione mostra come le funzioni seno e coseno di diverse frequenze si combinino per creare rappresentazioni uniche per ogni posizione nella sequenza.

Token Speciali: CLS e SEP

Nei modelli come BERT, vengono utilizzati token speciali che svolgono funzioni importanti:

  • [CLS] (Classification): posto all'inizio della sequenza, questo token viene utilizzato per classificare l'intera frase in task come l'analisi del sentimento o la classificazione del testo.
  • `[SEP]` (Separator): utilizzato per separare segmenti di testo, come domande e risposte o per marcare la fine di una sequenza.

Questi token speciali aiutano il modello a comprendere la struttura del testo e fungono da punti di riferimento nei task di comprensione del linguaggio. Quando il modello elabora una frase come "The bank of the river was flooded", questi token vengono aggiunti automaticamente per fornire informazioni strutturali aggiuntive.

Il Cuore del Transformer: Il Meccanismo di Attention

Dopo aver tokenizzato il testo e applicato il positional encoding, i dati sono pronti per essere processati dal primo transformer layer. Qui entra in gioco il meccanismo di attention, l'innovazione cruciale che ha reso possibili i moderni LLM.

Query, Key e Value: I Tre Pilastri dell'Attention

Per ogni token nel testo, vengono generate tre diverse rappresentazioni attraverso la moltiplicazione del vettore di embedding per tre matrici diverse:

  1. Query (Q): Rappresenta "ciò che stiamo cercando" - interroga gli altri token per trovare informazioni rilevanti
  2. Key (K): Descrive "ciò che ogni token offre" - indica quanto un token è rilevante rispetto a una certa query
  3. Value (V): Contiene l'informazione effettiva che verrà utilizzata nell'output

Queste matrici (Wq, Wk, Wv) sono parametri del modello che vengono ottimizzati durante l'addestramento.

In termini semplici:

  • Q chiede
  • K risponde "ho qualcosa di utile?"
  • V fornisce il contenuto da utilizzare se la risposta è affermativa

Il Calcolo dell'Attention Step-by-Step

Vediamo come funziona il meccanismo in dettaglio, seguendo l'esempio di una frase come "The bank of the river was flooded":

  • Calcolo dei Key Vectors:
    • Per ogni token, il suo embedding viene moltiplicato per la Key Matrix
    • Questo arricchisce gli embedding con informazioni aggiuntive
    • I Key Vector catturano caratteristiche significative che saranno utili per calcolare l'attention score, sono rappresentazioni apprese del contenuto dei token
  • Calcolo dei Query Vectors:
    • Similmente, ogni embedding viene moltiplicato per la Query Matrix
    • La matrice Query apprende parametri che aiutano a proiettare gli embedding in uno spazio in cui è possibile valutare la rilevanza dei diversi elementi
  • Calcolo degli Attention Score Grezzi:
    • Per una parola specifica (ad esempio "river"), il suo Query Vector viene moltiplicato per ogni Key Vector tramite prodotto scalare
    • Un alto prodotto scalare indica alta correlazione semantica tra le parole
    • Questo prodotto aiuta il modello a capire meglio il significato contestuale di ogni parola
  • Applicazione del Softmax:
    • Gli attention score grezzi vengono trasformati in una distribuzione di probabilità usando la funzione softmax
    • Questo normalizza i punteggi in modo che la loro somma sia 1
    • Elimina anche i valori negativi
  • Normalizzazione:
    • I punteggi grezzi ottenuti dal prodotto tra Query e Key vengono divisi per √d_k (dove d_k è la dimensione delle Key) per evitare che valori troppo grandi producano gradienti instabili nel softmax
    • Questo aiuta a stabilizzare il training
  • Applicazione dei Value Vectors:
    • Come per Query e Key, ogni embedding viene moltiplicato per la Value Matrix per ottenere i Value Vectors
    • Questi vettori contengono le informazioni dettagliate di ciascun token
    • I Value Vectors vengono moltiplicati per i pesi softmax corrispondenti
  • Calcolo della Rappresentazione Finale Context-Aware:
    • I Value Vectors pesati vengono sommati per produrre una rappresentazione arricchita di contesto per ogni token
    • Questa rappresentazione cattura non solo il significato isolato del token, ma anche le sue relazioni con gli altri token nella sequenza

Un Esempio Concreto di Calcolo dell'Attention

Per illustrare concretamente come funziona l'attention, consideriamo un esempio semplificato con vettori di dimensione 4.

Se abbiamo i seguenti vettori di embedding per le parole di una frase come "I am a robot":

  • E_I = [1.0, 0.5, 0.3, 0.0]
  • E_am = [0.9, 0.8, 0.2, 1.0]
  • E_a = [0.7, 0.1, 0.4, 0.0]
  • E_robot = [1.1, 0.4, 0.3, 1.0]

Il calcolo dell'attention coinvolgerà:

  1. La trasformazione di questi vettori attraverso le matrici Q, K, V (ad esempio, una matrice 3x3)
  2. Il calcolo dei prodotti scalari tra il Query vector di una parola e i Key vector di tutte le altre
  3. L'applicazione del softmax per ottenere i pesi di attenzione
  4. La somma pesata dei Value vector per ottenere la rappresentazione finale

Prendiamo ad esempio la parola "river" in una frase. Dopo aver calcolato il suo Query vector e confrontato con i Key vector di tutte le altre parole, potremmo ottenere dei pesi di attenzione come:

Attention(river → the) = 0.1

Attention(river → bank) = 0.35

Attention(river → of) = 0.05

Attention(river → river) = 0.4

Attention(river → was) = 0.05

Attention(river → flooded) = 0.05

Questi pesi vengono poi utilizzati per calcolare una somma pesata dei Value vector, producendo una rappresentazione contestuale ricca per "river" che incorpora informazioni rilevanti dalle altre parole della frase, specialmente "bank" e se stessa.

L'Esempio Pratico: Disambiguazione di Parole Polisemiche

Prendiamo la parola "bank" in inglese, che può riferirsi sia a un'istituzione finanziaria che alla sponda di un fiume. Il meccanismo di attention permette al modello di disambiguare correttamente:

  • In "I deposited money in the bank", l'attention si concentrerà su "deposited" e "money"
  • In "The bank of the river was flooded", l'attention si concentrerà su "river" e "flooded"

Questa capacità di determinare il contesto è ciò che rende i transformer così potenti nella comprensione del linguaggio naturale.

Multi-Head Attention: Moltiplicare le Prospettive

Nella pratica, i modelli come BERT non utilizzano una singola "testa" di attention, ma più teste in parallelo (tipicamente 12). Questo approccio multi-head è fondamentale per la qualità dei risultati.

Perché Usare Multiple Teste di Attention?

Ogni attention head è come un'area di focus diversa, simile a come nelle reti convoluzionali alcuni layer guardano alle forme, altri ai bordi, e così via. Ad esempio (usando distilBert con 6 transformer layer):

  • Heads 1-12 (Livello 1): Si concentrano sulla sintassi e grammatica di base
  • Heads 13-24 (Livello 2): Affrontano le relazioni lessicali
  • Heads 25-36 (Livello 3): Migliorano la comprensione contestuale
  • Heads 37-48 (Livello 4): Elaborano ruoli semantici e dipendenze
  • Heads 49-60 (Livello 5): Gestiscono il flusso del discorso e della narrazione
  • Heads 61-72 (Livello 6): Effettuano analisi specializzata e integrazione

Integrazione dei Risultati Multi-Head

Poiché abbiamo 12 output (vettori context-aware) per ogni token per ogni layer, questi vengono:

  1. Concatenati in un singolo vettore
  2. Trasformati attraverso un layer finale di trasformazione
  3. Passati attraverso una rete neurale feed-forward
  4. Combinati con una connessione residuale (skip connection)
  5. Normalizzati con layer normalization

Questo processo crea un vettore multidimensionale che rappresenta ricchamente il token e sarà l'input per il layer successivo.

Masked Language Learning: Come Avviene l'Addestramento

II modelli come BERT vengono tipicamente addestrati utilizzando una tecnica chiamata Masked Language Learning:

  • Una percentuale fissa degli input token (solitamente il 15%) viene mascherata prima di essere data in pasto al modello
  • Il modello deve prevedere quali erano i token mascherati, basandosi sul contesto circostante
  • Questo incoraggia un apprendimento bidirezionale, poiché il modello deve utilizzare l'intero contesto della sequenza per fare previsioni accurate

Come Funziona in Pratica il Masked Language Learning

Ad esempio, data una frase come "Il gatto dorme sul divano", il modello potrebbe riceverla come "Il [MASK] dorme sul divano" durante l'addestramento. Il suo compito sarebbe quello di prevedere che la parola mascherata è "gatto", utilizzando le informazioni contestuali delle altre parole.

Questo processo di mascheramento e predizione consente al modello di sviluppare una comprensione profonda delle relazioni semantiche e sintattiche tra le parole, imparando a:

  1. Riconoscere le associazioni probabilistiche tra parole
  2. Comprendere le strutture grammaticali
  3. Dedurre informazioni mancanti dal contesto
  4. Costruire rappresentazioni vettoriali ricche di significato

Questa tecnica è fondamentale per far sì che il modello sviluppi una comprensione profonda delle relazioni linguistiche e semantiche.

Conclusione: La Bellezza Matematica dei LLM

I Large Language Models e i Transformer rappresentano una straordinaria fusione di linguistica, matematica e informatica. La loro architettura, basata su principi matematici eleganti come i prodotti scalari, le funzioni trigonometriche e le trasformazioni lineari, permette loro di catturare le sottigliezze del linguaggio umano in modo sorprendentemente accurato.

Questa comprensione matematica non solo aiuta a demistificare il funzionamento di questi potenti strumenti, ma fornisce anche la base per futuri miglioramenti e innovazioni nel campo dell'intelligenza artificiale per il linguaggio naturale.

La prossima volta che interagite con un assistente AI o utilizzate un servizio di traduzione automatica, potrete apprezzare la complessa danza matematica che si cela dietro ogni risposta generata.

 Disney "Donald in Mathmagic Land" (1959). © Disney
Immagine tratta dal cortometraggio educativo Disney "Donald in Mathmagic Land" (1959). © Disney. Immagine utilizzata a scopo illustrativo ed educativo secondo i principi del fair use.

Per concludere, ricordando il famoso cartone "Paperino nel mondo della Matemagica", potremmo dire che, proprio come Paperino scopriva l'affascinante universo della matematica nascosto dietro oggetti quotidiani, anche noi oggi possiamo ammirare il "Matemagico" mondo dei Transformer che si cela dietro una semplice conversazione con un'intelligenza artificiale. E come diceva la voce narrante: "La matematica è la lingua con cui è scritto il libro della natura" — o in questo caso, il codice con cui è scritta l'intelligenza artificiale!

Related Post

Giugno 9, 2025
Dal Maggiordomo Congelato agli NPC Intelligenti: L'Evoluzione dell'IA nei Videogame

Ricordate il povero maggiordomo di Lara Croft? Quello che tutti noi abbiamo tristemente rinchiuso nella cella frigorifera? È ora di liberarlo... digitalmente parlando! Il Maggiordomo che Cambiò Tutto (Senza Volerlo) Chi ha giocato ai primi Tomb Raider ricorda sicuramente il maggiordomo di casa Croft: quell'adorabile (e fastidioso) NPC che ci seguiva ovunque nella villa, spesso […]

Maggio 30, 2025
Cosa mi porto da Catania: AI, Spritz e tanto ma tanto movimento

🚂 Tornando da Catania, con la mente piena di AI e possibilità Appena rientrata da due eventi intensi e stimolanti a Catania — Green Mind AI e Catan.IA — mi porto a casa molto più di una valigia piena: mi porto idee, connessioni, contaminazioni. Mi porto a casa l’energia delle realtà come Aitho e Datapizza, […]

veronicaschembri
Copyright © Veronica Schembri

Privacy Policy
Cookie Policy
💬