Introduzione
Continuiamo dal precedente numero a parlare del cruciale tema dell’addestramento dei modelli, vedendo nei particolari le varie fasi. Come abbiamo già visto, l’attenzione è rivolta ai processi ingegneristici che trasformano enormi quantità di dati testuali grezzi in sistemi conversazionali altamente sofisticati. Tali processi comprendono la raccoltadei dati su larga scala, la pulizia e il filtraggio dei dataset, la tokenizzazione, il pre-training, il Supervised Fine-Tuning (SFT), il Reinforcement Learning from Human Feedback (RLHF), l’ottimizzazione basata sulle preferenze (preference optimization), l’aggiornamento continuo dei modelli e i meccanismi di Retrieval-Augmented Generation (RAG) che consentono ai sistemi già in produzione di accedere a informazioni aggiornate e a basi di conoscenza esterne.
Pre-addestramento auto supervisionato (Auto Self-Supervised Pre-training)
Questa rappresenta la fase più lunga, più intensiva dal punto di vista computazionale e più costosa dell’intero processo di addestramento, arrivando spesso a rappresentare la quota predominante del costo complessivo di sviluppo del modello [Brown et al., 2020], [Hoffmann et al., 2022]. È durante questa fase che il modello acquisisce la comprensione fondamentale del linguaggio, della grammatica, delle relazioni fattuali, dei linguaggi di programmazione e di molte delle capacità di ragionamento che caratterizzano i moderni LLM.
A differenza dell’apprendimento supervisionato (supervised learning), il pre-training auto-supervisionato non richiede che esseri umani preparino manualmente domande e risposte. Gli esempi di addestramento vengono infatti generati automaticamente a partire dal testo stesso. Ogni frase, paragrafo o documento contenuto nel corpus di addestramento può essere trasformato in un esempio di apprendimento senza alcuna annotazione manuale [Devlin et al., 2019], [Brown et al., 2020]. Questa capacità di apprendere direttamente da testi grezzi rappresenta una delle innookvazioni fondamentali che hanno reso possibile lo sviluppo dei moderni LLM.
Il token successivo
L’obiettivo di apprendimento è sorprendentemente semplice: predire il token successivo. Ad esempio, se al modello viene presentata la sequenza:
La capitale d’Italia è…
il suo compito consiste nel prevedere quale sia il token più probabile che segue tale sequenza. Nelle prime fasi dell’addestramento, poiché il modello non ha ancora appreso alcuno schema linguistico significativo, la previsione è sostanzialmente casuale e può risultare completamente errata.
La risposta corretta è tuttavia già contenuta nel testo originale utilizzato per l’addestramento ed è quindi disponibile automaticamente, senza che sia necessario alcun intervento umano.
Una volta effettuata la previsione, l’algoritmo di addestramento confronta l’output prodotto dal modello con il token corretto e calcola un errore numerico, noto come funzione di perdita (loss function). Attraverso l’algoritmo di retropropagazione (backpropagation), tale errore viene propagato all’indietro lungo la rete neurale per determinare il contributo di ciascun parametro all’errore di previsione.
Successivamente, un algoritmo di ottimizzazione, generalmente Adam, modifica in modo estremamente limitato miliardi di parametri della rete, riducendo progressivamente l’errore nelle previsioni successive [Rumelhart et al., 1986]; [Kingma & Ba, 2017].
Nessun intervento umano
L’intero processo è completamente automatizzato. Una volta configurata la pipeline di addestramento, nessun operatore umano stabilisce quali siano le risposte corrette né modifica manualmente i parametri della rete neurale. È invece un software specializzato a ripetere automaticamente la seguente sequenza di operazioni:
- Leggere una sequenza di token dal corpus di addestramento.
- Predire il token successivo.
- Confrontare la previsione con il token corretto già presente nel testo.
- Calcolare l’errore di previsione.
- Aggiornare i parametri del modello.
- Ripetere il processo sulla sequenza successiva.
Questo ciclo viene eseguito migliaia di miliardi di volte (trillions of times) su miliardi di sequenze di testo. Durante una tipica sessione di addestramento, migliaia di GPU o TPU lavorano in parallelo, elaborando simultaneamente porzioni differenti del corpus di addestramento e collaborando all’ottimizzazione dello stesso modello.
Uno dei principali vantaggi dell’apprendimento auto-supervisionato è la sua straordinaria scalabilità. Poiché ogni documento genera automaticamente i propri esempi di addestramento, questo approccio elimina la necessità di predisporre manualmente i dataset annotati richiesti dall’apprendimento supervisionato.
Ciò consente di addestrare i modelli utilizzando enormi raccolte di libri, articoli scientifici, codice sorgente, enciclopedie e pagine web pubblicamente accessibili, esponendo il modello a una straordinaria varietà di strutture linguistiche, domini di conoscenza e schemi di ragionamento [Brown et al., 2020], [Hoffmann et al., 2022].
Affinamento supervisionato (Supervised Fine-Tuning , SFT)
Dopo aver completato la fase precendente di pre-addestramento auto-supervisionato (self-supervised pre-training), il modello ha acquisito un’ampia comprensione del linguaggio, della grammatica, delle relazioni fattuali e di numerosi schemi di ragionamento.
Tuttavia, il suo comportamento è ancora quello di un motore di previsione del testo: dato un input, il suo obiettivo è semplicemente prevedere la continuazione più probabile della sequenza testuale. In questa fase, il modello non ha ancora imparato a seguire in modo coerente le istruzioni dell’utente né a comportarsi come un assistente conversazionale utile [Brown et al., 2020], [Ouyang et al., 2022].
Per superare questa limitazione, gli sviluppatori eseguono un’ulteriore fase di addestramento nota come affinamento supervisionato o Supervised Fine-Tuning (SFT). L’obiettivo di questa fase è insegnare al modello come gli esseri umani si aspettano che un assistente di intelligenza artificiale risponda ai diversi tipi di richieste.
Un accurato intervento umano
A differenza della fase auto-supervisionata, nella quale le risposte corrette vengono ricavate automaticamente dal testo di addestramento, il fine-tuning supervisionato si basa su esempi accuratamente preparati, costituiti da istruzioni abbinate a risposte di elevata qualità [Ouyang et al., 2022].
Esempi tipici di addestramento possono essere i seguenti:
Istruzione
Spiega la teoria della relatività con parole semplici.
Risposta desiderata
La teoria della relatività, sviluppata da Albert Einstein, spiega come lo spazio, il tempo, la gravità e il movimento siano tra loro correlati. Una delle sue idee fondamentali è che il tempo e lo spazio non sono assoluti, ma dipendono dal moto dell’osservatore…
Oppure
Istruzione
Scrivi una funzione Python semplice e concisa che calcoli il fattoriale di un numero.
Risposta desiderata
def factorial(n):
if n <= 1:
return 1
return n * factorial(n - 1)
Questi esempi vengono generalmente scritti, revisionati e selezionati da esperti umani, tra cui addestratori di modelli di IA, specialisti del dominio applicativo, ingegneri del software e annotatori professionisti. Il loro compito non è modificare direttamente la rete neurale, bensì mostrare al modomatllo il tipo di risposte che dovrà imparare a generare [Ouyang et al., 2022], [OpenAI, 2024].
Di nuovo, un processo automatizzato
Una volta preparato il dataset di addestramento, il processo di apprendimento diventa completamente automatizzato. Il modello legge un’istruzione, genera una propria risposta, la confronta con la risposta di riferimento fornita dagli annotatori umani, calcola l’errore di previsione e aggiorna i propri parametri interni utilizzando le stesse tecniche di ottimizzazione impiegate durante il pre-addestramento, tra cui la retropropagazione dell’errore (backpropagation) e l’ottimizzazione basata sul gradiente [Rumelhart et al., 1986], [Kingma & Ba, 2017].
Quindi, gli esseri umani preparano le lezioni, ma è il modello stesso che impara a riprodurle attraverso un processo di ottimizzazione automatizzato. Nessun ingegnere modifica manualmente i miliardi di parametri della rete neurale. Al contrario, un software specializzato esegue milioni di piccoli aggiornamenti numerici fino a quando il modello produce in modo consistente risposte simili agli esempi di elevata qualità contenuti nel dataset di addestramento.
L’importanza del dataset di addesramento
Rispetto al pre-addestramento auto-supervisionato, il Supervised Fine-Tuning utilizza un dataset decisamente meno esteso ma di qualità superiore. Mentre il pre-addestramento può coinvolgere trilioni di token, i dataset SFT contengono generalmente da alcune migliaia fino a diversi milioni di coppie istruzione-risposta accuratamente selezionate. In questa fase, la qualità è molto più importante della quantità, poiché l’obiettivo non è insegnare al modello nuove conoscenze, bensì perfezionarne il comportamento.
Il Supervised Fine-Tuning svolge quindi un ruolo analogo a quello dell’apprendimento guidato di una persona: non insegna al modello il linguaggio, già acquisito durante il pre-addestramento, ma gli insegna come utilizzare tale conoscenza in modo appropriato durante l’interazione con gli utenti.
Al termine della fase di Supervised Fine-Tuning, il modello è notevolmente migliorato nella comprensione delle richieste degli utenti, nell’esecuzione delle istruzioni, nel mantenimento di conversazioni coerenti, nella generazione di risposte ben strutturate e nell’adattamento del proprio stile di scrittura ai diversi contesti applicativi. Tuttavia, potrebbe ancora produrre risposte non pienamente coerenti con le preferenze umane o con i requisiti di sicurezza. Per questo motivo, i moderni modelli di frontiera vengono normalmente sottoposti a un’ulteriore fase di allineamento descritta di seguito.
Addestramento orientato alle istruzioni/richieste utente (Instruction Tuning)
L’Instruction Tuning è una fase particolare di SFT progettata specificamente per migliorare la capacità del modello di comprendere le istruzioni fornite dagli utenti e di generare risposte che soddisfino direttamente il loro intento. Durante questa fase, il modello viene esposto a migliaia, o addirittura milioni, di esempi orientati all’esecuzione di compiti specifici (task-oriented), che coprono un’ampia varietà di richieste del mondo reale. A differenza del pre-addestramento, durante il quale il modello apprende i modelli generali del linguaggio, nell’Instruction Tuning il modello impara a interpretare, seguire ed eseguire istruzioni esplicite formulate dagli utenti, migliorando così la propria capacità di rispondere in modo accurato e coerente a un’ampia gamma di attività. Ciò incrementa significativamente la sua capacità di seguire le istruzioni/richieste in modo consistente in numerosi contesti applicativi e domini [Wei et al., 2023]; [Touvron et al., 2023].
Coppie istruzione-risposta
Durante questa fase, il modello viene addestrato utilizzando una vasta raccolta di coppie istruzione-risposta. A differenza degli esempi generici utilizzati durante il pre-addestramento, questi esempi sono orientati a compiti specifici e rappresentano richieste realistiche formulate dagli utenti. Alcuni esempi tipici possono essere:
- Riassumi il seguente articolo.
- Traduci il seguente paragrafo in italiano.
- Scrivi una funzione Python che ordini una lista.
- Spiega l’architettura del software a uno studente universitario.
- Confronta i vantaggi e gli svantaggi delle energie rinnovabili.
Ogni istruzione è associata a una risposta accuratamente preparata che rappresenta il comportamento desiderato del modello. Questi esempi possono essere scritti da esperti umani, derivati da materiale di riferimento affidabile oppure, sempre più frequentemente, generati da modelli linguistici più avanzati e successivamente revisionati da esperti per verificarne la qualità. Indipendentemente dalla loro origine, il processo di addestramento è completamente automatizzato: una volta costruito il dataset di coppie istruzione-risposta, il modello apprende confrontando le proprie risposte con quelle di riferimento e aggiornando automaticamente i propri parametri mediante retropropagazione dell’errore (backpropagation) e ottimizzazione basata sul gradiente [Ouyang et al., 2022], [Wei et al., 2023].
L’obiettivo dell’Instruction Tuning è focalizzarsi sull’insegnare al modello a comprendere con precisione ciò che l’utente richiede e a strutturare la risposta nel formato più appropriato. In particolare, migliora la capacità del modello di distinguere tra diverse tipologie di richieste, riconoscendo, ad esempio, se l’utente desidera un riassunto, una spiegazione, una traduzione, un programma in linguaggio Python oppure un confronto tra diverse alternative, generando di conseguenza una risposta adeguata allo specifico compito.
Una facile metafora
Un’analogia intuitiva è quella di una persona laureata che inizia un nuovo impiego. Pur possedendo un ampio bagaglio di conoscenze acquisito durante gli anni di studio, questa persona deve ancora imparare a seguire le procedure aziendali, comprendere le richieste dei clienti e svolgere in modo efficace le attività specifiche del proprio ruolo. L’Instruction Tuning svolge una funzione analoga: non insegna al modello nuove conoscenze fondamentali, già acquisite durante il pre-addestramento, ma gli insegna come applicare tali conoscenze in risposta a istruzioni esplicite formulate dagli utenti.
Al termine di questa fase, il modello è significativamente più efficace nel seguire le istruzioni, rispettare il formato richiesto, adattare il proprio stile di scrittura a differenti destinatari e svolgere un’ampia varietà di compiti. Questi miglioramenti rendono il modello molto più utile nelle applicazioni pratiche e costituiscono la base per la successiva fase di allineamento (alignment), descritta più avanti.
Infine, sono circolate alcune segnalazioni non verificate da parte di persone che affermano di aver lavorato per una delle principali organizzazioni impegnate nello sviluppo degli LLM. Secondo uno di questi racconti, l’autore, insieme ad altri sviluppatori software di elevata esperienza, era incaricato di risolvere problemi (“puzzle”) di programmazione in linguaggio Python. Il loro compito non consisteva soltanto nel produrre soluzioni eleganti ed efficienti, ma anche nel redigere una documentazione dettagliata che descrivesse il problema, il processo di ragionamento, la strategia adottata per risolverlo e l’implementazione finale. Se queste informazioni fossero accurate, rappresenterebbero un classico esempio di Instruction Tuning, nel quale esperti umani producono esempi di elevata qualità costituiti da coppie istruzione-risposta, insegnando al modello come risolvere problemi di programmazione e come spiegare il proprio processo di ragionamento.
Allineamento alle preferenze umane (Preference Alignment)
L’Allineamento alle preferenze (Preference Alignment) è la fase di addestramento nella quale il modello impara a rispondere nel modo che le persone ritengono più utile, chiaro e appropriato. Il suo obiettivo principale è migliorare il comportamento del modello, ossia il modo in cui risponde, piuttosto che le sue conoscenze, cioè ciò che il modello sa. Dopo aver appreso i modelli generali del linguaggio e una vasta quantità di conoscenze durante il pre-addestramento, il modello viene sottoposto a numerose richieste esempio ed è invitato a generare diverse possibili risposte. Revisori umani confrontano quindi tali risposte e le classificano in base a criteri quali accuratezza, chiarezza, completezza, pertinenza e capacità di soddisfare le istruzioni dell’utente.
Questa fase è inizialmente guidata dal giudizio umano, poiché sono i revisori a fornire le valutazioni e le preferenze che orientano l’apprendimento del modello. Una volta raccolto un numero sufficiente di valutazioni, queste vengono utilizzate per addestrare un modello di ricompensa (Reward Model), ossia un modello di apprendimento automatico separato che impara a prevedere quali risposte gli utenti preferirebbero. Invece di richiedere l’intervento umano per valutare ogni futura risposta del modello, il Reward Model assegna automaticamente a ciascuna risposta un punteggio di qualità basato sulle preferenze apprese durante il processo di valutazione umana. Tali punteggi vengono quindi utilizzati per perfezionare il LLM, apportando piccoli aggiornamenti ai suoi parametri interni (weights), che determinano il modo in cui il modello genera le risposte.
Miglioramento graduale
Le risposte giudicate utili, accurate e ben organizzate rafforzano i modelli di comportamento che le hanno prodotte, mentre quelle considerate confuse, errate o fuorvianti vengono progressivamente scoraggiate. Attraverso migliaia di esempi e di piccoli aggiornamenti successivi, il comportamento del modello migliora gradualmente, aumentando la probabilità che esso produca risposte coerenti con le preferenze umane.
Un’analogia intuitiva è quella di un esperto di comunicazione che affianca continuamente un professionista, fornendogli suggerimenti e correzioni. Il mentore non gli insegna nuovi fatti, ma lo aiuta a comunicare in modo più efficace le conoscenze che già possiede e a prendere decisioni migliori su come presentarle. Analogamente, il Preference Alignment non insegna principalmente nuove conoscenze fattuali al modello; piuttosto, ne perfeziona il modo di comunicare e di applicare le conoscenze già acquisite. Di conseguenza, il modello diventa più capace di produrre risposte facilmente comprensibili, affidabili e maggiormente allineate alle aspettative degli utenti, rendendo i moderni sistemi di intelligenza artificiale conversazionale significativamente più utili e naturali nell’interazione con le persone.
Le tecniche utilizzate
Due delle tecniche più diffuse impiegate durante questa fase sono:
- Reinforcement Learning from Human Feedback (RLHF), che perfeziona ulteriormente il modello utilizzando valutatori umani per classificare più risposte generate per la stessa richiesta. Il modello apprende così quali risposte le persone considerano più utili, accurate e sicure.
- Constitutional AI, che consente al modello di allineare il proprio comportamento applicando una “costituzione” composta da un insieme predefinito di principi guida. Il modello utilizza tali principi per auto-valutare e migliorare le proprie risposte prima che vengano presentate all’utente.
Queste due strategie vengono adottate per migliorare ulteriormente l’utilità (helpfulness), la sicurezza (harmlessness) e l’affidabilità (reliability) dei moderni modelli linguistici [Ouyang et al., 2022], [Bai et al., 2022].
Test di sicurezza e valutazione del modello (Safety Testing and Evaluation)
I test e la valutazione della sicurezza rappresentano la fase conclusiva dello sviluppo di un LLM, durante la quale il modello viene sottoposto a un’approfondita serie di verifiche per garantire che si comporti in modo affidabile, responsabile e conforme agli obiettivi previsti, prima di essere reso disponibile agli utenti.
A differenza delle precedenti fasi di addestramento, questa fase non ha come obiettivo principale quello di insegnare al modello nuove capacità. Il suo scopo è invece quello di valutarne il comportamento in un’ampia gamma di scenari realistici e particolarmente complessi.
Secondo OpenAI [OpenAI, 2024], vengono eseguite estese attività di valutazione per analizzare l’accuratezza del modello, le sue capacità di ragionamento, la coerenza fattuale delle risposte, la robustezza e il rischio di generare contenuti dannosi, fuorvianti o non appropriati. Oltre ai test standard, vengono condotte specifiche attività di adversarial testing (test avversariali), comunemente note come red teaming, durante le quali specialisti cercano deliberatamente di indurre il modello a produrre risposte non sicure, distorte (biased) o inappropriate, con l’obiettivo di individuare eventuali vulnerabilità prima della distribuzione del sistema.
OpenAI evidenzia inoltre che questo processo prevede la collaborazione con esperti esterni appartenenti a diversi domini applicativi, incaricati di valutare i potenziali rischi del modello in ambiti quali la cybersecurity, la disinformazione e altre possibili forme di utilizzo improprio. Il modello viene inoltre verificato per accertare la sua capacità di rifiutare richieste inappropriate, riconoscere i limiti delle proprie conoscenze quando non dispone di informazioni sufficienti ed operare nel rispetto delle linee guida di sicurezza stabilite durante il processo di sviluppo.
Le più recenti valutazioni dei sistemi seguono lo stesso approccio, combinando analisi effettuate da esperti, benchmark automatizzati e valutazioni strutturate della sicurezza su numerose categorie di rischio prima del rilascio del modello ([OpenAI, 2024]). I risultati di queste verifiche vengono utilizzati per identificare eventuali criticità che richiedono ulteriori interventi di miglioramento prima della distribuzione del sistema.
La valutazione della sicurezza non termina tuttavia con il rilascio del modello. Anche dopo la distribuzione, gli sviluppatori continuano a monitorarne il comportamento attraverso l’analisi dei feedback degli utenti, l’individuazione di nuovi rischi emergenti e l’introduzione di miglioramenti nelle versioni successive, con l’obiettivo di mantenere il modello sicuro, affidabile e costantemente allineato alle esigenze degli utenti.
Il mito dell’autoapprendimento continuo degli LLM
Una credenza piuttosto diffusa è che i modelli LLM in produzione, come ChatGPT, Gemini e Claude, migliorino continuamente le proprie conoscenze semplicemente navigando su Internet durante il loro normale funzionamento, in modo analogo a quanto avviene con motori di ricerca come Google, che indicizzano costantemente nuove pagine web oppure acquisendo in tempo reale le informazioni estratte dalle conversazioni con gli utenti.
In realtà, la conoscenza di un LLM è prevalentemente parametrica, ossia è codificata all’interno dei parametri (o pesi) appresi dal modello durante il complesso e costoso processo di addestramento descritto fin qui. Una volta completato l’addestramento e messo in produzione il modello, tali parametri rimangono invariati, a meno che gli sviluppatori non eseguano esplicitamente nuove fasi di addestramento, fine-tuning o altri processi di aggiornamento del modello. Di conseguenza, l’accesso a Internet durante la fase di inferenza non modifica in modo permanente le conoscenze interne del modello né altera i parametri appresi [Wu et al., 2024].
Quando è disponibile ed abilitato l’accesso a Internet o ad altre fonti di conoscenza esterne, i moderni modelli LLM non si aggiornano internamente, ma ricorrono generalmente a tecniche di recupero delle informazioni (retrieval) che combinano il modello linguistico con meccanismi esterni di ricerca. A seconda dell’architettura adottata, tali meccanismi possono comprendere la Retrieval-Augmented Generation (RAG), motori di ricerca sul Web, database vettoriali (vector databases), basi di conoscenza aziendali, chiamate a servizi esterni tramite API o altre architetture basate su strumenti (tool-based architectures).
I documenti o i risultati della ricerca vengono recuperati durante la fase di inferenza e inseriti nella finestra di contesto (context window) del modello prima della generazione della risposta, consentendogli di ragionare su informazioni che non erano presenti durante il suo addestramento originale. Dal punto di vista dell’architettura Transformer, tali informazioni rappresentano semplicemente nuovi token di input che vengono elaborati insieme alla richiesta dell’utente attraverso il normale meccanismo di self-attention. Il processo di recupero delle informazioni estende quindi le conoscenze utilizzabili dal modello durante una singola interazione, senza modificarne i parametri interni [Lewis et al., 2021], [ Gao et al., 2024].
Memoria parametrica vs. non parametrica
La distinzione tra memoria parametrica, rappresentata dai pesi della rete neurale, e memoria non parametrica, ottenuta dinamicamente da fonti esterne, è fondamentale per comprendere il funzionamento dei moderni LLM commerciali. Essa spiega come sistemi quali ChatGPT, Gemini e Claude siano in grado di rispondere a domande riguardanti eventi recenti, consultare basi di conoscenza aziendali proprietarie o integrare informazioni recuperate dal Web, pur essendo stati addestrati su dati raccolti mesi o addirittura anni prima.
Gli approcci basati sul retrieval consentono inoltre di evitare gli enormi costi computazionali che comporterebbe il riaddestramento di un modello LLM ogni volta che nuove informazioni diventano disponibili, riducendo anche il rischio del cosiddetto catastrophic forgetting, ossia la perdita di conoscenze precedentemente acquisite a seguito dell’apprendimento di nuove informazioni.
È importante sottolineare, tuttavia, che il retrieval arricchisce esclusivamente il processo di inferenza relativo alla conversazione in corso. Le informazioni utilizzate durante un’interazione non entrano normalmente a far parte delle conoscenze permanenti del modello. Perché ciò avvenga è necessario che gli sviluppatori eseguano ulteriori attività di post-training, continued pre-training, model editing o altre tecniche di aggiornamento dei parametri.
Lo sviluppo di metodi che consentano ai Large Language Models di acquisire nuove conoscenze in modo continuo senza compromettere quelle già apprese rappresenta ancora oggi uno dei principali filoni di ricerca nel campo dell’Intelligenza Artificiale [Wu et al., 2024].
Il costo dell’addestramento di un LLM
L’addestramento di un LLM, come visto nei precedenti paragrafi, è un’attività ingegneristica estremamente intensiva dal punto di vista computazionale e richiede investimenti enormi in infrastrutture hardware, energia elettrica, sistemi di raffreddamento, ingegneria dei dati e competenze altamente specializzate [Bommasani et al., 2022], [OpenAI, 2024].
Durante la fase di pre-training, miliardi di parametri della rete neurale vengono ottimizzati utilizzando migliaia di miliardi di token attraverso migliaia di GPU (Graphics Processing Units) o TPU (Tensor Processing Units) ad alte prestazioni, che operano ininterrottamente per settimane o, nei modelli più avanzati, persino per diversi mesi [Brown et al., 2020], [Hoffmann et al., 2022].
Le risorse computazionali richieste aumentano rapidamente con la crescita della dimensione del modello e del corpus di addestramento, secondo una relazione descritta dalle cosiddette Scaling Laws dei modelli linguistici neurali [Kaplan et al., 2020]. Come illustrato nei paragrafi precedenti, aumentare semplicemente il numero di parametri non è sufficiente a migliorare le prestazioni del modello. I risultati migliori si ottengono infatti bilanciando opportunamente la dimensione del modello con la quantità e la qualità dei dati di addestramento, evitando così un inutile incremento dei costi computazionali.
Qualche numero, per capirci…
Secondo le stime degli analisti del settore, il costo complessivo per addestrare un singolo modello moderno LLM può variare da alcune decine fino a diverse centinaia di milioni di dollari statunitensi, in funzione delle dimensioni del modello stesso, dell’infrastruttura di calcolo utilizzata e del numero di iterazioni di addestramento necessarie [Cottier et al., 2025]. Tali stime non comprendono i significativi costi aggiuntivi legati all’acquisizione dei dati, all’annotazione manuale, alla valutazione della sicurezza del modello, allo sviluppo del software e alla gestione delle infrastrutture di calcolo necessarie per sostenere il processo di addestramento.
Di conseguenza, soltanto un numero limitato di organizzazioni nel mondo dispone oggi delle risorse economiche, dell’infrastruttura tecnologica e delle competenze necessarie per sviluppare un moderno LLM partendo da zero [Bommasani et al., 2022]. L’elevatissimo costo dell’addestramento ha inoltre creato un forte incentivo economico alla ricerca di tecniche sempre più efficienti, favorendo lo sviluppo di nuovi algoritmi di ottimizzazione, architetture hardware più performanti e approcci alternativi quali la compressione dei modelli (model compression), il Parameter-Efficient Fine-Tuning (PEFT) e la Knowledge Distillation, che consentono di ridurre significativamente i costi mantenendo elevate le prestazioni del modello [Hinton et al., 2015], [Dettmers et al., 2023].
Distillazione dei modelli e la controversia Anthropic / DeepSeek
Una recente controversia nel mondo dei LLM riguarda le accuse mosse da Anthropic secondo cui alcuni concorrenti, tra cui DeepSeek, avrebbero utilizzato tecniche di distillazione dei modelli (model distillation) per replicare parte delle capacità di Claude senza avere accesso diretto ai suoi pesi (weights) o ai dati impiegati per l’addestramento. Attraverso questo approccio è infatti possibile addestrare, in modo relativamente economico, un modello meno sofisticato utilizzando le risposte generate da un modello più potente.
Secondo Anthropic, le organizzazioni coinvolte avrebbero generato milioni di interazioni con Claude mediante account automatizzati, utilizzando successivamente le coppie prompt-risposta così ottenute come esempi supervisionati per addestrare i propri modelli. Questo processo è talvolta indicato come black-box distillation o model extraction [Anthropic, 2026]. A differenza della Knowledge Distillation tradizionale [Hinton et al., 2015], nella quale il modello teacher e il modello student sono sviluppati dalla stessa organizzazione, la black-box distillation si basa esclusivamente sull’interrogazione di un modello già in produzione attraverso la sua interfaccia pubblica, risultando concettualmente assimilabile a una forma di reverse engineering.
Anthropic ha sostenuto che un’attività di estrazione su larga scala di questo tipo violerebbe i propri termini di servizio e costituirebbe un’appropriazione non autorizzata del comportamento proprietario del modello, pur precisando che non esistono evidenze pubbliche che dimostrino un accesso diretto ai parametri di Claude o al suo corpus di addestramento. Le aziende chiamate in causa hanno respinto le accuse o ne hanno contestato la fondatezza e, al momento della stesura di questo articolo, nessuna indagine tecnica indipendente ha confermato in modo definitivo tali affermazioni.
Ciò nonostante, l’episodio evidenzia una nuova e importante sfida per gli sviluppatori di moderni modelli LLM: anche quando i pesi (weights) del modello sono adeguatamente protetti, il comportamento osservabile di un LLM, ossia le coppie di input e output generate durante il suo utilizzo, può costituire una preziosa fonte di supervisione per l’addestramento di sistemi concorrenti. Con il continuo miglioramento delle capacità dei modelli LLM, la protezione contro l’estrazione non autorizzata dei modelli sta diventando un tema di ricerca sempre più rilevante, comprendendo aspetti quali la sicurezza delle API, il monitoraggio degli utilizzi, il watermarking e il behavioral fingerprinting delle risposte generate dal modello [Jagielski et al., 2020].
GPU e TPU: quali sono le differenze?
Le Graphics Processing Units (GPU) sono state originariamente progettate per elaborare la grafica dei videogiochi e delle applicazioni di visualizzazione professionale. A differenza di una tradizionale CPU (Central Processing Unit), che dispone di un numero relativamente ridotto di core ad alte prestazioni ottimizzati per l’esecuzione sequenziale delle istruzioni, una GPU è composta da migliaia di core più semplici, in grado di eseguire simultaneamente un elevato numero di operazioni. Questa architettura fortemente parallela rende le GPU particolarmente adatte ai calcoli su matrici e vettori che caratterizzano l’addestramento e l’inferenza delle reti neurali profonde (deep learning) [Goodfellow et al., 2016].
Oggi le GPU rappresentano la piattaforma hardware più utilizzata per l’addestramento dei LLM. Aziende come NVIDIA hanno sviluppato architetture specificamente ottimizzate per le applicazioni di Intelligenza Artificiale e la maggior parte dei modelli di frontiera, tra cui GPT, Claude e Llama, è stata addestrata principalmente utilizzando grandi cluster di GPU NVIDIA [OpenAI, 2024].
Le Tensor Processing Units (TPU) sono invece processori specializzati progettati da Google esclusivamente per i carichi di lavoro legati al machine learning [Jouppi et al., 2017]. A differenza delle GPU, le TPU non sono nate per l’elaborazione grafica, ma sono state progettate fin dall’origine per eseguire con la massima efficienza le operazioni su tensori, ossia le operazioni matematiche su matrici multidimensionali che costituiscono il nucleo dell’addestramento e dell’inferenza delle reti neurali.
Proprio perché dedicate a un insieme più ristretto di operazioni, le TPU possono offrire, per determinati algoritmi di machine learning, prestazioni superiori a parità di consumo energetico (performance per watt) e una latenza inferiore rispetto alle GPU di impiego generale.
Google utilizza grandi cluster di TPU per l’addestramento di molti dei propri modelli di AI, inclusa la famiglia di modelli Gemini, mentre la maggior parte delle altre organizzazioni impiega prevalentemente cluster di GPU NVIDIA. Entrambe le architetture sono oggi fondamentali per lo sviluppo dei moderni LLM e rappresentano il motore computazionale che rende possibile l’addestramento di reti neurali contenenti centinaia di miliardi di parametri.
Qual è la scelta migliore? Si tratta di una domanda retorica. In pratica, né le GPU né le TPU sono superiori in termini assoluti: entrambe sono state progettate e ottimizzate per scenari di utilizzo differenti. Le GPU offrono una maggiore flessibilità, un ecosistema software maturo e un ampio supporto da parte di praticamente tutti i framework di deep learning, rendendole la scelta preferita dalla maggior parte delle aziende che sviluppano sistemi di Intelligenza Artificiale e dei principali fornitori di servizi cloud.
Le TPU, invece, sono processori altamente specializzati, progettati specificamente per i carichi di lavoro del machine learning, e possono offrire prestazioni superiori e una maggiore efficienza energetica in alcune attività di addestramento e inferenza su larga scala.
Di conseguenza, organizzazioni come OpenAI, Anthropic, Meta e xAI si affidano prevalentemente a grandi cluster di GPU NVIDIA, mentre Google utilizza principalmente la propria infrastruttura proprietaria basata su TPU per addestrare e mettere in produzione la famiglia di modelli Gemini. In definitiva, la scelta tra GPU e TPU dipende meno da quale tecnologia sia “migliore” in senso assoluto e più dalle specifiche esigenze dell’organizzazione, tra cui le caratteristiche del carico di lavoro, l’ecosistema software, l’infrastruttura disponibile e le considerazioni di carattere economico.
Conclusioni
Abbiamo visto come le straordinarie capacità dei moderni LLM non possano essere attribuite esclusivamente alla loro architettura e funzionamento. Sebbene l’architettura Transformer costituisca il fondamento computazionale del modello, è il processo di addestramento — che comprende la raccolta, la pulizia e la cura dei dati, la tokenizzazione, la preparazione del dataset, il pre-addestramento auto-supervisionato, il fine-tuning supervisionato, l’instruction tuning, l’allineamento alle preferenze e i test di sicurezza — a trasformare una rete neurale di uso generale in un assistente conversazionale affidabile e altamente capace. Ciascuna fase affronta una sfida specifica: il pre-addestramento consente al modello di acquisire un’ampia conoscenza linguistica e del mondo; il fine-tuning supervisionato e l’instruction tuning gli insegnano a seguire le istruzioni e a fornire risposte utili; l’allineamento alle preferenze, mediante tecniche quali il Reinforcement Learning from Human Feedback (RLHF) e la Constitutional AI, perfeziona il modo in cui il modello comunica; infine, i test di sicurezza verificano che il sistema si comporti in modo responsabile prima della distribuzione agli utenti.
Un tema ricorrente è che la sola crescita delle dimensioni del modello non è sufficiente. I risultati dello studio Chinchilla hanno dimostrato che la dimensione del modello, la quantità e la qualità dei dati di addestramento e le risorse computazionali devono essere bilanciate, anziché massimizzate indipendentemente l’una dall’altra, mentre il principio del Garbage In, Garbage Out (GIGO) evidenzia come la qualità dei dati sia determinante quanto la loro quantità.
Altrettanto importante è la distinzione tra la conoscenza parametrica, incorporata nei pesi del modello durante l’addestramento, e i meccanismi non parametrici basati sul recupero di informazioni (retrieval), che consentono ai sistemi già distribuiti di accedere a informazioni aggiornate senza modificare i pesi sottostanti del modello. Tale distinzione contribuisce a sfatare il diffuso equivoco secondo cui gli LLM apprenderebbero continuamente dalle interazioni con gli utenti.
Infine, gli enormi costi computazionali ed economici richiesti per l’addestramento dei modelli di frontiera – che possono raggiungere centinaia di milioni di dollari – spiegano perché soltanto un numero ristretto di organizzazioni sia oggi in grado di sviluppare tali sistemi partendo da zero e perché temi quali la distillazione dei modelli e l’estrazione non autorizzata delle loro capacità siano divenuti questioni di crescente rilevanza per il settore. Mentre la ricerca continua ad affrontare sfide quali l’apprendimento continuo (continual learning), il miglioramento dell’efficienza computazionale e l’allineamento del comportamento dei modelli ai valori e alle aspettative umane, la comprensione dei meccanismi di addestramento rimane fondamentale per apprezzare pienamente sia i punti di forza sia i limiti degli attuali LLMs.
Riferimenti
[Goodfellow et al., 2016] Ian Goodfellow, Yoshua Bengio & Aaron Courville, Deep Learning. MIT Press
https://www.deeplearningbook.org/
[Vaswani et al. 2023] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, Attention Is All You Need
https://arxiv.org/abs/1706.03762
[Brown et al., 2020] Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel M. Ziegler, Jeffrey Wu, Clemens Winter, Christopher Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, Dario Amodei, Language Models are Few-Shot Learners.
https://arxiv.org/abs/2005.14165
[Rumelhart et al., 1986] David E. Rumelhart, Geoffrey E. Hinton, & Ronald J Williams, Learning representations by back-propagating errors. Nature 323, 533–536 (1986)
https://doi.org/10.1038/323533a0
[Hoffmann et al., 2022] Jordan Hoffmann, Sebastian Borgeaud, Arthur Mensch, Elena Buchatskaya, Trevor Cai, Eliza Rutherford, Diego de Las Casas, Lisa Anne Hendricks, Johannes Welbl, Aidan Clark, Tom Hennigan, Eric Noland, Katie Millican, George van den Driessche, Bogdan Damoc, Aurelia Guy, Simon Osindero, Karen Simonyan, Erich Elsen, Jack W. Rae, Oriol Vinyals, Laurent Sifre, Training Compute-Optimal Large Language Models.
https://arxiv.org/abs/2203.15556
[Ouyang et al., 2022] Long Ouyang, Jeff Wu, Xu Jiang, Diogo Almeida, Carroll L. Wainwright, Pamela Mishkin, Chong Zhang, Sandhini Agarwal, Katarina Slama, Alex Ray, John Schulman, Jacob Hilton, Fraser Kelton, Luke Miller, Maddie Simens, Amanda Askell, Peter Welinder, Paul Christiano, Jan Leike, Ryan Lowe, Training language models to follow instructions with human feedback.
https://arxiv.org/abs/2203.02155
[Bai et al., 2022] Yuntao Bai, Saurav Kadavath, Sandipan Kundu, Amanda Askell, Jackson Kernion, Andy Jones, Anna Chen, Anna Goldie, Azalia Mirhoseini, Cameron McKinnon, Carol Chen, Catherine Olsson, Christopher Olah, Danny Hernandez, Dawn Drain, Deep Ganguli, Dustin Li, Eli Tran-Johnson, Ethan Perez, Jamie Kerr, Jared Mueller, Jeffrey Ladish, Joshua Landau, Kamal Ndousse, Kamile Lukosuite, Liane Lovitt, Michael Sellitto, Nelson Elhage, Nicholas Schiefer, Noemi Mercado, Nova DasSarma, Robert Lasenby, Robin Larson, Sam Ringer, Scott Johnston, Shauna Kravec, Sheer El Showk, Stanislav Fort, Tamera Lanham, Timothy Telleen-Lawton, Tom Conerly, Tom Henighan, Tristan Hume, Samuel R. Bowman, Zac Hatfield-Dodds, Ben Mann, Dario Amodei, Nicholas Joseph, Sam McCandlish, Tom Brown, Jared Kaplan, Constitutional AI: Harmlessness from AI Feedback.
https://arxiv.org/abs/2212.08073
[Bommasani et al., 2022] Rishi Bommasani, Drew A. Hudson, Ehsan Adeli, Russ Altman, Simran Arora, Sydney von Arx, Michael S. Bernstein, Jeannette Bohg, Antoine Bosselut, Emma Brunskill, Erik Brynjolfsson, Shyamal Buch, Dallas Card, Rodrigo Castellon, Niladri Chatterji, Annie Chen, Kathleen Creel, Jared Quincy Davis, Dora Demszky, Chris Donahue, Moussa Doumbouya, et alii, On the Opportunities and Risks of Foundation Models.
https://arxiv.org/abs/2108.07258
[Wu et al., 2024] Tongtong Wu, Linhao Luo, Yuan-Fang Li, Shirui Pan, Thuy-Trang Vu, Gholamreza Haffari, Continual Learning for Large Language Models: A Survey.
https://arxiv.org/abs/2402.01364
[Lewis et al., 2021] Patrick Lewis, Ethan Perez, Aleksandra Piktus, Fabio Petroni, Vladimir Karpukhin, Naman Goyal, Heinrich Küttler, Mike Lewis, Wen-tau Yih, Tim Rocktäschel, Sebastian Riedel, Douwe Kiela, Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
https://arxiv.org/abs/2005.11401
[Gao et al., 2024] Yunfan Gao, Yun Xiong, Xinyu Gao, Kangxiang Jia, Jinliu Pan, Yuxi Bi, Yi Dai, Jiawei Sun, Meng Wang, Haofen Wang, Retrieval-Augmented Generation for Large Language Models: A Survey.
https://arxiv.org/abs/2312.10997
[Anthropic, 2026] Anthropic, Detecting and preventing distillation attacks.
https://www.anthropic.com/news/detecting-and-preventing-distillation-attacks
[Hinton et al., 2015] Geoffrey Hinton, Oriol Vinyals, Jeff Dean, Distilling the Knowledge in a Neural Network.
https://arxiv.org/abs/1503.02531
[Jagielski et al., 2020] Matthew Jagielski, Nicholas Carlini, David Berthelot, Alex Kurakin, Nicolas Papernot, High Accuracy and High Fidelity Extraction of Neural Networks. https://arxiv.org/abs/1909.01838
[OpenAI, 2024] OpenAI, Josh Achiam, Steven Adler, Sandhini Agarwal, Lama Ahmad, Ilge Akkaya, Florencia Leoni Aleman, Diogo Almeida, Janko Altenschmidt, Sam Altman, Shyamal Anadkat, Red Avila, Igor Babuschkin, Suchir Balaji, Valerie Balcom, Paul Baltescu, Haiming Bao, Mohammad Bavarian, Jeff Belgum, Irwan Bello, Jake Berdine, Gabriel Bernadett-Shapiro, Christopher Berner, Lenny Bogdonoff, Oleg Boiko, Madelaine Boyd, Anna-Luisa Brakman, Greg Brockman et alii, GPT-4 Technical Report.
https://arxiv.org/abs/2303.08774
[Jouppi et al., 2017] Norman P. Jouppi, Cliff Young, Nishant Patil, David Patterson, Gaurav Agrawal, Raminder Bajwa, Sarah Bates, Suresh Bhatia, Nan Boden, Al Borchers, Rick Boyle, Pierre-luc Cantin, Clifford Chao, Chris Clark, Jeremy Coriell, Mike Daley, Matt Dau, Jeffrey Dean, Ben Gelb, et alii,
In-Datacenter Performance Analysis of a Tensor Processing Unit. ISCA
https://arxiv.org/abs/1704.04760
[Dettmers et al., 2023] Tim Dettmers, Artidoro Pagnoni, Ari Holtzman, Luke Zettlemoyer, QLoRA: Efficient Finetuning of Quantized LLMs.
https://arxiv.org/abs/2305.14314 , May 2023
[Kaplan et al., 2020] Jared Kaplan, Sam McCandlish, Tom Henighan, Tom B. Brown, Benjamin Chess, Rewon Child, Scott Gray, Alec Radford, Jeffrey Wu, Dario Amodei, Scaling Laws for Neural Language Models.
https://arxiv.org/abs/2001.08361
[Touvron et al., 2023] Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, Aurelien Rodriguez, Armand Joulin, Edouard Grave, Guillaume Lample, LLaMA: Open and Efficient Foundation Language Models.
https://arxiv.org/abs/2302.13971
[Devlin et al., 2019] Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.
https://arxiv.org/abs/1810.04805
[Kingma & Ba, 2017] Diederik P. Kingma, Jimmy Ba, Adam: A Method for Stochastic Optimization.
https://arxiv.org/abs/1412.6980
[Wei et al., 2023] Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, Denny Zhou, Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.
https://arxiv.org/abs/2201.11903
[Cottier et al., 2025] Ben Cottier, Robi Rahman, Loredana Fattorini, Nestor Maslej, Tamay Besiroglu, David Owen, The rising costs of training frontier AI models.
https://arxiv.org/abs/2405.21015
