Les articles précédents sur le prompt engineering (Article 1 et Article 2) présentent une variété de techniques pour améliorer les résultats d’IA génératives. A mesure que chercheurs et développeurs affinent et mettent ces techniques à l’épreuve, les plus efficaces s’imposent graduellement. On observe une convergence progressive vers un vocabulaire commun et un éventail de méthodes générales, se déclinant en techniques particulières.

Cet article en deux parties se penche sur trois de ces méthodes : le few-shot prompting, le chain-of-thought, et la retrieval augmented generation.

Few-shot Prompting

Un prompt few-shot, qu’on pourrait traduire par prompt en quelques coups, consiste à fournir au LLM des exemples de requête-réponse similaires au message courant, afin qu’il comprenne plus facilement la tâche qui est attendue de lui.

Un exemple de prompt few-shot :

Chat gpt exemple de prompt few-shot

On peut noter que le résultat n’est pas tout à fait exact (une erreur), mais étant donné la nature de la tâche demandée et la manière de fonctionner du modèle (voir le premier article de cette série), un résultat quasi-exact est déjà remarquable.

Chain-of-Thought (CoT)

Lorsqu’une personne doit résoudre un problème non-trivial, elle ne répond généralement pas avec la toute première pensée qui lui vient à l’esprit. Elle raisonne par étapes, afin de construire une réponse de manière logique. Un prompt chain-of-thought (littéralement chaine de pensée) cherche à faire reproduire ce type de raisonnement à un LLM. On ne demande alors pas seulement au modèle de répondre à une question, mais de le faire en raisonnant par étapes.

Ci-dessous un exemple tiré de l’article des chercheurs qui ont appliqué pour la première fois cette technique aux LLM (cet article de recherche date de 2022, on est bien dans un domaine récent !).

Tableau récapitulatif d'une prompt standard et d'une prompt Chaint-of-Thought Prompting

On remarque que cet exemple utilise du few-shot prompting pour indiquer au modèle de formuler sa réponse sous forme de chain-of-thought. Les différentes méthodes de prompt engineering sont souvent non-mutuellement exclusives, elles peuvent se combiner.

Une autre possibilité pour un prompt CoT est de demander explicitement au modèle de raisonner par étapes. En appliquant cela à notre exemple précédent :

Exemple fenetre chat GPT

Le résultat est cette fois exact, mais il est légèrement moins bien formaté : le tiret a disparu de la phrase. Cet exemple illustre les points forts de ces deux techniques : few-shot est particulièrement performant pour montrer au modèle comment formater un résultat, alors que CoT favorise la qualité de raisonnement.

Le CoT montre que la structuration joue un rôle important dans l’optimisation des capacités de raisonnement. D’autres techniques, élaborées à la suite de la publication de l’article CoT, cherchent à pousser ces capacités encore plus loin :

  • Self-Consistency : selon ses capacités et la complexité du problème, un LLM ne produit pas toujours des chaînes de raisonnement cohérentes ou logiques lorsqu’il répond à un prompt CoT. Une étape d’auto-réflexion peut alors aider le LLM à améliorer sa réponse : on demande au LLM d’évaluer la qualité de sa propre réponse, et de l’ajuster si besoin.
    Ce mécanisme se comprend intuitivement par comparaison avec une personne relisant un texte qu’elle vient d’écrire pour en détecter les fautes, ou un étudiant confrontant le résultat de ses calculs à la question initiale, pour voir s’ils ont du sens.
    La self-consistency peut être mise en œuvre en demandant au LLM de générer plusieurs chaînes de raisonnement indépendantes, avant de lui resoumettre l’ensemble de ces chaines en même temps et de lui demander laquelle est la mieux à même de répondre au prompt initial. L’inconvénient de ce type de mécanisme est qu’il fait rapidement augmenter le nombre d’appels au LLM.
  • Tree of Thoughts : cette technique va encore au-delà de la self-consistency. Comme précédemment, il est demandé au LLM de produire plusieurs chaînes de raisonnement indépendantes. Mais au lieu de demander au LLM de produire tout le raisonnement d’un coup, les étapes sont produites une par une. A chacune de ces étapes, une phase de self-consistency est appliquée pour sélectionner la ou les meilleures options, avant de générer l’étape suivante. La réponse est alors générée comme un arbre, dont seules les « meilleures » branches peuvent continuer à pousser.
Tableau récapitulatif d'une prompt standard et d'une prompt Chaint-of-Thought Prompting

On remarque que cet exemple utilise du few-shot prompting pour indiquer au modèle de formuler sa réponse sous forme de chain-of-thought. Les différentes méthodes de prompt engineering sont souvent non-mutuellement exclusives, elles peuvent se combiner.

Une autre possibilité pour un prompt CoT est de demander explicitement au modèle de raisonner par étapes. En appliquant cela à notre exemple précédent :

Schéma Tree of thoughts

Source : Yao et al., 2023

  • ReACT : comme CoT, il s’agit de faire expliciter des étapes par le LLM, mais en imposant une structure d’enchainement de réflexions et d’actions pour arriver à un résultat.
Exemple ReACT

Source : Yao et al., 2023

Cette technique favorise notamment l’utilisation d’outils par le LLM (comme décrit par notre article précédent sur le prompt engineering). Dans l’exemple ci-dessus, le LLM fait ainsi plusieurs fois appel à un outil de moteur de recherche. La structure « réflexion – action – observation » encourage le LLM à utiliser cet outil dans un raisonnement logique, en élaborant chaque nouvelle action par réflexion selon le résultat des précédentes.

L’optimisation des capacités de raisonnement des LLM reste un domaine de recherche active, les techniques présentées ici sont d’ores et déjà applicables mais elles sont très probablement appelées à évoluer.

Dans la seconde partie de cet article, nous nous intéresserons à des techniques avancées de retrieval augmented generation (RAG). Ces techniques optimisent l’ enrichissement de requêtes d’utilisateurs avec des informations pertinentes, récupérées d’une base de connaissance.

Photo de profil Yann Fontana

Yann Fontana

Architecte data

SUR LE MÊME THÈME

Interface IA smartphone

Utiliser ChatGPT sur ses données d’entreprise, c’est possible ?

Utiliser ChatGPT sur ses données d’entreprise, c’est possible ?

Prompt engineering : libérez le génie de l’IA (2/2)

Prompt engineering : libérez le génie de l’IA (2/2)

Prompt engineering : libérez le génie de l’IA (2/2)

Que sait vraiment faire ChatGPT ?

Que sait vraiment faire ChatGPT ?

Que sait vraiment faire ChatGPT ?