IA & NLP

Faire réfléchir les modèles avec Chain of Thought

Louise Garnier

Ces dernières années, les modèles de langue n’ont cessé de gagner en taille, atteignant parfois des centaines de milliards de paramètres, et affichent des performances de plus en plus impressionnantes dans de nombreuses de tâches. Cependant, même les plus grands modèles ont encore du mal à résoudre certaines tâches, notamment celles qui exigent un raisonnement plus complexe. De telles tâches nécessitent ce que l'on appelle un processus de réflexion de type “Système 2”, tel que décrit dans le livre de Daniel Kahneman, Thinking Fast and Slow. Par opposition au Système 1 qui est rapide et intuitif, le Système 2 est lent et raisonné. Cette catégorie de tâches constitue un challenge particulier pour les modèles de langues. Si dans la plupart des cas, le fait d’augmenter la taille du modèle s’avère être une méthode particulièrement efficace, il n’en est pas de même pour ces tâches plus complexes.

Pour pallier ce problème, Wei et al. ont introduit la méthode de Chain of Thought (CoT) prompting. L'idée est de fournir au modèle de langage un prompt contenant une chaîne de pensées. Celle-ci se présente sous la forme d'une explication en langage naturel des étapes de raisonnement qui ont été suivies pour répondre au problème. Cette méthode améliore considérablement les performances des modèles de grande taille dans des tâches difficiles telles que l'arithmétique, le bon sens et le raisonnement symbolique.

Le Prompting
Pour comprendre ce qui rend le prompting CoT si spécial, nous allons d’abord faire un rapide rappel sur la méthode de prompting.Le prompting est une méthode qui a été popularisée par le papier Language Models are Few-Shot Learners (2020), selon laquelle on fournit au modèle la description de la tâche à accomplir et/ou quelques exemples d’entrées-sorties au moment de la prédiction. Ce bout de texte, que l’on appelle un prompt, est donné en entrée au modèle juste avant la véritable question dont on attend une réponse. Le prompt a pour objectif d'expliquer au modèle ce que l'on attend de lui, et éventuellement à lui fournir quelques exemples corrects. Cela permet d’utiliser un même modèle pour différentes tâches, sans avoir besoin de l’entraîner explicitement sur ces tâches.
Illustration Chain of Thoughts

Un exemple de prompting. Source: https://arxiv.org/pdf/2005.14165.pdf‌ ‌

Le prompting Chain of Thought

Alors que le prompting standard ne vise qu’à fournir des exemples de questions-réponses au modèle, le prompting CoT va plus loin en fournissant au modèle le processus de pensée qui conduit à la réponse finale. Ce processus de pensée prend la forme d’une succession d'étapes de raisonnement, écrites en langage naturel. En étant guidé par de tels exemples, le modèle est incité à générer le même type de processus de pensée lorsqu'il répond à la question.

Illustration Chain of Thoughts

Prompting standard vs CoT. Les chaînes de pensées sont surlignées. ‌Source: https://arxiv.org/pdf/2201.11903.pdf

Le prompting CoT facilite le raisonnement dans les modèles de langue de plusieurs façons:

Résultats expérimentaux

La méthode de prompting CoT a été mise à l'épreuve sur trois modèles différents : GPT-3, LaMDA et PaLM. Alors que GPT-3 et LaMDA ont été entraînés dans le but de tenir des conversations, PaLM est spécifiquement conçu et entraîné pour être performant en résolution de problèmes. Pour quantifier l'impact du prompting CoT sur les capacités de passage à l'échelle, différentes tailles de modèles ont été testées. Le prompting standard et le prompting CoT ont été évalués et comparés sur trois types de tâches différentes : arithmétique, raisonnement de bon sens et raisonnement symbolique.

Raisonnement arithmétique

Pour évaluer le raisonnement arithmétique des modèles, ces derniers ont été testés sur plusieurs benchmarks, tous contenant des problèmes mathématiques différents. Les prompt CoT sont composées de huit exemples choisis au hasard dans l'ensemble de données de test, avec une explication du processus de pensée créée manuellement par les annotateurs.  

Illustration Chain of Thoughts

Exemples de question, chaîne de pensée et réponse pour les benchmarks d’arithmétique. ‌ ‌Source: https://arxiv.org/pdf/2201.11903.pdf

Les trois modèles ont été testés par rapport à trois benchmarks (GSM, SVAMP, MAWPS) de différents niveaux de complexité. Trois éléments clés peuvent être déduits des résultats.

Illustration Chain of Thoughts

Premièrement, le prompting CoT n'est efficace que pour les modèles de taille suffisante. D'après les résultats, la méthode n'a pas d'impact positif sur les performances des modèles de petite taille. Qualitativement, on a constaté que les petits modèles produisaient des processus de pensée grammaticalement corrects mais illogiques.

Deuxièmement, les gains de performance obtenus en utilisant le prompting CoT sont beaucoup plus importants pour les problèmes plus compliqués. Le taux de résolution sur GSM8K (le benchmark avec la performance de base la plus faible) a plus que doublé pour les plus grandes versions de GPT-3 et PaLM. D'autre part, les résultats montrent que les améliorations de performance étaient soit négatives, soit très faibles pour les benchmarks les plus simples, par exemple ceux dont la résolution ne nécessite qu'une seule étape de raisonnement.

Troisièmement, pour certains benchmarks, l'utilisation du prompting CoT avec les versions les plus grandes de GPT-3 et PaLM aide à dépasser les performances de l'état de l'art, qui ont été obtenues en entraînant un modèle spécifiquement sur cette tâche.

Raisonnement de bon sens

Le prompting CoT a été comparé au prompting standard sur une grande variété de benchmarks sur des questions de bon sens. Les tâches en question vont de la résolution de questions générales de sens commun à la création d’instructions pour un robot à partir d’une instruction en langage naturel. En tout, cinq benchmarks ont été utilisés.

Illustration Chain of Thoughts

Exemples de question, chaîne de pensée et réponse pour les benchmarks de bon sens. ‌ ‌Source: https://arxiv.org/pdf/2201.11903.pdf

Les résultats obtenus avec le modèle PaLM sont présentés dans la figure ci-dessous.

Illustration Chain of Thoughts

Pour toutes les tâches, même si l'augmentation de la taille du modèle permet d'obtenir de meilleures performances avec le prompting standard, le prompting CoT a permis d'obtenir des gains encore plus importants, notamment pour la plus grande taille de modèles.

Raisonnement symbolique

Les tâches de raisonnement symbolique sont en théorie très faciles pour les humains, et peuvent être facilement résolues à l'aide d’un ensemble de règles simples. Cependant, elles sont généralement particulièrement difficiles à résoudre pour les modèles de langue. Pour évaluer les modèles sur des problèmes de raisonnement symbolique, deux tâches ont été créées :

Illustration Chain of Thoughts

Exemples de question, chaîne de pensée et réponse pour les benchmarks de raisonnement symbolique. Source: https://arxiv.org/pdf/2201.11903.pdf

Pour chacune de ces tâches, les modèles seront évalués sur des exemples qu’on appelle “in domain”, qui contiennent le même nombre d'étapes de raisonnement que les exemples du prompt, ainsi que sur des exemples “out of domain” (OOD sur la figure ci-dessous) qui contiennent plus d'étapes. Le nombre d'étapes correspond au nombre de mots dans le nom donné pour la tâche de concaténation, et au nombre de retournements potentiels dans la tâche de pile ou face.  Les résultats obtenus avec le modèle PaLM sont présentés dans la figure ci-dessous.

Illustration Chain of Thoughts

Pour la configuration “in domain”, le plus grand modèle avec le prompting CoT atteint des taux de résolution de presque 100 %, bien que la tâche de pile ou face soit déjà résolue avec le prompting standard. Cela peut s'expliquer par le fait que le prompting CoT fournit la structure de résolution parfaite que le modèle doit seulement reproduire pour chaque exemple de test.

Dans le cas de l'environnement “out of domain” (OOD), le prompting standard est peu performant pour les deux tâches. Le prompting CoT conduit à de meilleures capacités de passage à l’échelle, ce qui montre que la méthode améliore les capacités de généralisation pour des modèles de langage suffisamment grands.

Prompting CoT zero-shot

Quelques mois après l'introduction du prompting CoT, une équipe de recherche de Google Brain et de l'Université de Tokyo a présenté l'article Large Language Models are Zero-Shot Reasoners. Ces recherches démontrent que les gros modèles de langue peuvent faire preuve de compétences de raisonnement complexes grâce à une astuce très simple : ajouter “Let’s think step by step” (“Réfléchissons étape par étape”) au prompt. Ce petit ajout encourage le modèle à produire une réponse similaire à la chaîne de pensées décrite précédemment, sans avoir à les élaborer manuellement et à les donner explicitement au modèle. Cette méthode est considérée comme zero-shot car le modèle ne voit jamais d'exemples de la tâche pendant son entraînement ou dans le prompt.

Illustration Chain of Thoughts

Exemples de différents types de prompting : Standard few-shot et zero-shot; CoT few-shot er zero-shot‌ ‌Source: https://arxiv.org/pdf/2205.11916.pdf

Cette méthode permet de réaliser des bonds significatifs en termes de performances par rapport au prompting standard, notamment sur des problèmes d’arithmétique, en améliorant la précision jusqu'à quatre fois.

Les auteurs de l'article expliquent qu'ils visent à encourager la communauté à rechercher des astuces de prompting similaires qui permettent d’aider les modèles à résoudre des tâches plus larges et complexes plutôt que des très tâches précises et non généralisables.

Pour conclure…

Voici une citation directement tirée du papier :
"This observation likely raises more questions than it answers—for instance, how much more can we expect reasoning ability to improve with a further increase in model scale? What other prompting methods might expand the range of tasks that language models can solve?"
Cette observation soulève probablement plus de questions qu'elle n'apporte de réponses - par exemple, dans quelle mesure pouvons-nous nous attendre à ce que la capacité de raisonnement s'améliore avec une augmentation supplémentaire de la taille du modèle ? Quelles autres méthodes de prompting pourraient élargir l'éventail des tâches que les modèles de langue peuvent résoudre ?

Ces études ne servent pas à prouver que les modèles de langage sont en capacité de “raisonner” (de la même manière que les humains), cependant elles sont un témoignage de la puissance du prompting.

En ce qui concerne les modèles de langue, il est désormais connu que l'entraînement de modèles de plus en plus gros sur des données de plus en plus nombreuses permet d'obtenir de meilleures performances. Mais dans cette course à la grandeur, le prompting s'avère être un moyen peu coûteux et peu gourmand en ressources pour pousser encore plus loin les limites de performances. Alors que de plus en plus de recherches se concentrent sur cette méthode, la mise à disposition de modèles génératifs au grand public peut également conduire à la découverte d'astuces de prompting (on a vu par exemple émerger l’astuce “Unreal Engine”  utilisée sur les modèles de génération image à partir de texte).

Surfant sur la vague du prompting, Google Research a déjà exploré d'autres améliorations de la méthode de chaîne de pensée, notamment en étudiant l'idée d'auto-consistance. En publiant de nombreuses études sur le sujet au cours de l’année, il semblerait que Google misent vraiment sur la méthode Chain of Thought et qu'ils y voient le potentiel d'améliorer de manière significative leurs différents modèles de langue.

Illustration Chain of Thoughts

Source: https://twitter.com/karpathy/status/1273788774422441984/photo/1

Lire un autre article

Icône de professionnel de santé

Entrepôts de données de santé : un seul concept juridique pour...

Icône de professionnel de santé

LaMDA décryptée

Icône de professionnel de santé

Le Modern Data Management en santé