A parlare di un segreto dietro i nuovi modelli generativi presentati da OpenAI, è Jason Wei, uno dei ricercatori più importanti in forze presso la società guidata da Sam Altman. Su molte testate si descrivono i nuovi modelli OpenAI o1 come un’intelligenza artificiale (IA) che adesso può finalmente ragionare, facendo ritenere che siano stati messi a punto processi ancora più simili a quelli che caratterizzano il cervello umano.
È davvero così? I modelli OpenAI o1 possono superare l’intelligenza umana emulando le capacità cognitive umane? Come spiegato nell’articolo, è bene non scadere in considerazioni approssimative che poco hanno a che fare con il funzionamento reale dei Large Language Model (LLM) odierni.
Cosa sono i modelli OpenAI o1?
Il 12 settembre 2024, OpenAI ha presentato due nuovi modelli generativi in anteprima: o1-preview e o1-mini. Il loro sviluppo era precedentemente noto con il nome in codice “strawberry”. Non rappresentano semplicemente un’evoluzione dei precedenti GPT-4o, utilizzabili anche nella versione free del chatbot ChatGPT, ma sono annunciati come prodotti “rivoluzionari”.
Perché? Perché introducono una vasta gamma di compromessi in termini di costi e prestazioni, bilanciati da un significativo miglioramento delle capacità di “reasoning“. In italiano, leggasi appunto “ragionamento“.
Modelli capaci di pensare in modo strutturato e riflessivo
I nuovi modelli OpenAI chiamati o1 rappresentano un’evoluzione significativa nel settore dell’intelligenza artificiale, con un focus particolare sul ragionamento avanzato. La denominazione o1 sta per “resetting the counter back to 1“, suggerendo un nuovo inizio e un livello di capacità innovativo rispetto ai modelli precedenti come GPT-4o.
È la prima volta che accade: OpenAI introduce il concetto di chain-of-thought come base dei nuovi modelli o1. Il termine chain-of-thought può essere tradotto in italiano come catena di ragionamento o concatenazione di pensieri.
L’approccio chain-of-thought non compare all’improvviso, ma è frutto di precedenti ricerche: a questo proposito, ricordiamo il contenuto del documento scientifico “Large Language Models are Zero-Shot Reasoners” (anno 2022), firmato da Google Research, ex Google Brain e Università di Tokyo.
OpenAI ha adottato l’apprendimento per rinforzo per migliorare le capacità di ragionamento dei modelli, insegnando loro a correggere errori, scomporre problemi complessi e sperimentare strategie alternative. Questo processo di affinamento porta il modello a risolvere prompt complicati, che richiedono più di una semplice predizione token-per-token. E infatti si parla dell’introduzione di reasoning tokens (vedere più avanti).
Qual è la ricetta segreta? I dettagli tecnici emersi dall’analisi dell’API di OpenAI o1
La documentazione dell’API (Application Programming Interface) di OpenAI o1 offre informazioni interessanti su questi nuovi modelli e sulle loro limitazioni.
Le API di OpenAI, com’è noto, permettono agli sviluppatori di integrare i vari modelli generativi nelle applicazioni: in questo modo, diventa molto semplice arricchire i propri progetti con funzionalità evolute, adattabili alle specifiche esigenze.
Nel caso dei modelli o1, essi sono attualmente riservati agli account di livello 5, con una spesa minima di 1.000 dollari. Non supportano i prompt di sistema, lo streaming, l’uso di strumenti o le immagini (ci torniamo subito). I tempi di risposta possono variare da pochi secondi a diversi minuti, a seconda della complessità del problema.
Il mancato supporto per lo streaming si riferisce al flusso delle risposte: i modelli o1 non inviano la risposta progressivamente man mano che è generata. In altri modelli, lo streaming consente di ricevere una parte della risposta mentre il modello sta ancora elaborando il resto. In questo caso, la risposta deve essere elaborata nella sua interezza, per poi essere passata all’utente. Questa è la conseguenza più evidente delle abilità di reasoning e dell’utilizzo dei token di ragionamento, dei quali parleremo tra poco.
Alcuni modelli GPT offrono la possibilità di eseguire comandi specifici o chiamare API durante l’elaborazione del prompt: questa funzionalità non è al momento presente nei modelli o1. Inoltre, i modelli o1 non sono ancora multimodali quindi non accettano ad esempio immagini all’interno dell’input.
Una caratteristica particolarmente interessante è proprio l’introduzione dei “reasoning tokens“, ossia token nascosti che non sono visibili nella risposta dell’API, ma sono comunque conteggiati e fatturati. Questi token giocano un ruolo cruciale nell’elaborazione del ragionamento del modello.
Token di ragionamento nascosti e sicurezza
OpenAI ha deciso di nascondere i reasoning tokens per due ragioni principali: la prima è legata alla sicurezza e alla conformità con le policy. Il modello deve essere libero di esprimere i propri “processi di pensiero” senza compromettere la sicurezza. La seconda è legata al vantaggio competitivo, per evitare che altri modelli possano essere addestrati utilizzando i dati derivati dal “chain-of-thought“.
Tornando alla dichiarazione dell’ingegner Jason Wei, egli dice che non può rivelare dettagli tecnici specifici ma vuole sottolineare i risultati impressionanti ottenuti da un modello come o1-mini.
Nonostante le sue dimensioni ridotte (si tratta sempre di uno “small model“…), o1-mini è riuscito a ottenere un punteggio superiore al 60% in una competizione di matematica di alto livello chiamata “AIME” (American Invitational Mathematics Examination).
AIME è un test estremamente complesso ed evoluto, riservato in primis agli studenti in possesso di un’ottima preparazione in matematica. Il fatto che un modello relativamente piccolo sia riuscito a ottenere un giudizio così positivo è sorprendente e inusuale, poiché generalmente si presume che solo modelli di grandi dimensioni e di complessità evoluta possano raggiungere tali performance in contesti così avanzati.
Il processo di pensiero interno nei modelli generativi
Continuiamo a scrivere “pensiero” e “ragionamento” tra virgolette quando ci riferiamo all’intelligenza artificiale e ai LLM, così come definiti in apertura. Sì, perché un modello non pensa, non c’è una vera “comprensione” dei testi e del contesto, ma piuttosto una sofisticata manipolazione di rappresentazioni numeriche.
Togliamoci quindi dalla testa che i modelli OpenAI o1, per quanto avanzati, possano davvero ragionare. O almeno non lo fanno nel modo in cui di solito ragiona un essere umano.
Ogni modello generativo, e gli OpenAI o1 non sono esclusi, lavorano creando, gestendo e osservando complesse associazioni di numeri e approssimazioni basate su vasti set di dati. Le risposte prodotte a valle di un input (prompt) dell’utente sono generate cercando di selezionare i token più probabili con cui continuare le frasi ricevute in ingresso. Tra l’altro i token non sono semplici parole: possono esserlo, certo, ma possono essere anche porzioni di esse o l’unione di più termini diversi, simboli, numeri, spazi.
Il concetto di chain-of-thought mira a facilitare il “ragionamento” multi-step: consiste nel presentare un esempio di risposta passo-passo per permettere al modello di scomporre un problema complesso in passi più semplici, migliorando così le prestazioni su compiti di ragionamento complesso, come aritmetica, logica simbolica e ragionamento logico.
Il documento elaborato da Google Research e dagli accademici dell’Università di Tokyo, a cui OpenAI sembra essersi ispirata (come nel caso di Attention Is All You Need e dei Transformer), introduce lo schema Zero-shot-CoT (ossia Zero-shot chain-of-thought): invece di fornire esempi specifici, si utilizza una semplice frase di attivazione come “Let’s think step by step” per guidare il modello a generare un percorso di ragionamento coerente, anche senza alcun esempio precedente. Questo metodo si è dimostrato efficace su diversi task di ragionamento, migliorando significativamente le performance rispetto ai prompt standard.
Il ragionamento Zero-shot-CoT
I portavoce di OpenAI sono rimasti piuttosto abbottonati sulla “ricetta segreta” dei loro nuovi modelli o1. Tuttavia, i riferimenti ai documenti che abbiamo trovato sono inequivocabili.
OpenAI ha fornito alcuni esempi pratici di utilizzo di o1, tra cui la risoluzione di cruciverba, la creazione di script Bash, lo sviluppo di programmi e videogiochi, che dimostrano la capacità del modello di ragionare su più livelli.
Nei prompt tradizionali, il modello di linguaggio riceve una domanda e produce direttamente una risposta. Questo schema fallisce con i compiti complessi che richiedono più passaggi per arrivare alla soluzione corretta.
Con il Chain-of-Thought prompting, si fornisce al modello un esempio di ragionamento passo-passo, aiutandolo a generare un percorso di pensiero coerente. Il processo aiuta il modello a “pensare” in modo più simile a come farebbe un essere umano quando affronta problemi complessi (anche se tecnicamente il paragone non regge, perché tutto negli LLM si basa sempre su concetti matematico-statistici). Per risolvere un problema aritmetico multi-step, invece di dare solo la risposta finale, il modello segue una serie di passaggi logici per arrivare alla soluzione.
La già citata evoluzione Zero-shot-CoT sembra essere alla base del funzionamento di OpenAI o1 perché semplici frasi di attivazione, trasferite “dietro le quinte”, innescano attività di reasoning migliorando le abilità cognitive.
D’altra parte lo stesso testo “Large Language Models are Zero-Shot Reasoners” sosteneva che su dataset aritmetici come MultiArith e GSM8K, il metodo Zero-shot-CoT ha portato a miglioramenti impressionanti, aumentando l’accuratezza dal 17,7% al 78,7% e dal 10,4% al 40,7%, rispettivamente.
La differenza rispetto al recente passato dei modelli generativi è tutta qui: ricordate l’articolo dedicato agli errori commessi da ChatGPT? Ecco, con l’approccio chain-of-thought molti di essi sono superati.