Il Segreto dei Modelli Linguistici: Quando la Magia è solo Matematica


C’è un momento in cui la tecnologia sembra valicare i confini dell’incredibile. Ti capita di chiedere a un modello come ChatGPT di scrivere del codice in Python e lo vedi, in pochi istanti, restituire uno script funzionante. Oppure gli domandi di chiarire un concetto complesso di fisica quantistica e ti accorgi che la sua spiegazione è più semplice e brillante di quelle che hai trovato sui manuali universitari. È naturale, di fronte a queste esperienze, percepire qualcosa di “magico“.
Eppure, la magia qui non c’entra. Il cuore di tutto è un’idea sorprendentemente sobria, quasi banale: la matematica, applicata con cura e su scala colossale, a un compito che inganna per la sua semplicità. Predire la prossima parola.

A prima vista sembra ridicolo pensare che “indovinare il prossimo termine in una sequenza” possa generare intelligenza, ragionamento, scrittura creativa, programmazione. Eppure, tutta la potenza dei Large Language Model si radica esattamente qui. Come siamo arrivati a trasformare questa intuizione elementare in macchine che sembrano dialogare con la nostra mente?

Il lungo cammino fino a GPT

Per decenni, il sogno dell’intelligenza artificiale ha dovuto fare i conti con un limite concreto e brutale: i dati. I primi sistemi imparavano in modo supervisionato, cioè ricevendo un input e un’etichetta fornita da un essere umano. Un’immagine di un gatto, ad esempio, accompagnata dalla scritta “gatto”. Il modello imparava a collegare le due cose confrontando i suoi errori con la risposta giusta. Il metodo funzionava, ma era terribilmente costoso. Ogni etichetta richiedeva il lavoro di una persona: un radiologo per classificare una lastra, un avvocato per annotare contratti, un insegnante per valutare compiti.

C’era un tetto insormontabile: quanto più grande diventavano i modelli, tanto più insostenibile diventava il costo dei dati etichettati. È vero, dataset monumentali come ImageNet hanno spinto in avanti la frontiera, con milioni di immagini annotate a mano. Ma a ben vedere, anche quei numeri apparivano ridicoli rispetto all’oceano di materiale non etichettato disponibile su Internet. Una frazione microscopica del potenziale veniva realmente sfruttata.

Il salto concettuale è arrivato quando qualcuno ha avuto il coraggio di eliminare l’anello debole della catena: l’essere umano come fornitore di etichette. Perché non lasciare che i dati si etichettassero da soli? Da questa intuizione è nata l’era dell’auto-supervisione.

Quando i dati si etichettano da soli

Immagina di avere davanti un testo qualsiasi, magari una voce di Wikipedia. Ogni frase al suo interno può diventare un esercizio: prendi le prime tre parole, chiedi al modello di prevedere la quarta. Poi prendi le prime quattro, chiedi di prevedere la quinta. Così, passo dopo passo, l’intero documento si trasforma in centinaia di micro-esercizi di previsione. Nessun radiologo, nessun avvocato, nessun costo aggiuntivo. Solo testo grezzo che si auto-organizza in una palestra sterminata.

Quello che inizialmente appare come un giochino linguistico, in realtà nasconde una conseguenza rivoluzionaria. Per riuscire a indovinare la parola mancante, il modello non può limitarsi a contare le frequenze statistiche. È “costretto a imparare la grammatica“, perché la parola successiva deve rispettare le regole sintattiche. È costretto a riconoscere relazioni a lungo raggio, collegando ciò che si trova all’inizio di una frase con quello che compare molto dopo. Ed è costretto, soprattutto, ad assimilare fatti sul mondo, perché altrimenti non saprebbe che “Parigi è la capitale della Francia” e che dunque, se una frase comincia con “A Parigi, la lingua principale parlata è…”, la risposta corretta non può che essere “francese”.

Questa pressione implacabile, ripetuta miliardi di volte, forgia dentro la rete neurale una sorta di conoscenza. Non è conoscenza come la intendiamo noi, certo: il modello non “sa” davvero cosa sia Parigi o che aspetto abbia un gatto. Ma ha costruito rappresentazioni interne abbastanza coerenti da renderlo capace di ragionare e generare testi come se lo sapesse.

Dalle parole ai numeri

Qui però incontriamo un ostacolo tecnico: i modelli non lavorano con parole, ma con numeri. Come trasformare allora un testo in sequenze numeriche manipolabili da un algoritmo?

L’approccio ingenuo sarebbe quello di dividere per parole. Ma ogni lingua contiene centinaia di migliaia di termini, ciascuno con declinazioni, coniugazioni, varianti. Il vocabolario esploderebbe, diventando ingestibile. E peggio ancora: un modello addestrato su un certo dizionario crollerebbe davanti a una parola nuova mai vista prima.

L’alternativa opposta, dividere tutto in singoli caratteri, garantirebbe robustezza: con le lettere puoi ricostruire qualsiasi parola. Ma la sequenza diventerebbe lunghissima, e quindi inefficiente e difficile da gestire.

La soluzione che ha cambiato tutto è la tokenizzazione a livello di sotto-parole. Invece di trattare “saltare”, “saltava”, “salterà” come entità distinte, si conservano blocchi comuni, come “salt-” e “-are”, “-ava”, “-erà”. Questo riduce drasticamente il vocabolario e permette di comporre parole mai viste partendo da pezzi elementari. È un’idea tanto elegante quanto efficace: il modello lavora con mattoncini flessibili, in grado di costruire l’universo linguistico.

Certo, questa scelta ha un prezzo. Talvolta emergono cecità sorprendenti: se chiedi a un modello quante “R” contiene la parola “strawberry”, può fallire miseramente. Perché non vede la parola come un’unica sequenza di lettere, ma come tre simboli astratti (ad esempio “stra-”, “w-”, “berry”). Dentro quei blocchi le lettere individuali scompaiono, e ricostruirle diventa difficile. È il lato oscuro di un compromesso altrimenti geniale.

Il calcolo della sorpresa

Una volta che il testo è stato trasformato in numeri e spezzettato in token, il modello entra in azione. Dopo i calcoli interni, produce una serie di punteggi grezzi per ciascuna possibile parola successiva. Questi punteggi, chiamati logits, non hanno ancora un significato probabilistico. Sono solo valori numerici che vanno normalizzati.

A rendere il tutto interpretabile interviene la funzione softmax, che trasforma la nuvola disordinata di numeri in una distribuzione di probabilità ordinata, pulita, sommante a cento per cento. Se il modello deve completare la frase “Il gatto si è seduto sul…”, il softmax ci restituirà qualcosa come: “tappeto” 87%, “pavimento” 12%, “soffitto” 1%.

A questo punto arriva la parte cruciale: il confronto con la realtà. Il modello sa qual era la parola corretta, perché durante l’addestramento ogni frase del dataset porta già in sé la risposta giusta. Se la sua previsione coincide e la probabilità assegnata era alta, l’errore è minimo. Se invece la risposta corretta era poco considerata, l’errore esplode. Questo errore prende il nome di loss, e nel caso dei LLM si calcola con la cosiddetta cross-entropy. È, in sostanza, una misura di sorpresa: quanta meraviglia prova il modello nello scoprire di aver azzeccato la risposta?

La formula è:

$$
L = – \ln p(y \mid x)
$$

dove:

  • \(x\) è l’input (la sequenza di token già vista),
  • \(y\) è il token corretto,
  • \(p(y \mid x)\) è la probabilità che il modello ha assegnato proprio a quel token corretto.

Perché è una misura di sorpresa?

Il logaritmo serve a trasformare le probabilità in quantità additive e a “penalizzare” fortemente gli errori.

  • Se il modello era molto sicuro (ad esempio \(p(y \mid x) = 0.9\)), allora:

$$
L = – \ln 0.9 \approx 0.105
$$

un numero piccolo → bassa sorpresa.

  • Se invece era insicuro o del tutto fuori strada (ad esempio \(p(y \mid x) = 0.01\)), allora:

$$
L = – \ln 0.01 \approx 4.605
$$

un numero grande → altissima sorpresa, forte segnale di correzione.

La sorpresa viene poi propagata all’indietro, attraverso miliardi di connessioni neurali, correggendo leggermente i pesi interni. Un processo che si ripete all’infinito, finché l’intera rete non si modella come un organismo statistico capace di ridurre al minimo la sorpresa. È in questo gioco continuo tra previsione e correzione che si forgia la competenza linguistica del modello.

Intuizione

La cross-entropy loss è come un contatore interno di stupore: misura quanto il modello “si meraviglia” nello scoprire che la risposta giusta era una parola a cui aveva assegnato una probabilità bassa.
In altre parole, è il ponte matematico che trasforma una previsione sbagliata in un insegnamento utile.

Dall’addestramento all’uso quotidiano

Tutto quello che ho descritto finora riguarda la fase di addestramento. Ma quando usiamo un LLM, ad esempio interrogando ChatGPT, entriamo in una modalità diversa: quella della generazione o Inferenza.

Durante la generazione, il modello non deve più imparare; deve scegliere. E qui emergono parametri che controllano il suo comportamento. Se scegliesse sempre la parola più probabile, i testi sarebbero piatti, ripetitivi, persino ossessivi. Per introdurre varietà si ricorre a tecniche come la temperatura, che amplifica o riduce le differenze tra probabilità, o il nucleus sampling, che limita la scelta a un nucleo di opzioni plausibili.

La temperatura interviene prima del softmax, scalando i logits (i punteggi grezzi che il modello produce per ogni token).

$$
P_i = \frac{e^{z_i / T}}{\sum_j e^{z_j / T}}
$$

Softmax

Softmax standard

Senza temperatura, il softmax è:

$$
P_i = \frac{e^{z_i}}{\sum_j e^{z_j}}
$$

dove \(z_i\) sono i logits. Questo converte i punteggi grezzi in una distribuzione di probabilità.

Quindi: qual è il ruolo della temperatura?

  • Softmax: serve sempre a trasformare logits in probabilità.
  • Temperatura: è un “parametro di controllo” dentro il softmax, che ci permette di decidere quanto il modello deve essere conservativo o esplorativo nelle scelte.

In altre parole, la temperatura è un knob (una manopola) che regola il comportamento del softmax.

dove:

  • \(z_i\) = logit del token \(i\),
  • \(T\) = temperatura,
  • \(P_i\) = probabilità finale del token \(i\).

Spiegazione intuitiva

  • Se \(T = 1\) → distribuzione “naturale”: i logits vengono usati così come sono.
  • Se \(T < 1\) (es. \(T = 0.5\)) → i logits vengono divisi per un numero piccolo → le differenze tra loro aumentano → la distribuzione diventa più “netta”. Il modello diventa più deterministico e conservativo, scegliendo quasi sempre i token più probabili.
  • Se \(T > 1\) (es. \(T = 2.0\)) → i logits vengono divisi per un numero grande → le differenze si attenuano → la distribuzione si appiattisce. Il modello diventa più creativo e imprevedibile, dando più spazio anche a parole meno probabili.

Intuizione visiva

Immagina di avere una lista di possibili parole per completare la frase: “Oggi il tempo è…”.

  • A bassa temperatura (\(T = 0.2\)): il modello quasi sempre sceglierà “soleggiato” se quella è la parola più probabile.
  • Ad alta temperatura (\(T = 1.5\)): oltre a “soleggiato”, inizieranno a comparire alternative come “piovoso”, “ventoso”, perfino “incantevole”.

Questi piccoli accorgimenti trasformano una macchina predittiva in uno strumento creativo, capace di passare da risposte precise e secche a narrazioni immaginative.

Dal predittore all’assistente

C’è però un dettaglio spesso trascurato: un LLM pre-addestrato non è ancora un assistente. È solo un motore statistico che completa sequenze. Se gli chiedi “Qual è la capitale della Francia?”, potrebbe rispondere con “e qual è la sua popolazione?”, perché quel frammento ricorre frequentemente nei testi. Per renderlo davvero utile, bisogna insegnargli ad allinearsi alle nostre intenzioni.

È qui che entrano in gioco le tecniche di post-training, come il fine-tuning supervisionato e il celebre reinforcement learning from human feedback. In queste fasi, il modello viene educato non più soltanto a indovinare la parola successiva, ma a diventare utile, a seguire istruzioni, ad adattarsi alle preferenze degli esseri umani.

Il fine-tuning supervisionato è come una piccola scuola privata: dopo l’immenso addestramento su testi caotici e impersonali, il modello riceve un set di esempi selezionati e curati a mano, in cui a una domanda corrisponde una risposta desiderata. “Qual è la capitale della Francia?” → “Parigi.” Non più un completamento cieco di frasi viste nel web, ma un dialogo calibrato a ciò che vogliamo davvero da lui.

Poi arriva il passo più sofisticato: il rinforzo con feedback umano (RLHF). Qui il modello genera varie risposte alla stessa richiesta, e tocca a persone in carne e ossa valutarle: questa è più chiara, questa più cortese, quest’altra è fuorviante. Le preferenze raccolte vengono trasformate in un segnale di ricompensa, e il modello impara a privilegiare le risposte giudicate migliori. È come se avesse un insegnante che, invece di correggere errori sintattici, premia il tono, la precisione, la capacità di essere d’aiuto.

Questo processo lo plasma: da semplice motore statistico diventa un interlocutore. Non basta più saper completare frasi; deve capire quando è opportuno spiegare, quando sintetizzare, quando fare un esempio. L’addestramento non lo rende onnisciente, ma lo avvicina al ruolo di assistente: qualcuno che non si limita a parlare, ma a collaborare con noi.

Oltre la magia

Quello che all’inizio sembrava incanto si rivela, a guardarlo da vicino, un intreccio di idee ingegnose e rigorose. Non c’è stregoneria, ma una catena di intuizioni matematiche: la capacità di trasformare il web in un manuale infinito grazie all’auto-supervisione, l’uso di token flessibili per convertire il linguaggio in numeri, la misurazione della sorpresa per guidare l’apprendimento, e infine l’aggiustamento dei parametri per generare risposte che non siano solo probabili, ma anche sensate e creative.

L’intera architettura di un LLM è una celebrazione dell’arte della semplificazione: prendere un compito umile – indovinare la parola successiva – e portarlo su scala planetaria, fino a trasformarlo in un simulacro di intelligenza.

E così, dietro ogni risposta che oggi leggiamo sugli schermi, non c’è magia, ma il lavoro silenzioso di miliardi di predizioni e correzioni. È questo incessante esercizio che ha aperto una nuova era, in cui il linguaggio stesso diventa il ponte tra il pensiero umano e le macchine che abbiamo creato.

, , ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *