Evoluzione delle architetture LLM
-
Denis Dal Molin
- 31 Jul, 2026
- 18 Mins read
Questo articolo ha uno scopo divulgativo. Pur trattando concetti che derivano dalla ricerca e dall'ingegneria degli LLM, ho scelto di privilegiare la comprensione rispetto al formalismo matematico e ai dettagli implementativi.
Alcuni meccanismi sono quindi descritti in modo semplificato per rendere l'evoluzione delle architetture accessibile anche a chi non ha un background specifico. Quando necessario, vengono introdotte alcune semplificazioni concettuali che non alterano l'idea di fondo, ma evitano di appesantire la lettura.
Negli ultimi anni l'evoluzione degli LLM è stata raccontata soprattutto attraverso nuovi modelli.
Dietro ogni innovazione, però, si nasconde quasi sempre la risposta ad un problema preciso: aumentare la capacità di rappresentazione, ridurre il costo computazionale, superare i limiti della memoria o migliorare il ragionamento.
Ogni volta che compare un nuovo modello è facile concentrarsi sulle sue prestazioni, sul numero di parametri o sui benchmark pubblicati.
"Quanto è migliore del precedente?"
È un approccio naturale, ma spesso porta a vedere ogni innovazione come un evento isolato.
In realtà, l'evoluzione delle architetture per gli LLM è molto più simile a una lunga catena di decisioni ingegneristiche. Ogni nuova generazione nasce perché quella precedente ha raggiunto un limite.
Comprendere questa sequenza significa acquisire un modello mentale. Le architetture cambiano rapidamente, ma i problemi che cercano di risolvere sono ricorrenti.

Prima dei Transformer
La storia degli LLM non inizia con ChatGPT, né con il Transformer.
Le sue radici affondano nelle prime reti neurali, sviluppate molti decenni prima.
Ogni passaggio evolutivo ha introdotto un miglioramento significativo, ma ha anche evidenziato nuovi limiti che hanno spinto la ricerca verso architetture differenti.
Perceptron: il primo neurone artificiale
Il Perceptron, proposto da Frank Rosenblatt nel 1958, rappresenta uno dei primi modelli di neurone artificiale. L'idea è semplice: ricevere un insieme di input, combinarli attraverso pesi appresi durante l'addestramento e produrre un'uscita.
Dal punto di vista storico è un passaggio importante, perché introduce il concetto di apprendimento automatico attraverso l'aggiornamento dei pesi.
Tuttavia, il modello presenta un limite: può apprendere soltanto problemi linearmente separabili.
Questo significa che non è in grado di rappresentare relazioni più complesse tra gli input, rendendolo inadatto alla maggior parte dei problemi reali. Quel limite diventerà il punto di partenza della generazione successiva.
Multilayer Perceptron: introdurre la profondità
Per superare i limiti del Perceptron vengono introdotte reti con più livelli nascosti, note come Multi Layer Perceptron (MLP).
L'aggiunta di livelli intermedi e funzioni di attivazione non lineari consente finalmente di modellare relazioni molto più complesse.
Gli MLP introducono l'idea di reti profonde, che molti anni più tardi darà origine al moderno Deep Learning. Invece di imparare soltanto una trasformazione lineare, la rete costruisce rappresentazioni sempre più astratte dei dati man mano che attraversa i vari strati.
Per molti anni gli MLP hanno rappresentato la base della maggior parte delle applicazioni di machine learning. Esisteva però un nuovo problema, gli MLP trattano ogni input come indipendente dagli altri.
Per immagini questo limite è parzialmente accettabile, ma nel linguaggio naturale l'ordine delle parole è fondamentale. Una rete che ignora la sequenza non può comprenderne il significato.
L'aumento della profondità introduce però anche una nuova sfida: come addestrare efficacemente reti composte da molti layer?
Backpropagation: imparare dai propri errori
Una rete neurale apprende modificando progressivamente i propri pesi e per poterlo fare deve conoscere quanto ciascun parametro abbia contribuito all'errore finale.
Dopo aver calcolato l'errore in uscita, l'informazione viene propagata all'indietro attraverso tutti i layer della rete, permettendo di aggiornare ogni peso in proporzione al proprio contributo.
In pratica, la rete capisce anche dove ha sbagliato.
CNN: riconoscere i pattern
Le Convolutional Neural Network (CNN) introdussero un'idea completamente diversa.
Invece di collegare ogni neurone a tutti gli ingressi, utilizzavano piccoli filtri convoluzionali capaci di individuare pattern locali, come bordi, angoli e texture.
Procedendo attraverso i vari strati queste caratteristiche elementari venivano progressivamente combinate fino a rappresentare oggetti sempre più complessi.
Le CNN hanno rivoluzionato la computer vision e introdotto un principio destinato a influenzare la ricerca successiva, costruire rappresentazioni gerarchiche dei dati invece di analizzarli direttamente nella loro forma originale.
RNN: le reti ricorrenti
Le Recurrent Neural Network (RNN) nascono proprio per affrontare questo problema.
Invece di elaborare ogni elemento in modo indipendente, la rete mantiene uno stato che viene aggiornato a ogni passo della sequenza. In questo modo ogni parola viene interpretata anche alla luce delle informazioni elaborate in precedenza. Per la prima volta le reti neurali introducono uno stato interno ricorrente che permette di propagare informazioni lungo una sequenza.
Le RNN non "ricordano" realmente tutto il passato. Lo comprimono progressivamente in uno stato nascosto di dimensione fissa. Più la sequenza cresce, più diventa difficile preservare le informazioni realmente importanti.
Questo rappresenta un enorme passo avanti per il Natural Language Processing.
Le RNN permettono infatti di affrontare attività come:
- traduzione automatica;
- riconoscimento vocale;
- generazione di testo;
- analisi del sentiment.
Ma anche questa soluzione introduceva un nuovo limite.
LSTM e GRU: migliorare la memoria
Quando le sequenze diventano lunghe, le RNN iniziano a soffrire del cosiddetto vanishing gradient.
Durante l'addestramento i gradienti associati agli elementi più lontani tendono progressivamente ad attenuarsi, rendendo sempre più difficile aggiornare correttamente i pesi responsabili delle dipendenze a lungo termine.
Per mitigare questo problema vengono introdotte le Long Short-Term Memory (LSTM) e, successivamente, le Gated Recurrent Unit (GRU). Entrambe introducono meccanismi di gating che regolano quali informazioni conservare, aggiornare o eliminare. Rispetto alle RNN tradizionali offrono una memoria molto più stabile e consentono di gestire sequenze significativamente più lunghe.
Eppure continuano ad avere un limite strutturale. L'elaborazione rimane intrinsecamente sequenziale, ogni parola dipende dal calcolo della precedente e questo impedisce un parallelismo efficace sulle moderne GPU rendendo l'addestramento sempre più costoso all'aumentare della lunghezza delle sequenze.

La rivoluzione Transformer
Nel 2017 il paper Attention Is All You Need introduce un'idea destinata a cambiare radicalmente il mondo dell'intelligenza artificiale. Invece di elaborare le parole una alla volta, durante l'addestramento può elaborare l'intera sequenza in parallelo, sfruttando in modo più efficiente l'hardware moderno e riducendo i tempi di di addestramento, anche se durante la generazione autoregressiva deve comunque produrre un token alla volta.
Ma il vero elemento rivoluzionario è l'introduzione del meccanismo di Self-Attention. Per la prima volta ogni token può valutare direttamente quanto siano rilevanti tutti gli altri token della sequenza, indipendentemente dalla loro distanza.
Informazioni che nelle RNN richiedevano decine o centinaia di passaggi possono ora essere messe in relazione in un'unica operazione. Questo permette al modello di costruire rappresentazioni contestuali molto più ricche e di catturare dipendenze a lungo raggio con un'efficacia mai vista prima.
È un nuovo modo di rappresentare il linguaggio.
Ed è proprio da questa intuizione che nasceranno tutti i moderni Large Language Model.

Tokenizzazione
Per un essere umano le parole hanno un significato immediato, per un modello invece una parola è semplicemente una sequenza di caratteri. Prima di poter elaborare il linguaggio, deve trasformarlo in una rappresentazione numerica. Il primo passo consiste nella tokenizzazione.
Un testo viene suddiviso in unità elementari, chiamate token, che possono rappresentare parole intere, parti di parole o persino singoli caratteri, a seconda del tokenizer utilizzato.
Ad esempio, la frase:
The architecture scales efficiently.
potrebbe essere rappresentata come una sequenza di token simile a:
["The", " architecture", " scales", " efficiently", "."]
Ogni token viene quindi convertito in un identificatore numerico.
Ma un semplice numero non contiene alcuna informazione semantica.
Per questo motivo entra in gioco il passo successivo.
Dagli identificatori agli embedding
Gli embedding trasformano ogni token in un vettore numerico ad alta dimensionalità.
Possiamo immaginarli come coordinate in uno spazio geometrico in cui parole con significati simili tendono a occupare regioni vicine.
Ad esempio, termini come:
- GPU
- CPU
- TPU
avranno rappresentazioni molto più vicine tra loro rispetto a parole come:
- banana
- montagna
- pianoforte
Naturalmente questa vicinanza non deriva dal significato "umano" delle parole, ma emerge durante l'addestramento osservando miliardi di esempi.
Gli embedding costituiscono il primo livello di comprensione del linguaggio.
Un embedding non rappresenta il significato assoluto di una parola, ma il modo in cui quella parola viene utilizzata nel contesto dei dati di addestramento. Per questo motivo può cambiare nel corso dell'addestramento e differire tra modelli diversi.
Spazio vettoriale e spazio latente
In molti articoli questi due termini vengono utilizzati come sinonimi quando in realtà indicano concetti leggermente diversi.
- Lo spazio vettoriale è l'ambiente matematico in cui ogni embedding viene rappresentato come un vettore di numeri.
- Lo spazio latente, invece, rappresenta il livello di rappresentazione interna costruito dalla rete durante l'elaborazione.
Potremmo dire che gli embedding costituiscono il punto di ingresso nello spazio delle rappresentazioni vettoriali, mentre ogni layer del Transformer costruisce progressivamente rappresentazioni sempre più astratte nello spazio latente.
Questa distinzione è importante perché molte delle tecniche più recenti intervengono proprio sulle rappresentazioni latenti per migliorare l'efficienza dei modelli.
Positional Encoding
Immaginiamo due frasi:
- Il cloud accelera l'AI
- L'AI accelera il cloud
Gli embedding delle singole parole sono praticamente identici, eppure il significato complessivo cambia completamente.
Il Transformer, elaborando tutti i token contemporaneamente, perde infatti qualsiasi informazione sull'ordine con cui essi compaiono nella frase.
Era necessario introdurre un meccanismo capace di rappresentare la posizione di ogni token.
La prima soluzione proposta consiste nell'aggiungere a ogni embedding un vettore che rappresenta la sua posizione all'interno della sequenza, così facendo il modello non conosce soltanto il significato dei token, ma anche la loro collocazione relativa. Questo semplice accorgimento permette di distinguere frasi che contengono le stesse parole ma in ordine differente.
Con l'aumento della lunghezza dei contesti, però, hanno iniziato a emergere alcuni limiti.
RoPE: rappresentare le relazioni
L'introduzione del Rotary Positional Embedding (RoPE) rappresenta un cambiamento concettuale. Invece di memorizzare una posizione assoluta, rende la Self-Attention sensibile alle posizioni relative attraverso una rotazione delle rappresentazioni Query e Key. Questo approccio consente al modello di generalizzare meglio anche su sequenze molto più lunghe rispetto a quelle viste durante l'addestramento.
È uno dei fattori che hanno facilitato l'estensione delle finestre contestuali moderne.
Self-Attention: il cuore del Transformer
Le reti ricorrenti cercavano di ricordare il passato.
Il Transformer adotta un approccio completamente diverso. Ogni token osserva direttamente tutti gli altri token della sequenza e decide autonomamente quali siano realmente importanti.

In pratica, quando il modello elabora una parola, costruisce dinamicamente una mappa delle relazioni con tutto il contesto disponibile.
Questa è la Self-Attention.
Non importa quanto due parole siano lontane nella frase, possono comunque influenzarsi direttamente. È proprio questa capacità che rende i Transformer così efficaci nella comprensione del linguaggio naturale.
La Self-Attention possiede però una caratteristica poco evidente, ogni token deve confrontarsi con tutti gli altri token. Se la sequenza contiene N token, la matrice di attenzione ha complessità O(N²) in tempo e memoria. Per contesti ridotti questo non rappresenta un problema.
Quando però si passa da poche centinaia a decine di migliaia di token, il costo computazionale e il consumo di memoria crescono rapidamente.
È il primo grande collo di bottiglia che accompagnerà tutta l'evoluzione successiva degli LLM.
Il successo dei Transformer ha spostato il problema. Le RNN erano limitate dal calcolo sequenziale; i Transformer sono limitati dalla crescita quadratica dell'attenzione e dal traffico verso la memoria.

Come decide a cosa prestare attenzione?
Il termine Attention non è casuale. Il modello non considera tutti i token con la stessa importanza.
Per ogni token calcola un insieme di punteggi che rappresentano quanto gli altri elementi della sequenza siano rilevanti per comprenderne il significato. Questi punteggi vengono poi utilizzati per costruire una somma pesata delle informazioni disponibili.
In pratica, il modello attribuisce automaticamente maggiore importanza ai token che ritiene più significativi e riduce l'influenza di quelli meno utili in quel particolare contesto.
Non segue regole predefinite, impara autonomamente dove concentrare la propria attenzione.
Le autostrade dell'apprendimento (ResNet)
Prima di osservare l'interno di un layer Transformer è utile introdurre una delle idee più importanti che l'architettura eredita dal Deep Learning moderno: le Residual Connections.
Quando le reti neurali diventano molto profonde emerge infatti un problema inatteso. In teoria aggiungere layer dovrebbe migliorare continuamente le prestazioni. In pratica, oltre una certa profondità, l'addestramento diventa sempre più difficile e i benefici iniziano a ridursi.
Nel 2015 la Residual Network (ResNet) introdusse una soluzione elegante a questo limite.
Le Residual Connections introducono un percorso diretto che permette a parte dell'informazione di attraversare la rete senza essere continuamente trasformata, riducendo il rischio di degradazione nelle architetture profonde. Mi piace immaginare queste connessioni come delle autostrade.
Le innovazioni più importanti raramente sostituiscono completamente ciò che esisteva prima. Molto più spesso recuperano idee già consolidate e le riutilizzano in un contesto diverso.
Questa idea si rivelerà così efficace da diventare uno degli elementi fondamentali anche dell'architettura Transformer.
Dentro il meccanismo di attenzione
L'architettura è composta da una sequenza di layer praticamente identici. Ogni layer riceve in ingresso una rappresentazione del testo e la restituisce leggermente migliore rispetto a prima.
Query, Key e Value
Immaginiamo la seguente frase:"Il satellite osserva la Terra mentre attraversa l'orbita."
Quando il modello elabora il token orbita, non tutte le parole hanno la stessa importanza. È ragionevole aspettarsi che attribuisca maggiore attenzione a termini come satellite e Terra, mentre articoli e congiunzioni contribuiranno molto meno alla comprensione del significato.
Ogni token viene trasformato contemporaneamente in tre rappresentazioni differenti:
- Query, che rappresenta ciò che il token sta cercando.
- Key, che descrive quali informazioni ogni altro token può offrire.
- Value, che contiene il contenuto informativo vero e proprio.
Query, Key e Value non sono entità differenti memorizzate nel modello, ma proiezioni lineari della stessa rappresentazione del token ottenute attraverso matrici di peso apprese durante l'addestramento.
L'Attention è una somma pesata
Una volta calcolato quanto ogni token sia rilevante rispetto agli altri, il modello deve combinare queste informazioni e lo si fa attraverso una somma pesata.
I token ritenuti più importanti contribuiscono maggiormente alla rappresentazione finale, mentre quelli meno rilevanti hanno un impatto ridotto. La rappresentazione di ciascun token non dipende quindi soltanto dal suo significato originale, ma diventa il risultato del contesto in cui compare.
Questo è il motivo per cui una stessa parola può assumere rappresentazioni differenti a seconda della frase in cui viene utilizzata.
Il significato non è più una proprietà della parola stessa ma del contesto.
Multi-Head Attention
Una conversazione può essere osservata da punti di vista differenti, quindi una sequenza può contenere diversi tipi di relazioni contemporaneamente. Una singola operazione di attenzione rischierebbe di cogliere soltanto una parte di queste relazioni.
Per questo il Transformer utilizza la Multi-Head Attention.
Invece di costruire un'unica rappresentazione del contesto, il modello esegue contemporaneamente più meccanismi di attenzione indipendenti. Ogni head può specializzarsi nell'apprendere relazioni differenti. Al termine dell'elaborazione tutte le differenti prospettive vengono riunite in un'unica rappresentazione più ricca del contesto.
È un po' come osservare un problema attraverso gli occhi di più specialisti prima di prendere una decisione.
KV Cache
Durante la generazione autoregressiva il modello produce un token alla volta. Sarebbe estremamente inefficiente ricalcolare a ogni passo tutte le rappresentazioni dei token già elaborati.

Per questo vengono memorizzati i vettori Key e Value prodotti dalla Self-Attention. Questa struttura prende il nome di KV Cache. Ciò che è già stato elaborato viene riutilizzato.
Il modello deve quindi calcolare soltanto il nuovo token e confrontarlo con le informazioni già presenti nella cache.
La KV Cache rappresenta una delle ottimizzazioni più importanti degli LLM moderni ma introduce un'altro collo di bottiglia. Più aumenta il contesto, più cresce la memoria necessaria per memorizzare la cache, fino a occupare decine di gigabyte nei modelli più grandi.
FlashAttention
Quando si parla di FlashAttention si tende spesso a descriverlo come un algoritmo "più veloce", in realtà il suo contributo è molto più interessante.
Cambia il modo in cui i dati attraversano la gerarchia di memoria della GPU. Invece di materializzare grandi matrici intermedie nella memoria HBM, FlashAttention suddivide il calcolo in blocchi (tiling), sfruttando molto più efficacemente la memoria SRAM, decisamente più veloce ma anche molto più limitata. In altre parole, FlashAttention rappresenta uno dei primi esempi in cui l'evoluzione degli LLM nasce non da una nuova idea di machine learning, ma da una profonda comprensione dell'architettura hardware.
Negli LLM moderni il collo di bottiglia non è sempre il numero di operazioni matematiche. Molto spesso è la quantità di dati che devono essere continuamente trasferiti tra memoria e unità di calcolo.
Multi-Head Latent Attention
Proprio la crescita della KV Cache ha spinto la ricerca verso nuove varianti dell'attenzione capaci di utilizzare la memoria in modo più efficiente. Con l'aumento della lunghezza del contesto è emerso infatti un nuovo problema.
Durante l'inferenza la KV Cache cresce continuamente, fino a occupare una quantità enorme di memoria. Una soluzione consiste nel cambiare il modo in cui vengono memorizzate le informazioni.
La Multi-Head Latent Attention (MLA) proietta infatti le rappresentazioni di Key e Value in uno spazio latente molto più compatto prima di salvarle nella cache. Durante l'inferenza il modello lavora quindi su rappresentazioni compresse, riducendo in modo significativo il consumo di memoria senza rinunciare ai vantaggi della Self-Attention.
DeepSeek ha contribuito in modo significativo alla diffusione industriale della Multi-Head Latent Attention. Rappresenta bene la direzione intrapresa dalle architetture più recenti: non sostituire la Self-Attention, ma renderla progressivamente più efficiente.
Feed Forward Network
Dopo la fase di attenzione entra in gioco il Feed Forward Network (FFN).
Se la Self-Attention stabilisce quali informazioni sono importanti, il Feed Forward Network elabora invece ciascun token individualmente, arricchendone la rappresentazione sulla base del contesto appena costruito.
Ogni token attraversa una piccola rete neurale completamente connessa, identica per tutti i token, che elabora ciascuna rappresentazione separatamente:
- La Self-Attention costruisce le relazioni, mette in relazione i token;
- La Feed Forward Network le elabora, trasforma la rappresentazione.
Questa alternanza tra attenzione condivisa ed elaborazione locale rappresenta uno degli elementi fondamentali dell'architettura del Transformer. Ripetendo questo schema decine di volte, il modello costruisce progressivamente una comprensione sempre più sofisticata del testo.
Residual Connections e Layer Normalization
Con l'aumento della profondità dei modelli diventa fondamentale preservare la stabilità dell'addestramento. Ogni layer modifica progressivamente la rappresentazione del testo ma c'è un rischio: se ogni trasformazione sostituisse completamente quella precedente, alcune informazioni potrebbero degradarsi o andare perse.
Per evitare questo problema il Transformer eredita una delle idee più importanti introdotte dalle ResNet: le Residual Connections. Le connessioni residue permettono di propagare l'informazione attraverso molti layer senza degradarla.
Ogni layer non lavora mai su una rappresentazione completamente nuova, l'output del layer viene sommato all'input del layer stesso. Così facendo il modello può introdurre nuove informazioni senza perdere quelle già apprese nei livelli precedenti.
Subito dopo interviene la Layer Normalization, che mantiene stabile la distribuzione numerica delle attivazioni, rendendo l'addestramento più robusto e facilitando la convergenza di reti molto profonde.
Arrivare alla previsione del token successivo
Dopo aver attraversato decine di layer, il modello possiede una rappresentazione estremamente ricca del contesto. Per decidere quale token generare il modello calcola un valore numerico chiamato logit per ogni possibile token del vocabolario. Un logit non rappresenta ancora una probabilità, si può interpretare come un punteggio che misura quanto il modello ritenga plausibile ciascuna possibile continuazione della sequenza.
Per trasformare questi punteggi in probabilità interviene la funzione Softmax che normalizza tutti i logits in modo che la loro somma sia pari a uno, producendo una vera distribuzione di probabilità.
Il token con probabilità più elevata non viene necessariamente scelto in modo deterministico.
Durante l'inferenza possono essere applicate tecniche come temperatura, top-k o top-p sampling, che introducono un grado controllato di variabilità nella generazione.
Una stessa architettura, tre modi diversi di utilizzarla
Encoder-only
L'obiettivo non è generare nuovo testo, ma costruire la migliore rappresentazione possibile di quello esistente. Il modello dispone quindi dell'intero contesto e può comprenderne il significato nel modo più completo possibile.
Questa caratteristica rende gli Encoder particolarmente efficaci per attività come:
- classificazione del testo;
- analisi del sentiment;
- Named Entity Recognition (NER);
- ricerca semantica;
- embedding;
- recupero documentale.
Il rappresentante più famoso di questa famiglia è BERT.
Più che generare testo, BERT ha cambiato il modo in cui i modelli comprendono il linguaggio.
Decoder-only
Qui viene utilizzato soltanto il Decoder. Durante la generazione ogni token può osservare esclusivamente il passato e non conosce ancora le parole che verranno dopo.
Questo vincolo, chiamato causal masking, impedisce al modello di "sbirciare nel futuro" e lo obbliga a prevedere il token successivo utilizzando soltanto il contesto disponibile fino a quel momento.
È esattamente questo meccanismo che rende possibile una conversazione con un LLM.
Il modello genera una parola alla volta, aggiornando continuamente il contesto con ogni nuovo token prodotto.
Da questa famiglia derivano gran parte dei modelli generativi moderni:
- GPT;
- Llama;
- Mistral;
- Qwen;
- DeepSeek;
- Gemma;
- Phi;
- e molti altri..
Anche se differiscono per dimensioni, tecniche di addestramento e ottimizzazioni interne, condividono tutti la stessa filosofia architetturale: prevedere il token successivo.
Encoder-Decoder
L'Encoder analizza il testo in ingresso costruendone una rappresentazione contestuale.
Il Decoder utilizza questa rappresentazione per produrre una nuova sequenza.
Questa architettura è particolarmente adatta ai problemi in cui l'obiettivo non è semplicemente continuare un testo, ma trasformarlo:
- traduzione automatica;
- riassunto di documenti;
- correzione grammaticale;
- risposta a domande;
- trasformazioni testo-testo.
Tra queste tre famiglie, sono soprattutto le architetture decoder-only ad aver dato origine ai moderni Large Language Model. A questo punto possiamo quindi osservare come un Transformer decoder-only, aumentando di scala, diventi un vero LLM.
Dal Transformer ai Large Language Model
A questo punto tutti gli elementi fondamentali sono presenti: embedding, positional encoding, self-attention, feed forward network, residual connection, layer normalization.
Ripetendo questi blocchi centinaia di volte e addestrandoli su quantità enormi di dati, nasce la famiglia dei Large Language Model.
L'architettura di base rimane sorprendentemente stabile, ciò che cambia è la scala: più layer, più parametri, più dati, più potenza di calcolo.
Però aumentando il numero di parametri e la lunghezza del contesto iniziano a emergere nuovi limiti.
A questo punto il problema non è più soltanto il modello, ma l'infrastruttura necessaria per eseguirlo. La memoria delle GPU diventa insufficiente. Il traffico verso la memoria HBM cresce rapidamente. L'inferenza diventa sempre più costosa.
Ed è proprio da questi nuovi colli di bottiglia che prenderà forma la successiva evoluzione delle architetture.
Le scaling laws
La strategia di aumentare la scala, spesso riassunta con il termine scaling laws, ha prodotto risultati straordinari. Modelli sempre più grandi hanno dimostrato capacità che sembravano irraggiungibili solo pochi anni prima.
All'aumentare di tre fattori fondamentali:
- numero di parametri;
- quantità di dati;
- potenza di calcolo impiegata per l'addestramento;
le prestazioni dei modelli miglioravano seguendo un andamento sorprendentemente regolare.
Modelli come GPT-3 hanno rappresentato la dimostrazione pratica di questa filosofia.
In-Context learning
Tra i risultati più sorprendenti di questa fase c'è un concetto che oggi diamo quasi per scontato: l'In-Context Learning. Prima di GPT-3, la procedura tipica era relativamente semplice. Se si voleva che un modello imparasse un nuovo compito, era necessario raccogliere un dataset specifico ed eseguire una nuova fase di addestramento o di fine-tuning. Questa capacità deriva dalla rappresentazione appresa durante l'addestramento e dalla capacità del Transformer di utilizzare il contesto come memoria temporanea. GPT-3 è stato il primo modello a mostrarne chiaramente l'efficacia su larga scala. In molti casi era sufficiente descrivere il problema direttamente all'interno del prompt oppure fornire uno o due esempi. Il modello riusciva a comprendere il compito e a generalizzarlo senza alcuna modifica dei propri pesi.
Il contesto diventa, a tutti gli effetti, una forma temporanea di memoria operativa.
Capacità emergenti
Al crescere della scala iniziarono infatti a comparire capacità che sembravano non essere presenti nei modelli più piccoli. Questi fenomeni sono spesso descritti come Emergent Capabilities, anche se la loro interpretazione è ancora oggetto di dibattito nella comunità scientifica.
Il termine "emergente" indica semplicemente che alcune abilità diventano osservabili solo oltre una determinata scala.
L'era dell'efficienza
L'addestramento richiedeva settimane o mesi. Il consumo energetico cresceva rapidamente.
Anche l'inferenza, cioè la fase in cui utilizziamo quotidianamente un LLM, iniziava a diventare sempre più costosa.
Crescere all'infinito non è sostenibile e l'obiettivo adesso non è più soltanto costruire modelli più intelligenti, ma renderli più efficienti.
Gli Small Language Model (SLM)
Un'altra filosofia ha iniziato a guadagnare sempre più attenzione: costruire modelli più piccoli, meno costosi e più facili da distribuire, mantenendo prestazioni sorprendentemente elevate.
L'obiettivo non è competere con i modelli di frontiera su qualsiasi attività, ma ottenere il miglior compromesso tra qualità, costo e latenza. Per raggiungere questo risultato vengono utilizzate diverse tecniche:
- La Knowledge Distillation trasferisce le conoscenze di un grande modello ("teacher") a uno più piccolo ("student"), che impara a riprodurne il comportamento.
- La Pruning elimina connessioni e parametri poco significativi.
- La Quantizzazione riduce la precisione numerica dei pesi, diminuendo drasticamente memoria occupata e consumo di banda durante l'inferenza.
Non sempre innovare significa costruire modelli più grandi, a volte significa costruire modelli sufficientemente intelligenti da poter essere eseguiti ovunque.
Quando il problema non sono più i token, ma i parametri
Ogni token attraversa l'intera rete neurale, anche quando soltanto una piccola parte dei parametri sarebbe realmente necessaria.
Un modello da centinaia di miliardi di parametri utilizza tutta la propria capacità per elaborare ogni singolo token, una strategia potente ma estremamente costosa.
Mixture of Experts: specializzare invece di attivare tutto
Immaginiamo un grande gruppo di specialisti, non avrebbe senso convocarli tutti per qualsiasi domanda. È molto più efficiente scegliere soltanto quelli realmente competenti.
Lo stesso principio viene applicato alla rete neurale.
Ogni blocco contiene più esperti, un router decide dinamicamente quali esperti attivare per ogni token. Di conseguenza solo una piccola parte del modello viene realmente utilizzata durante l'inferenza. È possibile così aumentare enormemente il numero complessivo di parametri senza aumentare in modo proporzionale il costo computazionale per token.
Un modello MoE non rende automaticamente l'inferenza più economica. Riduce i FLOPs per token, ma introduce nuove complessità legate al routing, alla distribuzione del carico e alla comunicazione tra GPU.
Questo approccio è adottato in numerosi modelli di frontiera.

Tra questi, DeepSeek rappresenta una delle evoluzioni più interessanti.
Pur mantenendo l'idea generale dei Mixture of Experts, introduce un routing più granulare e una distinzione tra esperti condivisi ed esperti specializzati. Alcuni esperti rimangono sempre attivi per catturare conoscenze generali, mentre altri vengono selezionati dinamicamente in base al contenuto del token.
L'obiettivo non è soltanto ridurre il costo computazionale, ma migliorare anche la specializzazione del modello senza aumentare proporzionalmente i FLOPs per token.
Distribuire modelli sempre più grandi
I modelli più grandi semplicemente non entrano nella memoria di una singola GPU, l'unica soluzione è distribuirli:
- Il Data Parallelism distribuisce i dati
- Il Tensor Parallelism suddivide le operazioni matematiche
- Il Pipeline Parallelism ripartisce i layer del modello tra più dispositivi
Queste tecniche non modificano l'architettura del Transformer.
Ring Attention
Con finestre contestuali sempre più estese, anche distribuire il modello non è più sufficiente, diventa necessario distribuire la stessa operazione di attenzione.
Ring Attention affronta questo problema organizzando le GPU in una struttura ad anello dove ogni dispositivo elabora una parte della sequenza e scambia progressivamente le informazioni necessarie con gli altri.
In questo modo nessuna GPU deve mantenere in memoria l'intera matrice di attenzione, consentendo di estendere il contesto ben oltre i limiti della memoria di un singolo dispositivo.
Quando ottimizzare non basta
Osservando questa evoluzione emerge un aspetto interessante, ovvero che le innovazioni più recenti non cercano quasi mai di sostituire il Transformer ma di renderlo più efficiente.
- FlashAttention riduce il traffico verso la memoria.
- KV Cache evita calcoli ridondanti.
- MLA comprime le rappresentazioni.
- MoE attiva soltanto una parte della rete.
- Ring Attention distribuisce il carico su più GPU.
Sono tutte risposte diverse allo stesso problema: come continuare a scalare senza rendere insostenibili costi, memoria e tempi di esecuzione.
Negli ultimi anni, però, una parte della ricerca ha iniziato a porsi una domanda diversa: e se il limite non fosse più l'implementazione del Transformer, ma il meccanismo di Self-Attention stesso?
Per quanto ottimizzata, l'Attention continua infatti a crescere quadraticamente rispetto alla lunghezza della sequenza e richiede di mantenere in memoria una grande quantità di informazioni durante l'inferenza.
Da qui nasce una nuova generazione di architetture.
State Space Models
L'idea è costruire una rappresentazione continua dello stato del sistema che possa essere aggiornata progressivamente senza dover confrontare esplicitamente ogni token con tutti gli altri.
In altre parole, il contesto non viene ricostruito ogni volta attraverso una matrice di attenzione, viene mantenuto e aggiornato in modo dinamico.
Questo approccio consente una complessità che cresce linearmente con la lunghezza della sequenza, rendendo gli SSM particolarmente interessanti per documenti molto estesi.
Le sue basi matematiche derivano dalla teoria dei sistemi dinamici e vengono adattate al Deep Learning per rappresentare sequenze estremamente lunghe in modo più efficiente.
Mamba: la memoria torna protagonista
Tra le architetture basate sugli State Space Models, una delle più interessanti è Mamba.
Mentre il Transformer deve confrontare continuamente i token attraverso l'Attention, Mamba mantiene uno stato interno che evolve durante l'elaborazione della sequenza.

A differenza delle vecchie RNN, però, questo aggiornamento è selettivo.
Il modello impara dinamicamente quali informazioni conservare e quali dimenticare. Questa caratteristica permette di elaborare sequenze molto lunghe con costi computazionali significativamente inferiori.
Con Mamba-2 questo principio viene ulteriormente raffinato, migliorando la stabilità numerica, l'efficienza hardware e la capacità di sfruttare il parallelismo delle GPU moderne.
È una reinterpretazione moderna del concetto di memoria, costruita con gli strumenti del Deep Learning contemporaneo.
Verso architetture ibride
La ricerca non sembra orientata verso un'unica architettura destinata a sostituire tutte le altre. Le architetture iniziano a combinarsi. Oggi stiamo iniziando a progettare sistemi che combinano idee differenti per ottenere il miglior compromesso tra capacità, efficienza e costo computazionale.
Ogni passo in avanti nasce dalla stessa domanda: qual è il limite della generazione precedente?
È probabilmente questa la lezione più importante.
Le architetture evolvono perché ogni soluzione, prima o poi, incontra un nuovo limite. È probabile che anche le architetture di domani non sostituiranno completamente quelle attuali, ma ne conserveranno le idee migliori, adattandole ai nuovi vincoli di scala, memoria ed efficienza.
Forse è questo il modo migliore per osservare l'evoluzione degli LLM.
Perché tutto questo conta davvero
Le innovazioni più importanti degli ultimi anni non derivano necessariamente da modelli radicalmente diversi, ma dalla capacità di identificare e risolvere il collo di bottiglia dominante del momento.
Ogni generazione ha dovuto affrontare un vincolo dominante: apprendimento, memoria, parallelismo, scalabilità, costo. Oggi sono costi, efficienza energetica, latenza e sostenibilità operativa.
È la stessa dinamica che osserviamo nella progettazione di piattaforme cloud, sistemi distribuiti e architetture enterprise.
Le architetture cambiano. I vincoli no.
Per questo comprendere l'evoluzione degli LLM non significa soltanto capire come funziona un modello, ma sviluppare un modo di ragionare utile per progettare sistemi AI reali.