Chain-of-Thought Prompting
Il prompting a catena di pensiero (CoT) induce un modello linguistico a esplicitare i passaggi intermedi del ragionamento prima di rispondere, aumentando la precisione nei problemi con più passaggi.
Il prompting con catena di ragionamento (CoT) è una tecnica di progettazione dei prompt in cui un modello linguistico di grandi dimensioni (LLM) esplicita i passaggi intermedi del ragionamento prima di fornire la risposta finale. Invece di passare direttamente da una domanda a "9", il modello scrive "23 - 20 = 3 e 3 + 6 = 9" e fornisce la risposta alla fine. Jason Wei e i suoi colleghi di Google hanno introdotto la tecnica nell'articolo del 2022 Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. Con otto esempi svolti nel prompt, PaLM 540B è passato dal 17,9% al 56,9% su GSM8K, un benchmark di problemi matematici testuali di livello scolastico, superando il precedente risultato migliore del 55%, ottenuto da un GPT-3 perfezionato e abbinato a un verificatore addestrato separatamente.
Come funziona il prompting con catena di ragionamento#
Un LLM genera testo un token alla volta e ogni token attraversa un numero fisso di livelli della rete. Se la risposta a una domanda dipende da diversi passaggi, il modello deve svolgere tutto il lavoro prima di scrivere il primo token della risposta. Quando il modello esplicita i passaggi, ogni risultato intermedio entra nella finestra di contesto e condiziona tutti i token successivi; i problemi più difficili richiedono quindi più token, e più calcolo, prima che compaia la risposta.
Il CoT few-shot inserisce nel prompt alcuni esempi, ognuno composto da una domanda seguita da una soluzione svolta; il modello imita quel formato per la nuova domanda, un caso di apprendimento few-shot a partire dagli esempi presenti nel prompt. Questo scambio, tratto dalla Figura 1 dell'articolo di Wei e colleghi, mostra il formato. La prima risposta è l'esempio inserito nel prompt e la seconda è la risposta del modello:
Q: Roger has 5 tennis balls. He buys 2 more cans of tennis balls. Each can has 3 tennis balls. How many tennis balls does he have now?
A: Roger started with 5 balls. 2 cans of 3 tennis balls each is 6 tennis balls. 5 + 6 = 11. The answer is 11.
Q: The cafeteria had 23 apples. If they used 20 to make lunch and bought 6 more, how many apples do they have?
A: The cafeteria had 23 apples originally. They used 20 to make lunch. So they had 23 - 20 = 3. They bought 6 more apples, so they have 3 + 6 = 9. The answer is 9.Con lo stesso esempio ridotto a "The answer is 11.", il modello ha risposto "The answer is 27." alla domanda sulla mensa.
Il CoT zero-shot non richiede esempi. Takeshi Kojima e i suoi colleghi hanno scoperto che basta aggiungere "Let's think step by step" a una domanda per attivare una catena di ragionamento esplicita: con InstructGPT (text-davinci-002), la frase ha portato l'accuratezza zero-shot sul benchmark MultiArith dal 17,7% al 78,7% e quella su GSM8K dal 10,4% al 40,7%, come riportato in Large Language Models are Zero-Shot Reasoners.
Quando la catena di ragionamento è utile#
I miglioramenti dipendono dalle dimensioni del modello e dall'attività. Wei e colleghi descrivono il CoT come una capacità emergente legata alle dimensioni: i miglioramenti sono comparsi solo nei modelli con circa 100 miliardi di parametri, mentre i modelli più piccoli "producevano catene di ragionamento scorrevoli ma illogiche" e ottenevano risultati inferiori rispetto al prompting standard. I maggiori miglioramenti riguardavano problemi a più passaggi di aritmetica, ragionamento di buon senso e ragionamento simbolico. Su SingleOp, un insieme di problemi aritmetici a un solo passaggio, il cambiamento è stato negativo o molto limitato.
Campionare diverse catene è più efficace che usarne una sola. Nella self-consistency, Xuezhi Wang e i suoi colleghi campionano percorsi di ragionamento diversi con il campionamento nucleus o per temperatura e mantengono la risposta su cui concorda il maggior numero di percorsi; così l'accuratezza su GSM8K è aumentata di 17,9 punti percentuali rispetto a una singola catena greedy. Ogni catena aggiuntiva genera altri token, quindi CoT e self-consistency scambiano latenza di inferenza e costi con una maggiore accuratezza.
Le pipeline visione-linguaggio usano lo stesso approccio con le evidenze visive. In Ultralytics Platform Agents, un blocco LLM riceve un'immagine insieme ai rilevamenti YOLO26 dei blocchi precedenti; un prompt con catena di ragionamento può quindi guidare un modello visione-linguaggio nell'esame degli oggetti rilevati uno alla volta, prima di formulare un giudizio sulla scena.
Modelli di ragionamento e fedeltà#
I modelli di ragionamento, come o1 di OpenAI, pubblicato nel settembre 2024, sono addestrati con l'apprendimento per rinforzo per produrre una lunga catena di ragionamento prima di ogni risposta, quindi il comportamento non dipende più dal prompt. Le buone pratiche di ragionamento di OpenAI consigliano agli sviluppatori di evitare istruzioni come "think step by step" con questi modelli, perché potrebbero non essere utili e talvolta peggiorare i risultati.
Una catena esplicita sembra anche una spiegazione della risposta, perciò è facile interpretarla come IA spiegabile. Miles Turpin e i suoi colleghi hanno dimostrato che può rappresentare in modo errato la vera causa in Language Models Don't Always Say What They Think: quando gli esempi few-shot venivano riordinati in modo che l'opzione corretta fosse sempre "(A)", GPT-3.5 e Claude 1.0 spostavano le risposte verso "(A)" e scrivevano catene che le giustificavano senza menzionare l'ordine degli esempi. Fattori distorsivi come questo hanno ridotto l'accuratezza fino al 36% su 13 attività BIG-Bench Hard. Catene plausibili ma errate sono una fonte di allucinazioni negli LLM.
Catena di ragionamento e tecniche correlate#
- Concatenamento dei prompt: suddivide un'attività tra diverse chiamate al modello; il codice passa ogni output al prompt successivo. Il CoT avviene all'interno di una singola chiamata.
- Albero dei pensieri (ToT): Genera diversi passaggi candidati a ogni punto, li valuta e cerca nell'albero risultante con backtracking, mentre CoT segue un unico percorso.
- Prompting ReAct: Alterna passaggi di ragionamento ad azioni come ricerche o chiamate a strumenti, quindi reinserisce i risultati nella catena.
- Catena di verifica (CoVe): Fa sì che il modello prepari una risposta, si ponga domande di verifica, risponda in modo indipendente e riveda la bozza.
- Ragionamento latente: Esegue il ragionamento intermedio negli stati nascosti del modello anziché in token scritti, quindi non è visibile alcuna catena.










