Modelli linguistici: oltre la semplice previsione di parole

I modelli linguistici vanno oltre la previsione di parole, ma cosa li rende davvero intelligenti?

I cosiddetti “modelli linguistici”, come quelli alla base di ChatGPT, Gemini, Claude, …, sono in grado di generare testi che appaiono spesso indistinguibili da testi prodotti da esseri umani. È un fatto sorprendente, che sollecita la ben comprensibile domanda: com’è possibile che entità artificiali – nessuno dubita che siano tali questi sistemi software – abbiano capacità così sofisticate?

La spiegazione sovente proposta è che i modelli linguistici funzionano “prevedendo la prossima parola” da produrre, in accordo a una qualche regola statistica, e c’è chi considera questa addirittura la caratteristica che li definisce. Per esempio, un noto articolo di analisi dei problemi che solleva la diffusione dei modelli linguistici, intitolato “On the Dangers of Stochastic Parrots: Can Language Models Be Too Big?”, sostiene che “intendiamo che il termine ‘modello di linguaggio’ si riferisca a sistemi addestrati a compiti di previsione di testi, cioè a prevedere la verosimiglianza di un token dato il suo contesto precedente” (“we understand the term language model … to refer to systems which are trained on string prediction tasks: that is, predicting the likelihood of a token … given … its preceding context”).

Produrre testi “prevedendo una parola dopo l’altra” non sembra però davvero un modo così intelligente di operare, a causa della prospettiva limitata che consente sul contesto della conversazione e del fatto che produrre un testo in questo modo non sembra implicare alcuna forma di comprensione del significato da parte di chi lo sta producendo. Con ciò la sorpresa non fa che crescere: davvero i complessi testi che leggiamo nelle nostre conversazioni con ChatGPT o qualcuno dei suoi fratelli sono il risultato di un processo strutturalmente così semplice come “prevedere una parola dopo l’altra”? Ciò che, al contrario, non è sorprendente, è che da questa spiegazione si tenda a trarre la conclusione che queste entità non possono essere veramente intelligenti, e quindi che il termine “intelligenza artificiale”, usato per riferirsi in particolare ai chatbot, dovrebbe essere inteso al più in senso metaforico.

Data l’importanza che queste entità artificiali stanno assumendo nella nostra società, riteniamo che un po’ di chiarezza sulle loro caratteristiche e il loro funzionamento possa essere utile. E, a questo scopo, argomentiamo qui contro la posizione menzionata sopra: non perché sosteniamo che sia falsa – è vero che i chatbot funzionano producendo una parola dopo l’altra sulla base di una previsione ottenuta tenendo in considerazione il contesto – ma perché crediamo che questo sia irrilevante per qualsiasi conclusione che si voglia trarre a proposito delle loro capacità e in particolare della loro intelligenza.

In altri termini, sosteniamo che il fatto che i chatbot funzionino producendo una parola dopo l’altra non porta alcuna informazione sulle ragioni per cui essi sono in grado di produrre dialoghi, e quindi che sarebbe opportuno smettere di proporre questo argomento a sostegno di una qualsiasi tesi, se sono intelligenti, o non lo sono, o lo sono in modo diverso da come lo sono gli esseri umani.

Per rendere comprensibile e giustificare questa obiezione anche a chi non ha una competenza specifica di machine learning, proponiamo una breve spiegazione, a partire dalla quale svilupperemo qualche riflessione.

Dentro a un pappagallo

Ogni modello linguistico opera su un vocabolario di parole, o parti di parole, chiamate “token”. Molte delle parole di una lingua per cui il modello è stato addestrato sono token del vocabolario del modello, e molti token sono parole, ma la corrispondenza non è completa. Per esempio, sono token i segni di punteggiatura, che ovviamente non sono parole, mentre parole come “bellezza” e “altezza” potrebbero non essere parte del vocabolario, perché trattate come costituite da più token, come “bell” e “ezza” e “alt” e “ezza”, consentendo così la gestione di suffissi o prefissi ricorrenti (si stima che un token corrisponda mediamente a 0,75 parole). Il vocabolario di un modello semplice potrebbe contenere qualche decina di migliaia di token relativi a una sola lingua e quello di un modello complesso qualche centinaio di migliaia di token relativi a più lingue.

Il vocabolario ha un ruolo importante nella prima e nell’ultima fase del processo di funzionamento di un modello. Infatti, ricevendo una nostra richiesta, la prima attività che un modello compie, chiamata “tokenizzazione”, è data dalla scomposizione del testo della richiesta in una successione di token – notando che il vocabolario include un token speciale, per ogni parola non riconosciuta: in questo modo il modello non si ferma nemmeno di fronte a token sconosciuti. Su ognuno dei token il modello effettua poi le sue operazioni, a proposito delle quali non entriamo in dettaglio.

L’ultima attività del modello è poi quella di scegliere dal vocabolario un token da introdurre nella successione che sta costruendo come risposta, per poi ricominciare l’elaborazione, scegliere un altro token, e così via, fino a che il token scelto non è il token speciale “fine della risposta”, cosa che conclude il processo di produzione della risposta alla nostra richiesta.

Non ogni previsione è una previsione sensata

Questa descrizione, sommaria anche perché ancora largamente “a scatola chiusa”, mostra che l’affermazione secondo cui i modelli linguistici operano “prevedendo la prossima parola dato il contesto” – e ora possiamo dire, più precisamente: “prevedendo il prossimo token” – è corretta. Tuttavia, se è vero che l’attività di un chatbot è basata sulla previsione, è anche vero che non ogni attività basata su previsione è in grado di produrre i risultati che osserviamo quando dialoghiamo con ChatGPT. Ed è proprio questo il punto fondamentale da discutere.

In effetti, non è difficile costruire un sistema che produca espressioni linguistiche un token per volta tenendo conto di quanto già prodotto, e quindi del contesto, e i cui risultati siano nondimeno sgrammaticati, prima ancora che completamente privi di qualsiasi significato. Per esempio, ricordando che ogni token è identificato nel vocabolario da un indice numerico, ogni nuovo token potrebbe essere scelto a partire dalla media degli indici dei token già prodotti, a cui aggiungere un valore casuale che consenta di includere una componente di “creatività” nella risposta – notiamo incidentalmente che, benché con una regola di generazione completamente diversa, i chatbot hanno effettivamente un comportamento non deterministico, che cerca di riprodurre qualche aspetto di creatività nelle loro risposte, grazie alla presenza di una componente casuale, controllata da un iperparametro chiamato “temperatura”.

Ecco tre esempi di “frasi”, ognuna di 10 token, ottenute eseguendo un programma che realizza questa procedura (i caratteri “##” all’inizio di alcuni token indicano che si tratta di suffissi):

rilevati ##gerci Porter ##fox trovando dell ##ones Notte ##Si ##uva

Essi rinun ##zzanotte ##les ##sensi ##angu celeste ##view Españ aderenti

volte appartengono ##ASS credo affi corrispondono davvero Monta ricre corrispondono

Queste “frasi” sono state dunque generate “prevedendo il prossimo token dato il contesto”, mediante un transformer chiamato “BERT” in una versione addestrata per l’italiano e con un vocabolario di 31102 token.

Insomma, chi accetta di definire un modello linguistico come un mero predittore di parole, e ritiene quindi che una spiegazione del comportamento dei modelli “a scatola chiusa” sia sufficiente, deve ammettere che questa sua caratterizzazione non è in grado di rendere conto della palese differenza tra le frasi sopra prodotte e le sofisticate risposte che gli attuali chatbot ci sanno fornire: sempre di “previsione del prossimo token dato il contesto” si tratta, infatti. È un segnale evidente che la caratterizzazione è incompleta.

Per prevedere in modo sensato occorre addestramento

Per spiegare la differenza tra i testi semi-casuali del nostro esperimento e i sofisticati testi dei dialoghi con i chatbot non è sufficiente nemmeno “aprire la scatola” e imporre che il modello linguistico, e quindi la rete neurale che è alla sua base, abbia una certa struttura. Certo, una struttura sufficientemente complessa, in numero di parametri e non solo, è necessaria, ma appunto ancora non basta. Se infatti quella stessa rete, magari con migliaia di miliardi di parametri, fosse messa in funzione prima di addestrarla, i testi che le vedremmo produrre sarebbero sgrammaticati e insensati tanto quanto quelli del nostro esperimento. Per migliorare la qualità dei risultati che si possono ottenere, occorre addestrare la rete, e dunque, concretamente, assegnare un valore appropriato a ognuno dei suoi parametri, una condizione che la caratterizzazione dei modelli linguistici come sistemi di “previsione del prossimo token dato il contesto” non considera, o almeno relega in secondo piano. Questo punto è determinante, e non andrebbe sottovalutato: il comportamento degli attuali chatbot non è programmato, ma appreso, e l’apprendimento interviene sulla struttura assai complessa delle attuali reti neurali. Ciò differenzia paradigmaticamente i chatbot dagli usuali sistemi software, il cui comportamento è invece appunto il risultato di programmazione.

Insomma, la questione cruciale non è che un chatbot produca un token per volta, ma come lo faccia. E, avendolo progettato noi, questo è un processo su cui abbiamo varie certezze: sappiamo in particolare che in un transformer – l’architettura di reti neurali artificiali su cui gli attuali chatbot sono basati – non c’è alcun componente che memorizza o elabora significati in modo esplicito, e che la capacità dei transformer di produrre testi contestuali e significativi è il risultato sia della loro struttura sia del loro addestramento.

Saper prevedere non implica comprendere

Le reti neurali artificiali furono ideate come modelli, assai semplificati, del comportamento di reti neurali biologiche, e in particolare del nostro cervello. Pur con le differenze che ovviamente rimangono, cogliamo anche alcune analogie. Anche le nostre capacità cognitive sono condizionate dalla combinazione di “natura e cultura”, in analogia con la combinazione di “programmazione e addestramento” delle reti neurali artificiali. Anche noi, parlando o scrivendo, produciamo una parola dopo l’altra, a causa del fatto che parliamo e scriviamo nel tempo, e questo ci vincola alla struttura sequenziale del tempo stesso (come potrebbe essere altrimenti?), ma sappiamo bene che questo non è in alcun modo sufficiente per spiegare le nostre capacità cognitive: quello che osserviamo quando una persona di fronte a noi pronuncia o scrive una parola dopo l’altra è solo l’esito visibile di un complesso processo. E il fatto che un’entità, naturale o artificiale, produca testi prevedendo un token dopo l’altro dato il contesto del dialogo è perciò irrilevante per trarre qualsiasi conclusione circa le sue capacità intellettive.

Il sofisticato comportamento linguistico degli attuali chatbot rende plausibile l’ipotesi che essi siano i migliori modelli che abbiamo mai avuto di almeno qualche aspetto del nostro comportamento linguistico: in modo forse inatteso, ci troviamo un laboratorio sperimentale con cui cercare di capire meglio cosa significa che noi pensiamo, siamo intelligenti, siamo senzienti.


Posted

in

,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *