10 cose tecniche che forse non sapete sul funzionamento interno di ChatGPT

Esploriamo brevemente i concetti tecnici che regolano il funzionamento di chatbot come ChatGPT e soci. Come fanno questi sistemi ad elaborare e generare testo? Parliamo di pretraining su grandi dataset, del ruolo delle reti neurali, della tokenizzazione e della generazione di testo attraverso meccanismi di inferenza.

Quando si parla di intelligenza artificiale, notiamo che buona parte dell’opinione pubblica vi guarda ancora con grande diffidenza. Anche da parte di giornalisti, scrittori ed osservatori spesso si sprecano commenti fuori luogo, che sono frutto di una scarsa conoscenza della materia. In questo articolo cerchiamo di fare un minimo di chiarezza, rinviandovi, per ogni approfondimento, ai tanti contenuti che in questi anni abbiamo pubblicato sull’argomento nelle pagine de IlSoftware.it. Dietro il funzionamento di chatbot come ChatGPT e “soci” (si pensi anche ai vari Gemini,  Copilot, Claude, Perplexity, DeepSeek,…), apparentemente “magico” c’è tutta un’impalcatura che affonda le radici in concetti che hanno a che fare con la matematica e la statistica.

Andrej Karpathy, eminente informatico slovacco-canadese, classe 1986, è noto per i suoi contributi significativi nel campo dell’intelligenza artificiale e del deep learning. Lo abbiamo spesso citato nei nostri articoli e lo facciamo anche oggi, per segnalare il suo lavoro Deep Dive into LLMs like ChatGPT, un video pubblicato su YouTube che svela buona parte del funzionamento di ChatGPT e dei LLM (Large Language Model).

Karpathy è stato uno dei fondatori di OpenAI, azienda in cui ha lavorato come ricercatore dal 2015 al 2017. Ha lavorato come direttore dell’intelligenza artificiale e del progetto Autopilot Vision in Tesla e a luglio 2024, dopo essere tornato per un breve periodo in OpenAI tra il 2023 e il 2024, ha fondato Eureka Labs, realtà focalizzata sull’insegnamento dell’intelligenza artificiale attraverso corsi innovativi.

Differenze tra intelligenza artificiale, modelli generativi e LLM

Innanzi tutto, cominciamo col dire che intelligenza artificiale (AI) e modelli generativi, come i Large Language Models (LLM), non sono la stessa cosa, anche se si tratta di concetti strettamente correlati. L’AI è un campo molto ampio che include una varietà di tecniche e algoritmi progettati per far sì che le macchine eseguano compiti tipicamente associati all’intelligenza umana, come il ragionamento, l’apprendimento e la risoluzione di problemi. Le soluzioni di AI includono siano l’AI predittiva, che si concentra sulla previsione degli eventi futuri, sia l’AI generativa, deputata alla creazione di nuovi contenuti.

I modelli generativi sono una sottocategoria dell’AI: si occupano della creazione di nuovi dati simili a quelli su cui sono addestrati. La loro funzione principale è quella di imitare la distribuzione dei dati esistenti per produrre output originali.

I Large Language Models (LLM) sono un tipo specifico di modello generativo basato su transformer (ne parliamo più avanti), progettato principalmente per processare e generare testo in modo coerente ed efficace. Sono utilizzati per compiti come la traduzione automatica, la risposta alle domande e la creazione di testo originale.

I LLM, in italiano modelli linguistici di grandi dimensioni, hanno rivoluzionato l’intelligenza artificiale applicata al linguaggio naturale, rendendo possibile la generazione e la comprensione avanzata del testo. Dietro le loro capacità si nasconde un complesso insieme di tecniche di pretraining, tokenizzazione, architettura neurale, inferenza e post-training.

Messe in chiaro queste differenze, vediamo quali sono le 10 cose tecniche sul funzionamento di ChatGPT e chatbot simili che, forse, non conoscete.

1. Il Pretraining: la base della conoscenza dei modelli

Il pretraining di un LLM avviene su enormi quantità di dati, spesso raccolti dal Web. Questo vasto corpus di dati comprende testi provenienti da libri, articoli, pagine Web, documentazione tecnica e conversazioni pubbliche. La qualità e la diversità del dataset influenzano direttamente le capacità del modello di “comprendere” e generare testo in modo coerente.

Una delle principali sfide nel pretraining consiste infatti nella selezione e nella pulizia dei dati: il modello deve apprendere da fonti affidabili, evitando contenuti errati o non etici. Inoltre, l’addestramento su dati prevalentemente in lingua inglese porta a difficoltà nell’elaborazione di lingue meno rappresentate.

Per capire meglio di cosa si sta parlando, date un’occhiata al progetto FineWeb di Hugging Face: contiene oltre 15 trilioni di token, a valle di un processo di pulizia e deduplicazione per garantire una qualità elevata dei dati.

2. Il ruolo delle reti neurali

Le reti neurali sono strutture matematiche che imitano in modo semplificato le funzioni dei neuroni biologici. Tuttavia, a differenza di questi ultimi, che sono processi dinamici complessi con memoria, le reti neurali artificiali sono espressioni matematiche fisse, sprovviste di memoria. Queste reti consistono in strati di calcolo che trasformano gli input in output attraverso operazioni come moltiplicazioni matriciali e applicazioni di attivazioni non lineari (funzioni matematiche che introducono non linearità nei modelli di rete neurale).

La maggior parte dei problemi reali è caratterizzata da relazioni complesse tra variabili. Le funzioni lineari non possono catturare queste relazioni perché l’output sarebbe sempre una combinazione lineare degli input.

Nel processo di tokenizzazione, alla base dei modelli generativi e che vedremo tra poco, le reti neurali sono essenziali perché possono apprendere modelli statistici nel flusso del testo.

3. La Tokenizzazione: il ponte tra testo e numeri

La tokenizzazione è il processo che trasforma il testo in sequenze di token, ossia unità numeriche interpretabili dalla rete neurale. Esistono diverse strategie di tokenizzazione, tra cui:

  • Tokenizzazione a livello di carattere (usata nei modelli iniziali ma poco efficiente).
  • Byte Pair Encoding (BPE), che unisce sequenze di caratteri frequenti in singoli token.
  • Tokenizzazione basata su byte UTF-8, come avviene nei modelli OpenAI più recenti.

Un problema ricorrente della tokenizzazione è la gestione delle lingue diverse dall’inglese e delle strutture testuali complesse, come il codice informatico. Inoltre, i modelli possono avere difficoltà con lo spelling e le operazioni aritmetiche a causa della frammentazione dei numeri in token separati.

4. Il flusso dei dati in un LLM

L’input di un modello linguistico è costituito da una sequenza di token, trasformati in vettori numerici attraverso una tabella di embedding. Questi vettori numerici sono poi elaborati dai livelli della rete neurale, utilizzando meccanismi di attenzione e trasformazioni non lineari, per generare predizioni sui token successivi.

L’output del modello è una distribuzione di probabilità sui possibili token successivi. Il testo generato è selezionato a partire da tale distribuzione di probabilità ricorrendo a strategie come le seguenti:

  • Greedy decoding: sceglie il token più probabile.
  • Sampling: sceglie casualmente tra i token tra quelli con probabilità più alte.
  • Top-k e Top-p (nucleus) sampling: bilanciano creatività e coerenza.

5. Funzionamento interno della rete neurale

I LLM si basano sull’architettura Transformer, che utilizza meccanismi di auto-attenzione per pesare l’importanza dei token che figurano in una sequenza. Ogni token è gestito attraverso molteplici strati di trasformazione, che includono:

  • Strati di auto-attenzione: consentono al modello di assegnare pesi diversi ai token precedenti per determinare il contesto più rilevante.
  • Feedforward layers: applicano trasformazioni non lineari per migliorare la capacità di rappresentazione del modello.
  • Meccanismi di normalizzazione: aiutano a stabilizzare il processo di apprendimento e a migliorare la convergenza.

Questa struttura permette al modello di mantenere il contesto su lunghe distanze, migliorando la “comprensione” semantica del testo.

6. Inferenza: il processo di generazione del testo

Si chiama inferenza il processo attraverso il quale un modello genera testo in risposta a un input (o prompt). Questo avviene in maniera sequenziale: il modello prevede il token successivo basandosi su quelli precedenti, aggiornando iterativamente il contesto fino a completare la frase.

Come abbiamo visto in un altro articolo citato in precedenza, l’inferenza nei LLM è computazionalmente costosa. Per ottimizzarla, sono impiegate tecniche come le seguenti:

  • Quantizzazione: riduce la precisione numerica per migliorare la velocità senza comprometterne troppo l’accuratezza.
  • Inferenza su GPU e TPU: utilizzo di hardware specializzato per accelerare il calcolo.
  • Caching dell’attenzione: si evitano ricalcoli inutili durante la generazione del testo, migliorando l’efficienza computazionale.

7. Da GPT-2 a Llama 3.1

GPT-2 (anno 2019) è stato uno dei primi modelli a dimostrare la scalabilità dell’architettura Transformer, utilizzando una tokenizzazione basata su BPE e un pretraining non supervisionato. Già a maggio 2024, Karpathy aveva deciso di riprodurre il modello GPT-2 con 124 milioni di parametri (la versione più compatta) dimostrando come, con un investimento di appena 20 euro, fosse possibile ricrearlo da zero e studiarne “i segreti”.

L’addestramento di GPT-2 si è sviluppato su un dataset vasto, composto principalmente da testi provenienti dal Web, permettendo al modello di acquisire le strutture linguistiche e le conoscenze di base attraverso un processo di auto-supervisione.

Utilizzando la tokenizzazione BPE, GPT-2 ha potuto gestire il testo in unità subword, migliorando la sua capacità di “generalizzare”, utilizzando anche poco frequenti. Durante l’inferenza, GPT-2 genera testo in modo autoregressivo, prevedendo un token alla volta e utilizzando il meccanismo di auto-attenzione per mantenere il contesto delle sequenze precedenti. Tra le sue principali limitazioni la lunghezza del contesto relativamente ridotta e la tendenza a generare output incoerenti nelle sequenze più lunghe.

Llama 3.1 (luglio 2024), ad esempio, rappresenta un’evoluzione significativa, introducendo miglioramenti nella gestione della tokenizzazione e nelle strategie di inferenza. Questo modello sfrutta vocabolari più ampi per ridurre la frammentazione del testo e ottimizza il calcolo dell’attenzione, consentendo un’elaborazione più efficiente delle sequenze lunghe. Inoltre, Llama 3.1 integra strategie avanzate di quantizzazione e ottimizzazione hardware, assicurando maggiore velocità di inferenza e un consumo energetico inferiori.

8. Dal Pretraining al Post-Training

Dopo il pretraining, un modello subisce fasi di adattamento note come post-training, che includono:

  • Supervised Fine-Tuning (SFT): addestramento supervisionato su dati etichettati. Se un modello deve essere ottimizzato per la classificazione delle emozioni nei testi, SFT gli permette di apprendere a riconoscere le caratteristiche distintive associate a ogni emozione, a partire dai dati forniti.
  • Reinforcement Learning from Human Feedback (RLHF): ottimizzazione basata sulle preferenze espresse da umani. Gli utenti forniscono riscontri (feedback) sulle risposte generate dal modello: sono utilizzate per aggiornare i parametri interni del sistema affinché produca output più coerenti con le aspettative umane.
  • Adattamenti specializzati: miglioramento della gestione delle conversazioni e riduzione delle allucinazioni. Questa attività può includere strategie come l’integrazione di meccanismi attenzionali avanzati, al fine di mantenere coerenza nelle risposte generate durante interazioni prolungate con gli utenti finali.

9. Limiti degli LLM: allucinazioni, memoria e “deficit cognitivi”

Un problema noto degli LLM è la generazione di informazioni errate o “allucinazioni“. Questo avviene perché il modello non ha una conoscenza verificabile, ma prevede il testo basandosi sulle probabilità apprese durante l’addestramento.

Si parla inoltre di regurgitation quando il modello restituisce una ripetizione fedele ma indesiderata di contenuti acquisiti durante l’addestramento. Queste caratteristiche sono dovute alla natura basata su pattern statistici derivanti dall’apprendimento automatico. Il fenomeno è problematico perché i modelli tendono a ricordare grandi porzioni di testo viste durante l’addestramento piuttosto che generare contenuti originali o coerenti con il contesto attuale.

I modelli, inoltre, non possiedono una memoria permanente: ogni risposta è generata contestualmente, senza una reale comprensione del passato o di se stessi. Tuttavia, alcune tecniche, come quella chiamata Retrieval Augmented Generation (RAG), permettono di migliorare la coerenza a lungo termine integrando informazioni provenienti da fonti esterne. Queste ultime vanno ad estendere la base di conoscenze derivante dall’addestramento iniziale.

I LLM mostrano anche deficit cognitivi simili a quelli umani ma amplificati dalla loro natura artificiale. Ad esempio, i LLM spesso falliscono in operazioni aritmetiche elementari come confrontare numeri decimali (ad esempio 9,11 con 9,9), principalmente a causa della rappresentazione numerica basata su token anziché su calcoli matematici diretti. Allo stesso modo, proprio perché i LLM lavorano a livello di token, le stesse attività di spelling risultano difficoltose da gestire in modo corretto.

Per superare questi limiti, gli sviluppatori utilizzano diverse strategie, come quelle descritte al paragrafo precedente.

10. Il futuro dei LLM: sfide e opportunità

Come sottolinea Karphaty, l’arrivo di DeepSeek-R1 è rilevante perché utilizza una serie di strategie per migliorare l’output. Attraverso l’apprendimento per rinforzo (Reinforcement Learning, RL), DeepSeek-R1 può ottimizzare le sue capacità generative basandosi sul feedback.

L’apprendimento per rinforzo consente al modello di scoprire strategie cognitive innovative durante la risoluzione dei problemi. Questo avviene quando il sistema esplora diverse soluzioni e viene premiato o penalizzato in base alla loro efficacia. Mentre i metodi tradizionali si concentrano sull’imitazione delle soluzioni umane (ad esempio tramite fine-tuning), l’apprendimento per rinforzo permette ai modelli come DeepSeek-R1 di andare oltre queste limitazioni scoprendo nuove strategie che potrebbero essere più efficienti o creative rispetto a quelle umane.

Il bello è che, una volta addestrato, il modello di ricompensa agisce come simulazione delle preferenze umane, permettendo al sistema di eseguire l’apprendimento per rinforzo senza richiedere ulteriori interventi diretti. Dopo la creazione del modello di ricompensa e la sua ottimizzazione con feedback umani iniziali, il processo può quindi proseguire in modo più autonomo poiché il sistema si adatta alle simulazioni delle preferenze piuttosto che a giudizi diretti degli esseri umani.

Con il rapido sviluppo di nuovi e sempre più evoluti LLM, è fondamentale tenere traccia delle loro prestazioni e delle nuove tecnologie emergenti. La ricerca attuale si concentra su miglioramenti nell’efficienza computazionale, nella gestione del contesto e nella riduzione delle allucinazioni.

Il futuro degli LLM dipende dalla capacità di affrontare efficacemente le sfide attuali mentre si sfruttano appieno le opportunità offerte da queste tecnologie avanzate:

  • Integrazione con altre discipline AI come, ad esempio, la visione artificiale per creare sistemi ibridi più potenti.
  • Sviluppo di framework etici robusti per garantire trasparenza ed equità nell’utilizzo dei dati.
  • Investimenti continui nella ricerca su algoritmi più efficienti sia dal punto di vista computazionale che energetico.

I LLM rappresentano un campo dinamico in cui l’innovazione tecnologica deve necessariamente coniugarsi con la responsabilità sociale. Nel superare gli attuali fattori limitanti, sarà essenziale plasmare un futuro in cui queste tecnologie possano arricchire significativamente la vita quotidiana senza comprometterne la qualità o l’integrità morale delle interazioni umane.

Ti consigliamo anche

Link copiato negli appunti