Cos'è ReWOO? Il framework di IBM per LLM più economici e precisi
A cura di David Zax, Staff Writer, IBM Think
ReWOO (abbreviazione di «reasoning without observation», ovvero «ragionamento senza osservazione») è un framework che rende i grandi modelli linguistici (LLM) più convenienti e accurati in determinate applicazioni di ragionamento complesse. I modelli che utilizzano ReWOO si impegnano in un processo di ragionamento attorno a un problema prima di tentare di risolverlo, il che migliora l'efficienza, la precisione e la robustezza in caso di guasto dello strumento.
L'evoluzione dei grandi modelli linguistici
I primi LLM, come i modelli GPT-1 e GPT-2 di OpenAI, fornivano risposte dirette. La successiva ondata di modelli a catena di pensiero (Chain of Thought), iniziata nel 2022, ha aggiunto un elemento di ragionamento esternalizzato. In pratica, i modelli "pensavano ad alta voce" mentre arrivavano a una risposta, migliorando così la precisione e l'esplicabilità.
Successivamente, è emersa una generazione di modelli linguistici aumentati (sistemi ALM) e di agenti IA, che hanno aggiunto capacità di richiamo di strumenti a questo ragionamento. I primi framework ALM, come ReAct, seguono uno schema di pensiero-azione-osservazione: il sistema osserva ciò che genera prima di ricominciare a riflettere su di esso. Sebbene generalmente efficaci, i framework come ReAct possono registrare un elevato consumo di token, poiché ogni successivo richiamo di strumento deve includere tutta la cronologia della conversazione che lo precede, un costo che si accumula a ogni passaggio.
Come ReWOO si differenzia da ReAct
ReWOO si libera dello schema pensiero-azione-osservazione dissociando il ragionamento dalle osservazioni esterne. Questo permette al modello di pianificare la sua catena di ragionamento internamente prima di invocare selettivamente gli strumenti o recuperare informazioni. Questa separazione evita inutili "andirivieni" e permette al modello di mantenere il suo piano per tutta la durata del compito.
Questa innovazione rappresenta un passo significativo nell'evoluzione dei modelli di IA, offrendo un approccio più snello e mirato alla risoluzione di problemi complessi. La capacità di un LLM di elaborare una strategia completa prima di eseguire azioni concrete non solo ottimizza il processo, ma apre anche nuove possibilità per l'applicazione di queste tecnologie in scenari ad alta intensità di dati e risorse.
Come funziona ReWOO?
ReWOO utilizza tre moduli distinti, che dividono e gestiscono compiti complessi. Questi moduli collaborano per assicurare che il processo di ragionamento sia efficiente e strutturato:
Il modulo Planner
Il Planner stabilisce una "scheda tecnica" o un piano dettagliato che indica come il modello si comporterà in base al prompt dell'utente. Questo modulo è responsabile della formulazione della strategia complessiva, definendo i passaggi necessari per raggiungere l'obiettivo richiesto. Il suo ruolo è fondamentale per impostare la direzione del ragionamento, garantendo che le azioni future siano allineate con le intenzioni iniziali e con la complessità del problema da risolvere.
Il modulo Worker
Il Worker esegue il piano stabilito dal Planner. La sua funzione principale è quella di richiamare strumenti esterni (senza ripetere le costose chiamate API LLM per "riflettere", come invece accade in ReAct). Questo modulo è il braccio operativo di ReWOO, incaricato di interagire con le risorse esterne e di raccogliere le prove necessarie per la risoluzione del problema. L'efficienza del Worker deriva dalla sua capacità di agire in modo mirato, seguendo una pianificazione predefinita e minimizzando il consumo di risorse inutili.
Il modulo Solver
Il Solver recupera i piani e le prove raccolte dal Worker, sintetizzando infine la risposta finale. Questo modulo è il punto di arrivo del processo, dove tutte le informazioni elaborate e le azioni eseguite vengono consolidate in una soluzione coerente e completa. Il Solver non solo assembla i pezzi del puzzle, ma si assicura anche che la risposta sia accurata e risponda pienamente alla richiesta iniziale dell'utente, fornendo una conclusione ben ragionata.
Se la differenza nell'approccio può sembrare minima, i risultati sono spettacolari: ReWOO ha prestazioni pari (o leggermente superiori) a ReAct secondo alcuni benchmark, utilizzando circa l'80% in meno di token. (Un token è un'unità semantica per i modelli di IA; più ce ne sono, più elevato è il costo operativo.) Per esempio, sul set di dati HotpotQA (una batteria di domande utilizzata per valutare i sistemi di IA), ReWOO raggiunge una precisione del 42,4% utilizzando 2.000 token, mentre ReAct raggiunge una precisione del 40,8% con 10.000 token.
Soprattutto, questo guadagno di efficienza dei token rende i modelli di ragionamento economicamente sostenibili su larga scala. La riduzione dei costi operativi è un fattore cruciale per l'adozione diffusa di queste tecnologie in ambito aziendale e di ricerca, permettendo di impiegare risorse computazionali in modo più efficace e di estendere le capacità degli LLM a un pubblico più ampio.
ReAct e ReWOO: un esempio pratico
Per illustrare la differenza tra questi due comuni framework di IA generativa, esaminiamo un caso d'uso specifico. Consideriamo i diversi modi in cui i sistemi ReAct e ReWOO affronterebbero la domanda di un utente che chiede aiuto per preparare i bagagli per un viaggio che include un volo da New York a Chicago domani e un viaggio in auto a Milwaukee il giorno successivo.
L'approccio ReAct
Il sistema ReAct scomporrebbe il problema in tre cicli di pensiero-azione-osservazione prima di fornire la sua risposta finale. Nel primo ciclo, penserebbe: "Devo controllare il meteo per domani a New York", utilizzando la generazione aumentata dalla ricerca (RAG) per cercare queste informazioni (un'azione), e infine osserverebbe il risultato. Questi risultati servirebbero poi come punto di partenza per un altro ciclo pensiero-azione-osservazione in tre fasi per il meteo a Chicago. In terzo luogo, farebbe lo stesso per il meteo a Milwaukee. Infine, raccoglierebbe le sue conclusioni in un output (ad esempio, "Prevedere più strati, poiché fa più freddo in ogni località").
Questo processo, sebbene efficace, è intrinsecamente sequenziale e ripetitivo, con ogni nuova query che richiede una riconsiderazione dell'intera cronologia. Questo contribuisce all'elevato consumo di token, poiché il modello deve "riflettere" su ogni passo e includere il contesto precedente in ogni iterazione, rendendo l'operazione meno efficiente man mano che il problema si complica.
L'approccio ReWOO
Il sistema di tipo ReWOO, d'altra parte, guadagnerebbe in efficienza eseguendo tutta la pianificazione in anticipo. Innanzitutto, pianificherebbe come segue: "Devo sapere il meteo di domani a New York, il meteo di domani a Chicago e il meteo a Milwaukee il giorno successivo." Successivamente, richiamerebbe le API meteorologiche in una sequenza serrata (o potenzialmente in parallelo), senza "riflettere" su questo passaggio noioso. Infine, risolverebbe il problema raccogliendo le prove e producendo una risposta finale.
La capacità di ReWOO di formulare un piano completo prima di intraprendere qualsiasi azione esterna gli consente di ottimizzare l'esecuzione, riducendo significativamente il numero di interazioni e il consumo di token. Questo lo rende particolarmente vantaggioso per compiti dove le dipendenze e le informazioni necessarie possono essere previste e strutturate in anticipo, portando a una maggiore rapidità e costi inferiori.
Vantaggi e svantaggi di ReWOO
Oltre al risparmio di token, ReWOO dimostra un vantaggio aggiuntivo: la robustezza in caso di guasto di uno strumento. Se uno strumento non funziona con ReAct, ad esempio, il sistema può ritrovarsi in un ciclo infinito (poiché l'LLM interrogherebbe ripetutamente un database guasto per ottenere il meteo a Chicago, ad esempio).
ReWOO è più agile. Anche se uno strumento non restituisce l'elemento di prova richiesto, il piano generale è comunque in atto: il modulo Worker può progredire e il modulo Solver sarà in grado di fornire almeno una risposta parziale. Nell'esempio del meteo, invece di bloccarsi in un ciclo infinito o eccessivo interrogando un database sul meteo a Chicago, il modulo Solver restituirebbe almeno una risposta informando l'utente sul meteo a New York e a Milwaukee (supponendo che il modulo Worker sia in grado di recuperare questi elementi), il che potrebbe in ultima analisi essere sufficiente per soddisfare le esigenze dell'utente.
Nonostante i suoi vantaggi, ReWOO non è un framework assolutamente superiore; è semplicemente migliore per alcuni tipi di compiti, in particolare quando i tipi e le quantità di prove necessarie sono regolari e prevedibili. Dove ReWOO fallisce è di fronte a problemi meno prevedibili o meno strutturati che richiedono creatività, esplorazione o improvvisazione. Se eccelle in presenza di "incognite note", ReWOO fallisce di fronte alle "incognite ignote".
Per esempio, ReWOO non sarebbe una soluzione ottimale per il debug del codice Python, un processo esplorativo e iterativo dove ogni correzione può generare nuovi errori e nuovi indizi, diventando rapidamente obsoleti. Un framework più adattabile come ReAct, sebbene meno economico in termini di token in astratto, sarebbe in definitiva più adatto a un problema del genere, grazie alla sua capacità di adattare il proprio ragionamento in tempo reale in base alle nuove osservazioni.
Come implementare ReWOO?
Come per la maggior parte dei sistemi e framework di IA, sono disponibili diversi approcci per l'implementazione dei workflow ReWOO:
Implementazione ufficiale
Un'implementazione "ufficiale" del framework, descritta per la prima volta dal ricercatore Binfeng Xu e dai suoi colleghi nel 2023, è disponibile su Github. Questo offre un punto di partenza robusto per gli sviluppatori che desiderano integrare ReWOO nei loro progetti.
Framework di IA generativa
I framework di IA generativa come LangGraph (che chiama i suoi moduli "nodi") e LangChain sono anch'essi molto utilizzati. Questi strumenti forniscono astrazioni e componenti predefiniti che semplificano l'integrazione di architetture di ragionamento complesse come ReWOO, consentendo agli sviluppatori di concentrarsi sulla logica applicativa piuttosto che sull'implementazione a basso livello.
IBM Granite
Un metodo di ragionamento a più fasi di tipo ReWOO è disponibile anche con IBM Granite. Questo dimostra l'impegno di IBM nell'integrare e promuovere tecniche avanzate di ragionamento all'interno delle sue offerte di IA, fornendo agli utenti strumenti potenti per affrontare sfide complesse.
Approccio concettuale
A un livello concettuale, è possibile iniziare con ReWOO in qualsiasi ambiente LLM utilizzando un prompt ben progettato, che incoraggi semplicemente l'IA a elaborare un piano passo dopo passo per rispondere alle domande successive prima di passare a un input di strumento. Questo approccio basato sul prompt permette una flessibilità notevole, rendendo ReWOO accessibile anche in assenza di implementazioni di codice specifiche, purché l'LLM sia sufficientemente capace di seguire istruzioni complesse.
In sintesi, ReWOO rappresenta un'evoluzione significativa nel campo degli LLM, offrendo un modo più efficiente, economico e robusto per affrontare compiti di ragionamento complessi. Sebbene non sia la soluzione universale, la sua capacità di ottimizzare l'uso dei token e di gestire i guasti degli strumenti lo rende uno strumento prezioso in molte applicazioni di intelligenza artificiale, spingendo in avanti i limiti di ciò che i modelli linguistici possono realizzare.