You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Prompt-Engineering-Guide/pages/techniques/cot.it.mdx

113 lines
5.3 KiB
Plaintext

# Prompt Chain-of-Thought
1 year ago
8 months ago
import { Callout } from 'nextra/components'
1 year ago
import {Screenshot} from 'components/screenshot'
import COT from '../../img/cot.png'
import ZEROCOT from '../../img/zero-cot.png'
8 months ago
import AUTOCOT from '../../img/auto-cot.png'
1 year ago
8 months ago
## Prompt Chain-of-Thought (CoT)
1 year ago
8 months ago
<Screenshot src={COT} alt="CoT" />
1 year ago
8 months ago
Fonte immagine: [Wei et al. (2022)](https://arxiv.org/abs/2201.11903)
1 year ago
Introdotto in [Wei et al. (2022)](https://arxiv.org/abs/2201.11903), il prompt a catena di pensieri (CoT) consente di ottenere capacità di ragionamento complesse attraverso fasi di ragionamento intermedie. Si può combinare con il prompt few-shot per ottenere risultati migliori su compiti più complessi che richiedono un ragionamento prima di rispondere.
*Prompt:*
```
La somma dei numeri dispari di questo gruppo corrisponde ad un numero pari: 4, 8, 9, 15, 12, 2, 1.
R: Sommando tutti i numeri dispari (9, 15, 1) si ottiene 25. La risposta è Falsa.
La somma dei numeri dispari di questo gruppo è un numero pari: 17, 10, 19, 4, 8, 12, 24.
R: La somma di tutti i numeri dispari (17, 19) risulta 36. La risposta è Corretta.
La somma dei numeri dispari di questo gruppo è un numero pari: 16, 11, 14, 4, 8, 13, 24.
1 year ago
R: La somma di tutti i numeri dispari (11, 13) risulta 24. La risposta è Corretta.
1 year ago
La somma dei numeri dispari di questo gruppo è un numero pari:: 17, 9, 10, 12, 13, 4, 2.
1 year ago
R: La somma di tutti i numeri dispari (17, 9, 13) risulta 39. La risposta è Falsa.
1 year ago
I numeri dispari di questo gruppo si sommano in un numero pari.: 15, 32, 5, 13, 82, 7, 1.
1 year ago
R:
1 year ago
```
*Output:*
```
La somma di numeri dispari (15, 5, 13, 7, 1) risulta 41. La risposta è Falsa.
```
Wow! Possiamo vedere un risultato perfetto quando abbiamo fornito la fase di ragionamento. In effetti, possiamo risolvere questo compito fornendo ancora meno esempi, cioè un solo esempio sembra sufficiente:
*Prompt:*
```
La somma dei numeri dispari in questo gruppo è un numero pari: 4, 8, 9, 15, 12, 2, 1.
R: Sommando tutti i numeri dispari (9, 15, 1) si ottiene 25. La risposta è Falsa.
La somma dei numeri dispari in questo gruppo è un numero pari: 15, 32, 5, 13, 82, 7, 1.
R:
```
*Output:*
```
La somma dei numeri dispari (15, 5, 13, 7, 1) è 41. La risposta è Falsa.
```
Si tenga presente che gli autori sostengono che si tratta di una capacità emergente che si manifesta con modelli linguistici sufficientemente grandi.
8 months ago
## Prompt Zero-shot CoT
1 year ago
8 months ago
<Screenshot src={ZEROCOT} alt="Zero-shot CoT" />
1 year ago
8 months ago
Fonte immagine: [Kojima et al. (2022)](https://arxiv.org/abs/2205.11916)
1 year ago
8 months ago
Un'idea emersa più di recente è quella della [zero-shot CoT](https://arxiv.org/abs/2205.11916) (Kojima et al. 2022) che consiste essenzialmente nell'aggiungere la frase "Pensiamo passo dopo passo" al prompt originale. Proviamo un problema semplice e vediamo come si comporta il modello:
1 year ago
*Prompt:*
```
Sono andato al mercato e ho comprato 10 mele. Ho dato 2 mele al vicino e 2 al riparatore. Poi sono andato a comprare altre 5 mele e ne ho mangiata una. Quante mele mi sono rimaste?
```
*Output:*
```
11 mele
```
La risposta è errata! Proviamo ora con il prompt speciale.
*Prompt:*
```
Sono andato al mercato e ho comprato 10 mele. Ho dato 2 mele al vicino e 2 all'operaio. Poi sono andato a comprare altre 5 mele e ne ho mangiata una. Quante mele mi sono rimaste?
Pensiamo passo dopo passo.
```
*Output:*
```
8 months ago
Innanzitutto, si è partiti da 10 mele.
1 year ago
Hai dato via 2 mele al vicino e 2 all'operaio, quindi ti sono rimaste 6 mele.
8 months ago
Poi hai comprato altre 5 mele, per cui ora ne hai 11.
Infine, hai mangiato 1 mela, quindi ti sono rimaste 10 mele.
1 year ago
```
È impressionante come questo semplice prompt sia efficace nello svolgere questo compito. Dimostra di essere particolarmente utile quando non si hanno molti esempi da utilizzare nel prompt.
8 months ago
## Chain-of-Thought automatico (Auto-CoT)
Quando si applica il prompt a catena di pensieri tramite spiegazioni, il processo comporta la creazione manuale di esempi efficaci e diversi. Questo sforzo manuale potrebbe portare a soluzioni non ottimali. [Zhang et al. (2022)](https://arxiv.org/abs/2210.03493) propongono un approccio per eliminare gli sforzi manuali sfruttando gli LLM con il prompt "Pensiamo passo dopo passo" per generare catene di ragionamento per le dimostrazioni una per una. Questo processo automatico può comunque portare a errori nelle catene generate. Per mitigare gli effetti degli errori, è importante la diversità delle spiegazioni. Questo lavoro propone Auto-CoT, che campiona domande diverse e genera catene di ragionamento per costruire le spiegazioni.
L'Auto-CoT si compone di due fasi principali:
- Fase 1): **suddivisione (clustering) delle domande**: suddividere le domande di un dato insieme di dati in gruppi (cluster)
- Fase 2): **campionamento**: selezionare una domanda rappresentativa da ogni cluster e generare la relativa catena di ragionamento utilizzando Zero-Shot-CoT con semplici euristiche
Semplici euristiche potrebbero essere la lunghezza delle domande (ad esempio, 60 token) e il numero di fasi del ragionamento (ad esempio, 5 fasi del ragionamento). Questo incoraggia il modello a utilizzare dimostrazioni semplici e accurate.
Il processo è illustrato qui di seguito:
<Screenshot src={AUTOCOT} alt="AUTOCOT" />
Fonte immagine: [Zhang et al. (2022)](https://arxiv.org/abs/2210.03493)
Il codice di Auto-CoT è disponibile [qui].(https://github.com/amazon-science/auto-cot).