ChatGPT può predire il futuro? Addestrare l’IA per capire cosa succede dopo

ChatGPT può predire il futuro? Allenare l'Intelligenza Artificiale per comprendere ciò che accadrà

nyu-2023-llmtime-predicting-time-series-diagram

Il programma LLMtime della NYU trova l’evento successivo più probabile in una sequenza di eventi, come rappresentata in stringhe di cifre numeriche.

I programmi di intelligenza artificiale generativa di oggi, come ad esempio ChatGPT, sono sulla strada per produrre molti tipi di risultati diversi dal solo testo, come ENBLE ha approfondito. 

Uno dei più importanti di questi “modalità”, come sono conosciuti, è ciò che viene chiamato dati in serie temporali, ovvero dati che misurano le stesse variabili in diversi punti nel tempo per individuare tendenze. I dati in formato di serie temporali possono essere importanti per cose come monitorare la storia medica di un paziente nel tempo con le annotazioni fatte da un medico in una cartella clinica. Fare ciò che viene chiamato previsione in serie temporali significa prendere i dati storici e prevedere cosa accadrà dopo; ad esempio: “Questo paziente si guarirà?”

Inoltre: ChatGPT sembra essere confuso su quando finisce la sua conoscenza

Approcci tradizionali ai dati in serie temporali coinvolgono software appositamente progettati solo per quel tipo di dati. Ma ora, l’IA generativa sta acquisendo una nuova capacità di gestire dati in serie temporali nello stesso modo in cui gestisce domande di saggio, generazione di immagini, codifica software e le varie altre attività in cui ChatGPT e programmi simili si sono distinti. 

In uno studio pubblicato questo mese da Nate Gruver della New York University e colleghi della NYU e di Carnegie Mellon, il programma GPT-3 di OpenAI è stato addestrato per predire l’evento successivo in una serie temporale, in modo simile a come viene predetta la prossima parola in una frase. 

“Poiché i modelli linguistici sono costruiti per rappresentare distribuzioni di probabilità complesse su sequenze, sono teoricamente adatti per la modellizzazione di serie temporali,” scrivono Gruver e il suo team nel loro articolo, “I modelli di lingua di grandi dimensioni sono previsioni di serie temporali zero-shot,” pubblicato sul server pre-print di arXiv. “I dati in serie temporali hanno tipicamente la stessa forma dei dati per la modellizzazione del linguaggio, come una collezione di sequenze.”

Il programma che hanno creato, LLMTime, è “estremamente semplice”, scrivono Gruver e il suo team, ed è in grado di “superare o eguagliare i metodi specificamente progettati per le serie temporali in una gamma di problemi diversi in una modalità zero-shot, il che significa che LLMTime può essere utilizzato senza alcun adattamento sui dati successivi utilizzati da altri modelli.”

Inoltre: L’IA generativa supererà di gran lunga ciò che ChatGPT può fare. Ecco tutto sulle avanzate tecnologiche

La chiave per costruire LLMTime è stata per Gruver e il suo team di ripensare a ciò che viene chiamato “tokenizzazione”, il modo in cui un grande modello linguistico rappresenta i dati su cui sta lavorando. 

Programmi come GPT-3 hanno un certo modo in cui inseriscono parole e caratteri, suddividendoli in frammenti che possono essere assunti uno alla volta. I dati della serie temporale vengono rappresentati come sequenze di numeri, come ad esempio “123”; la serie temporale è solo il modello in cui tali sequenze di cifre si verificano.

Considerato ciò, la tokenizzazione di GPT-3 è problematica perché spesso spezza tali stringhe in raggruppamenti scomodi. “Ad esempio, il numero 42235630 viene tokenizzato come [422, 35, 630] dal tokenizer di GPT-3, e anche un solo cambiamento di cifra può portare a una tokenizzazione completamente diversa,” spiegano Gruver e il suo team. 

Per evitare quei gruppi imbarazzanti, Gruver e il suo team hanno creato del codice per inserire spazi bianchi attorno ad ogni cifra di una sequenza di cifre, in modo che ogni cifra possa essere codificata separatamente.

Inoltre: 3 modi in cui l’IA sta rivoluzionando il modo in cui le organizzazioni sanitarie servono i pazienti. Può LLM come ChatGPT aiutare?

Successivamente, si sono dedicati all’addestramento di GPT-3 per prevedere la prossima sequenza di cifre in esempi reali di serie temporali.

Una serie temporale è una sequenza di eventi che si verificano uno dopo l’altro, come ad esempio “Il cane è saltato giù dal divano e è corso verso la porta”, dove c’è un evento, e poi un altro. Un esempio di un vero set di dati per il quale le persone vogliono fare previsioni sarebbe la previsione dei prelievi dal bancomat basata sui prelievi storici. Una banca sarebbe molto interessata a prevedere cose del genere.

La previsione dei prelievi dal bancomat è, infatti, una delle sfide di una competizione di serie temporali in tempo reale come la Competizione di Forecasting con Reti Neurali Artificiali e Intelligenza Computazionale, organizzata dall’Università di Lancaster nel Regno Unito. Quel set di dati è semplicemente una serie di numeri, come ad esempio:

T1: 1996-03-18 00-00-00 : 13.4070294784581, 14.7250566893424, ecc.

La prima parte è ovviamente la data e l’ora per “T1”, che rappresenta il primo momento nel tempo, e ciò che segue sono importi (separati da punti, non da virgole, come nel caso della notazione europea). La sfida per una rete neurale è prevedere, dati migliaia o addirittura milioni di tali elementi, cosa succederà nel prossimo momento nel tempo dopo l’ultimo esempio della serie, ovvero quanto verrà prelevato dai clienti domani.

Inoltre: Questa nuova tecnologia potrebbe mandare in fumo GPT-4 e tutto ciò che gli assomiglia

Gli autori spiegano: “Non solo LLMTime è in grado di generare completamenti plausibili delle serie temporali reali e sintetiche, ma riesce a ottenere probabilità maggiori […] nella valutazione zero-shot rispetto ai modelli specifici per le serie temporali […]” che sono stati creati per decenni.

Il programma LLMtime trova dove si trova un numero in una distribuzione, in un distintivo pattern di ricorrenza di numeri, per stabilire se una sequenza rappresenta uno dei pattern comuni come “esponenziale” o “Gaussiano”.

Tuttavia, uno dei limiti dei grandi modelli di linguaggio, come indicato da Gruver e dal suo team, è che possono elaborare solo una certa quantità di dati alla volta, nota come “finestra di contesto”. Per gestire serie temporali sempre più grandi, i programmi avranno bisogno di espandere quella finestra di contesto a un numero maggiore di token. Questo è un progetto che viene esplorato da numerose parti, come ad esempio il team Hyena presso l’Università di Stanford e il MILA Institute for AI in Canada e Microsoft, tra gli altri.

Inoltre: Microsoft, TikTok danno all’IA generativa una sorta di memoria

La domanda ovvia è perché un grande modello di linguaggio dovrebbe essere in grado di prevedere i numeri. Come notano gli autori, per qualsiasi sequenza di numeri come i prelievi dal bancomat, ci sono “un numero arbitrario di regole di generazione che sono coerenti con l’input.” Traduzione: ci sono così tante ragioni per cui quelle particolari sequenze di numeri potrebbero apparire che sarebbe difficile indovinare quale sia la regola sottostante che li spiega.

La risposta è che GPT-3 e suoi simili trovano le regole più semplici tra tutte quelle possibili. “LLM può fare previsioni efficaci perché preferisce completamenti derivati da regole semplici, adottando una forma del rasoio di Occam,” scrivono Gruver e il suo team, facendo riferimento al principio di parsimonia.

A volte il programma GPT-4 si perde quando cerca di ragionare su quale sia il pattern di una serie temporale, dimostrando di non “capire” effettivamente la serie temporale nel senso tradizionale.

Ciò non significa che GPT-3 capisca davvero ciò che sta accadendo. In un secondo esperimento, Gruver e il suo team hanno sottoposto a GPT-4 (il successore più potente di GPT-3) un nuovo set di dati creati utilizzando una particolare funzione matematica. Hanno chiesto a GPT-4 di dedurre la funzione matematica che ha prodotto la serie temporale, per rispondere alla domanda “se GPT-4 può spiegare a parole la sua comprensione di una determinata serie temporale”, scrive Gruver e il suo team.

Hanno scoperto che GPT-4 era in grado di indovinare la funzione matematica meglio della casuale, ma ha prodotto alcune spiegazioni sbagliate. “Il modello a volte fa deduzioni errate sul comportamento dei dati che ha visto o sul comportamento atteso delle funzioni candidate.” In altre parole, anche quando un programma come GPT-4 può fare bene nel prevedere la prossima cosa in una serie temporale, le sue spiegazioni finiscono per essere “allucinazioni”, con la tendenza a offrire risposte errate.

Inoltre: Implementare l’IA nell’ingegneria del software? Ecco tutto quello che devi sapere

Gruver e il suo team sono entusiasti di come le serie temporali si adattino a un futuro multimodale per l’IA generativa. “Presentare la previsione delle serie temporali come generazione di linguaggio naturale può essere considerato un altro passo verso l’unificazione di più capacità all’interno di un singolo modello grande e potente, in cui la comprensione può essere condivisa tra molte attività e modalità”, scrivono nella sezione conclusiva.

Il codice per LLMTime è pubblicato su GitHub.