# Chain-of-Thought Prompting import {Screenshot} from 'components/screenshot' import COT from '../../img/cot.png' import ZEROCOT from '../../img/zero-cot.png' ## Chain-of-Thought (CoT) Prompting Image Source: [Wei et al. (2022)](https://arxiv.org/abs/2201.11903) Introduit dans [Wei et al. (2022)](https://arxiv.org/abs/2201.11903), le prompt "chain-of-thought" (CoT) permet des capacités de raisonnement complexes grâce à des étapes de raisonnement intermédiaires. Vous pouvez le combiner avec des prompts à quelques exemples pour obtenir de meilleurs résultats sur des tâches plus complexes qui nécessitent un raisonnement avant de répondre. *Prompt:* ``` La somme des nombres impairs de ce groupe donne un nombre pair : 4, 8, 9, 15, 12, 2, 1. R : L'addition de tous les nombres impairs (9, 15, 1) donne 25. La réponse est Faux. La somme des nombres impairs de ce groupe donne un nombre pair : 17, 10, 19, 4, 8, 12, 24. R : L'addition de tous les nombres impairs (17, 19) donne 36. La réponse est Vrai. La somme des nombres impairs de ce groupe donne un nombre pair : 16, 11, 14, 4, 8, 13, 24. R : L'addition de tous les nombres impairs (11, 13) donne 24. La réponse est Vrai. La somme des nombres impairs de ce groupe donne un nombre pair : 17, 9, 10, 12, 13, 4, 2. R : L'addition de tous les nombres impairs (17, 9, 13) donne 39. La réponse est Faux. La somme des nombres impairs de ce groupe donne un nombre pair : 15, 32, 5, 13, 82, 7, 1. R : ``` *Output:* ``` L'addition de tous les nombres impairs (15, 5, 13, 7, 1) donne 41. La réponse est Faux. ``` Wow! Nous pouvons voir un résultat parfait lorsque nous avons fourni l'étape de raisonnement. En fait, nous pouvons résoudre cette tâche en ne fournissant encore moins d'exemples, c'est-à-dire qu'un seul exemple semble suffisant: *Prompt:* ``` La somme des nombres impairs de ce groupe donne un nombre pair : 4, 8, 9, 15, 12, 2, 1. R : L'addition de tous les nombres impairs (9, 15, 1) donne 25. La réponse est Faux. La somme des nombres impairs de ce groupe donne un nombre pair : 15, 32, 5, 13, 82, 7, 1. R : ``` *Output:* ``` L'addition de tous les nombres impairs (15, 5, 13, 7, 1) donne 41. La réponse est Faux. ``` Gardez à l'esprit que les auteurs affirment que c'est une capacité émergente qui se produit avec des modèles de langage suffisamment grands. ## Zero-shot COT Prompting Image Source: [Kojima et al. (2022)](https://arxiv.org/abs/2205.11916) Une idée récente qui est sortie plus récemment est l'idée de [zero-shot CoT](https://arxiv.org/abs/2205.11916) (Kojima et al. 2022) qui consiste essentiellement à ajouter « Pensons étape par étape » aux prompt d'origine. Essayons un problème simple et voyons comment le modèle fonctionne : *Prompt:* ``` Je suis allé au marché et j'ai acheté 10 pommes. J'ai donné 2 pommes au voisin et 2 au dépanneur. Je suis ensuite allé acheter 5 pommes de plus et j'en ai mangé 1. Avec combien de pommes suis-je resté ? ``` *Output:* ``` 11 pommes ``` La réponse est incorrecte ! Essayons maintenant avec l'invite spéciale. *Prompt:* ``` Je suis allé au marché et j'ai acheté 10 pommes. J'ai donné 2 pommes au voisin et 2 au dépanneur. Je suis ensuite allé acheter 5 pommes de plus et j'en ai mangé 1. Avec combien de pommes suis-je resté ? Réfléchissons étape par étape. ``` *Output:* ``` Tout d'abord, vous avez commencé avec 10 pommes. Vous avez donné 2 pommes au voisin et 2 au réparateur, il vous restait donc 6 pommes. Ensuite, vous avez acheté 5 pommes de plus, alors vous avez maintenant 11 pommes. Enfin, vous avez mangé 1 pomme, vous resterez donc avec 10 pommes. ``` C'est impressionnant que cette instruction simple soit efficace pour cette tâche. Cela est particulièrement utile lorsque vous n'avez pas trop d'exemples à utiliser dans l'instruction.