Qualcosa di Pensieri nel LLM Prompting Una panoramica del Ragionamento Strutturato nel LLM

Pensieri nel LLM Prompting panoramica del Ragionamento Strutturato nel LLM

Chain-of-Thoughts (CoT), Tree-of-Thoughts (ToT), Graph-of-Thoughts (GoT), e oltre, … Cosa sono questi pensieri?

“Tree of Thought”, generato da Midjourney

Nell’era degli smartphone e delle case intelligenti, immagina un’intelligenza artificiale che non si limiti a seguire istruzioni, ma pensi effettivamente, affrontando la complessa logica come facciamo noi. Sembra fantascienza, vero? Tuttavia, se hai giocato con ChatGPT, probabilmente hai già sperimentato questa sorprendente capacità di persona. Anche Hector Levesque, una figura rinomata nell’intelligenza artificiale, è rimasto così stupito che una volta ha commentato al leggendario Geoffrey Hinton: “Come può un metodo così stupido (riferendosi alle reti neurali) occuparsi del ragionamento?”

Mentre questa storia sottolinea gli enormi progressi nell’intelligenza artificiale, la vera essenza di questi progressi si trova nella danza intricata dei Grandi Modelli Linguistici (LLM) con il ragionamento. Il punto di ingresso in questa danza è l’Ingegneria delle Prompt – l’arte e la scienza dell’ottimizzazione dell’input testuale fornito ai LLM per ottenere risultati desiderati. Al suo nucleo, si tratta di comprendere le complessità di come i modelli linguistici come ChatGPT, Bard, Claude, LLama e altri rispondano a diverse prompt, e poi sfruttare questa conoscenza per ottenere risultati specifici.

Pensa ai LLM come a vasti serbatoi di conoscenza. Il modo in cui formuliamo la domanda o l’affermazione (la prompt) determina come attingiamo a quel serbatoio. Proprio come gli esseri umani possono offrire risposte diverse in base a come viene posta una domanda, anche i LLM possono dare risposte diverse in base all’input.

In questo articolo, riceverai una panoramica concisa di vari framework di ingegneria delle prompt progettati per migliorare il ragionamento dei LLM, tra cui:

  • Chain-of-Thought
  • Chain-of-Thought-Self-Consistency
  • Tree-of-Thoughts
  • Graph-of-Thoughts
  • Algorithm-of-Thoughts
  • Skeleton-of-Thought
  • Program-of-Thoughts

Chain-of-Thought (CoT)

Invece di fornire direttamente una risposta, fornisci al modello linguistico esempi di ragionamento intermedio per guidare la sua risposta.

La sollecitazione di Chain-of-Thought (CoT) è stata riconosciuta come una delle tecniche pionieristiche e più impattanti di ingegneria delle prompt, che migliorano i processi decisionali nei grandi modelli linguistici. Diversa dalle metodologie di sollecitazione convenzionali che enfatizzano le interazioni input-output dirette, CoT costringe un modello a suddividere il suo ragionamento in passaggi intermedi. Questo metodo richiama i processi cognitivi umani in cui sfide complesse vengono suddivise in componenti più piccoli e gestibili.

Per illustrare, considera un problema matematico: “Roger possiede 5 palline da tennis e successivamente acquista 2 lattine di palline da tennis, ognuna contenente 3 palline. Quante palline da tennis possiede ora?”. Al posto di dedurre direttamente la risposta come 11, una persona potrebbe ragionare: “Inizialmente, Roger ha 5 palline. Il totale combinato di 2 lattine, ognuna contenente 3 palline, ammonta a 6 palline. Sommando i valori, 5 + 6, si ottengono 11.”. Integrare tale ragionamento analitico passo dopo passo nella prompt di input non solo aumenta l’accuratezza della risposta del modello, ma lo fa anche senza richiedere set di dati di addestramento aggiuntivi o modifiche alla configurazione fondamentale del modello.

Chain-of-Thought Prompting, fonte: Wei et al. (2022)

Chain-of-Thought-Self-Consistency (CoT-SC)

Costruisci più catene di pensiero, valuta ciascuna di esse e seleziona infine la catena più efficace e coerente.

Un ulteriore sviluppo del framework Chain of Thought è CoT-Self-consistency. Questo metodo avvia percorsi di ragionamento multipli contemporaneamente in risposta a una domanda e applica meccanismi di pesatura prima di finalizzare una risposta. Questo approccio assomiglia alle tecniche di insieme osservate nell’apprendimento automatico tradizionale, ma viene applicato alle sequenze di pensieri nei grandi modelli linguistici.

Albero dei Pensieri (ToT)

Approfondisci le catene di pensiero in un formato a albero. Questo consente di tornare indietro, esplorare diverse linee di ragionamento che derivano da un’unica idea principale.

L’Albero dei Pensieri (ToT) offre un quadro di riferimento più strutturato per il ragionamento LLM, scomponendo problemi complessi in parti più gestibili. A differenza del CoT che ragiona in una catena collegata, il ToT organizza la sua strategia di risoluzione dei problemi in un formato ad albero. Ogni nodo, chiamato ‘pensiero’, è una sequenza coerente di linguaggio che serve come passo verso la risposta finale. Suddividendo i problemi in queste unità discrete di ‘pensiero’ – da una breve serie di parole in un cruciverba a un componente di un’equazione matematica – il ToT assicura che ogni fase del problema venga affrontata in modo sistematico.

Ragionamento ToT nel gioco del 24, fonte: Yao et al. (2023)

La forza operativa del ToT risiede nella sua organizzazione metodica. Innanzitutto, il sistema scompone un problema e, dal suo stato attuale, genera una lista di possibili passaggi di ragionamento o candidati ‘pensieri’. Questi pensieri vengono quindi valutati, con il sistema che valuta la probabilità che ognuno di essi porti alla soluzione desiderata. Algoritmi di ricerca standard come la ricerca in ampiezza (BFS) e la ricerca in profondità (DFS) vengono utilizzati per navigare in questo albero, aiutando il modello a identificare la sequenza di pensieri più efficace.

L’importanza del ToT deriva dal suo design olistico, dalla sua adattabilità e dalla sua efficienza. La promptizzazione della Catena dei Pensieri può essere considerata un’istanza specifica all’interno del quadro ToT. La sua natura modulare indica che i singoli componenti, dalla suddivisione iniziale di un problema agli algoritmi di ricerca utilizzati, possono funzionare in modo indipendente.

Grafo dei Pensieri (GoT)

Evolvi la struttura ad albero in Grafi Diretti Aciclici. Ciò introduce cicli di autoreferenzialità che possono solidificare una particolare linea di pensiero o aggregare più pensieri in uno coeso.

Il framework del Grafo dei Pensieri (GoT) rappresenta un avanzamento rispetto alle metodologie CoT e ToT. Al centro del framework GoT c’è la concettualizzazione delle idee come vertici in un Grafo Diretto Aciclico (DAG). In questo contesto, ogni vertice corrisponde a un pensiero o una soluzione specifica – che sia preliminare, intermedia o terminale – elicita da uno stimolo d’input. Gli archi diretti all’interno di questo grafo rappresentano l’interdipendenza tra questi pensieri. In particolare, se un arco si estende dal pensiero t1 a t2, significa che t2 è stato concepito basandosi su t1. Questa sistematizzazione consente una molteplicità di pensieri, poiché i nodi possono essere classificati in categorie distinte come “piani” o “risultati”.

Grafo dei Pensieri, fonte: Besta et al. (2023)

La novità del GoT risiede nella sua capacità di applicare trasformazioni a questi pensieri, raffinando ulteriormente il processo di ragionamento. Le trasformazioni cardine comprendono l’Aggregazione, che consente la fusione di diversi pensieri in un’idea consolidata; il Raffinamento, in cui si eseguono iterazioni continue su un singolo pensiero per migliorare la sua precisione; e la Generazione, che facilita la concezione di nuovi pensieri derivanti da quelli esistenti. Tali trasformazioni, con un’enfasi sull’amalgama di percorsi di ragionamento, offrono una prospettiva più complessa rispetto a modelli precedenti come CoT o ToT.

Inoltre, il GoT introduce una dimensione valutativa attraverso il Punteggio e il Ranking. Ogni singolo pensiero, rappresentato da un vertice, viene valutato in base alla sua pertinenza e qualità, facilitato da una funzione di punteggio designata. È importante sottolineare che questa funzione contempla l’intera catena di ragionamento, assegnando punteggi che possono essere contestualizzati rispetto ad altri vertici nel grafo. Il framework dota inoltre il sistema della competenza per gerarchizzare questi pensieri in base ai loro punteggi rispettivi, una caratteristica che si rivela fondamentale nel momento in cui si deve discernere quali idee meritano precedenza o implementazione.

Algoritmo dei Pensieri (AoT)

Mantiene una singola catena di contesto in evoluzione, eliminando la necessità di interrogazioni ridondanti come nel Tree-of-Thought. Esplora un percorso mutevole di ragionamento.

Mentre ToT e GoT affrontano la sfida del ragionamento LLM attraverso meccanismi basati sulla ricerca, producendo una miriade di percorsi di ragionamento in forma di grafico. Tuttavia, la loro forte dipendenza da numerose interrogazioni LLM, talvolta in centinaia per un singolo problema, comporta inefficienze computazionali.

L’Algoritmo dei Pensieri (AoT) offre un metodo innovativo che presenta un percorso di ragionamento dinamico e mutevole. Mantenendo una singola catena di contesto di pensiero in evoluzione, AoT consolida l’esplorazione del pensiero, migliorando l’efficienza e riducendo l’onere computazionale.

Algoritmo dei Pensieri. Ogni casella rappresenta un pensiero distinto. I verdi sono pensieri promettenti mentre i rossi sono meno promettenti. Nota: ToT ha diverse interrogazioni mentre AoT mantiene un singolo contesto, fonte: Sel et al. (2023)

L’ingegno di AoT nasce dall’osservazione che gli LLM, sebbene potenti, talvolta ritornano a soluzioni precedenti quando si trovano di fronte a problemi nuovi ma familiari. Per superare questo problema, AoT assimila esempi in contesto, attingendo da algoritmi di ricerca collaudati nel tempo come la ricerca in profondità (DFS) e la ricerca in ampiezza (BFS). Emulando il comportamento algoritmico, AoT sottolinea l’importanza di ottenere risultati positivi e trarre insegnamenti dagli tentativi falliti.

Il fulcro di AoT risiede nei suoi quattro principali componenti: 1) Scomporre problemi complessi in sottoproblemi digeribili, considerando sia la loro interrelazione che la facilità con cui possono essere affrontati individualmente; 2) Proporre soluzioni coerenti per questi sottoproblemi in modo continuo e ininterrotto; 3) Valutare intuitivamente la fattibilità di ogni soluzione o sottoproblema senza fare affidamento su prompt esterni espliciti; e 4) Determinare i percorsi più promettenti da esplorare o tornare indietro, basandosi su esempi in contesto e linee guida algoritmiche.

Scheletro del Pensiero (SoT)

Genera prima una struttura di risposta, quindi sviluppa parallelamente i dettagli, riducendo il tempo impiegato per generare una risposta completa.

Il paradigma dello Scheletro del Pensiero (SoT) è progettato in modo distintivo non principalmente per aumentare le capacità di ragionamento dei Large Language Models (LLMs), ma per affrontare la sfida cruciale di ridurre al minimo la latenza di generazione end-to-end. La metodologia si basa su un approccio a due fasi che si concentra sulla produzione di una bozza preliminare della risposta, seguita dalla sua espansione completa.

Scheletro del Pensiero, fonte: Ning et al. (2023)

Nella fase iniziale “Fase dello Scheletro”, anziché produrre una risposta esaustiva, il modello è invitato a generare uno scheletro di risposta conciso. Questa rappresentazione abbreviata, ottenuta tramite un template di scheletro attentamente progettato, cattura gli elementi fondamentali della risposta prospettica, stabilendo così una base per la fase successiva.

Nella successiva “Fase di Espansione dei Punti”, l’LLM amplifica sistematicamente ogni componente delineato nello scheletro di risposta. Sfruttando un template di prompt di espansione dei punti, il modello elabora contemporaneamente ogni segmento dello scheletro. Questo approccio dicotomico, che separa il processo generativo in formulazione scheletrica preliminare ed espansione dettagliata parallelizzata, non solo accelera la generazione delle risposte, ma si sforza anche di mantenere la coerenza e la precisione degli output.

Programma dei Pensieri (PoT)

Formulare il ragionamento dietro la risposta alle domande in un programma eseguibile, incorporando l’output dell’interprete del programma come parte della risposta finale.

Il Programma dei Pensieri (PoT) è un approccio unico al ragionamento LLM, anziché generare semplicemente una risposta in linguaggio naturale, PoT richiede la creazione di un programma eseguibile, che può essere eseguito su un interprete di programma, come Python, per produrre risultati tangibili. Questo metodo si distingue dai modelli più diretti, enfatizzando la sua capacità di scomporre il ragionamento in passaggi sequenziali e associare significati semantici alle variabili. Di conseguenza, PoT offre un modello più chiaro, espressivo e concreto di come vengono derivate le risposte, migliorando l’accuratezza e la comprensione, specialmente per domande logiche di tipo matematico in cui sono necessari calcoli numerici.

È importante notare che l’esecuzione del programma di PoT non mira necessariamente alla risposta finale, ma può essere parte del passaggio intermedio per la risposta finale.

Confronto tra CoT e PoT, fonte: Chen et al. (2022)

Nel sempre in evoluzione mondo dell’IA, i framework di ragionamento strutturato come Chain-of-Thought hanno trasformato radicalmente il modo in cui percepiamo e sfruttiamo il potere dei modelli di linguaggio di grandi dimensioni. Rappresentano un cambiamento verso modelli che non solo riproducono informazioni, ma si impegnano anche in un ragionamento intricato, molto simile ai processi cognitivi umani. Guardando avanti, gli orizzonti potenziali sembrano illimitati. Immaginiamo un’IA in grado di generare non solo risposte accurate, ma anche soluzioni robuste e programmabili o con la capacità di visualizzare i suoi processi di pensiero, rendendo la collaborazione tra AI e umani ancora più fluida. Tali progressi, basati sui framework fondamentali esplorati in questo articolo, annunciano un futuro in cui i LLM diventano compagni indispensabili nella risoluzione dei problemi, nella creatività e nelle decisioni, catalizzando un cambiamento di paradigma nella nostra relazione simbiotica con la tecnologia.