Accueil > Lexique IA > Prompt engineering

Catégorie(s) :

Maîtriser le prompt engineering 🤖

Portrait de l'auteur de l'article, Julien Gourdon

Article écrit par Julien Gourdon
ancien journaliste et consultant SEO depuis 2015



Publié le :
Dernière modification :
⏱ Environ 8 minutes


Les intelligences artificielles génératives telles que Bard, ChatGPT ou Midjourney (pour ne citer qu'elles) sont en passe de révolutionner notre manière de travailler (si ce n'est déjà fait) et notre façon d'interagir avec les machines boostées à l'IA. Mais pour exploiter pleinement le potentiel de ces outils de machine learning, encore faut-il savoir les caresser dans le sens du poil (c'est une image). L'idée ici est de savoir leur donner les bonnes instructions pour obtenir les bonnes réponses. Et c'est là qu'intervient l'art du "prompting", c'est à dire de la formulation de la requête que nous faisons à la machine. Les différences entre les résultats obtenus peuvent être énormes, et il est donc essentiel de maîtriser cet art, que nous appelons ici "prompt engineering", pour en tirer le meilleur parti. Mais voyons tout ceci dans le détail.

Qu'est-ce que le prompt engineering ? 🤔

Le Prompt Engineering consiste à concevoir des prompts (que nous appellerons indifféremment dans cet article "invites", "invites de commande", "instructions", "requêtes") pour les modèles d'intelligence artificielle générative. Un prompt est une séquence de mots et/ou d'instructions qui vise à guider l'IA pour produire le meilleur résultat possible pour une tâche spécifique. Or, l'ingénierie de prompt a justement pour objectif de créer une architecture de requêtes de haute qualité, c'est à dire parfaitement compréhensible par l'IA en termes de contexte dans lequel elle se trouve, de tâche qu'elle doit accomplir et d'objectif qu'elle doit atteindre, pour obtenir le résultat souhaité.

Différences entre prompt engineering, prompt design et prompt tuning 🧐

Rendons à César ce qui appartient à César. Google introduit une différence entre prompt engineering et prompt design dans son cours en ligne consacré à une introduction aux Large Language Models. Je me base donc sur ce cours pour définir ces deux termes, auxquel j'ai ajouté le prompt tuning, concept qu'on retrouve souvent dans la littérature sur le sujet des intelligences artificielles génératives.

En clair, l'ingénierie de prompt c'est la réflexion que nous menons pour développer la meilleure requête possible pour une tâche spécifique, tandis que le prompt design c'est la manière dont nous allons rédiger notre requête une fois que nous avons réfléchi au résultat que nous souhaitions obtenir. Le prompt tuning, quant à lui, est méthode alternative au prompt tuning, et sera laissé de côté dans cet article.

Comprendre le rôle du prompt engineering dans l'entraînement des grands modèles de langage LLM 🎓

Le rôle de l'ingénierie de prompt dans l'entraînement des grands modèles de langage est d'optimiser leurs performances en guidant efficacement les requêtes, c'est à dire en saisissant les commandes ou les questions qui seront les plus à même d'obtenir de la part du modèle les réponses les plus précises et pertinentes possibles.

C'est important pour plusieurs raisons :

Méthodologies et bonnes pratiques en ingénierie de requêtes 📝

Il existe plusieurs méthodologies et bonnes pratiques pour optimiser les performances des modèles linguistiques et garantir une utilisation éthique de ces technologies. Nous allons en détailler quelques-unes ici.

Tout ceci étant dit, je vous invite cependant vivement à tester par vous-même et à ajuster vos instructions en fonction des résultats perçus. En matière d'ingénierie d'invite de commande, il est primordial de mener un processus itératif de test et d'amélioration. Il y a toujours moyen d'obtenir de meilleure réponse et aucune vérité n'est définitive (un peu comme en SEO finalement). Surtout, comme les modèles de langage qui alimentent les outils d'intelligence artificielle générative sont sans cesse ajustés, un modèle de prompt qui marchait bien à une période donnée peut s'avérer beaucoup moins performant par la suite (un peu comme une stratégie SEO, j'y reviens, qui s'avère efficace dans une thématique donnée, mais qui se révèle désastreuse pour un autre sujet).

Mon mantra concernant l'ingénierie de requêtes données aux IA tient donc en 3 mots :

Test, test, test !

Les compétences nécessaires pour devenir un prompt engineer de haut vol 🚀

Comme il n'existe pas de vérité absolue en matière de rédaction de prompt, il s'agit tout d'abord d'être curieux, d'avoir envie de rentrer dans les détails, de tester, de creuser et de progresser (comme en SEO, décidemment). On reste humble face à ses soit-disant connaissances puisqu'on sait que plus on sait, et plus on sait qu'on ne sait rien. On se documente, on lit beaucoup sur le sujet, on suit les bonnes personnes sur Twitter (je vous conseille par exemple le compte de Brian Roemmele)et sur les autres réseaux sociaux, et on se méfie de ceux qui disent qu'ils ont trouvé la formule magique.

Une bonne compréhension des concepts fondamentaux de l'intelligence artificielle, des réseaux de neurones et du traitement automatique du langage me semble également nécessaire. Voire, une certaine maîtrise de l'architecture des Transformers, sur laquelle se base tous ces outils. Le but est de comprendre un minimum comment des outils comme Bard, ChatGPT, Llama 2 ou encore Claude 2 fonctionnent. Rentrer dans le cerveaux de l'IA générative, c'est pouvoir mieux la manipuler par la suite (au sens noble du terme).

Si vous maîtrisez un ou plusieurs langages de programmation couramment utilisés dans le domaine, tels que Python et JavaScript, c'est un plus indéniable. Non seulement parce qu'un outil comme ChatGPT version GPT-4 va vous assister dans la programmation de vos applications (personnellement, je me sers au quotidien de ChatGPT+ pour m'aider à développer et déboguer des applications streamlit et son aide a fait de moi un développeur incroyablement plus productif et talentueux, c'est indéniable). Mais également parce qu'avoir des compétences en programmation va vous permettre de développer vos propres outils d'intelligence artificielle en utilisant les API mises à disposition par OpenAI par exemple, ou Google dans Vertex AI, son jardin de modèles de langage mises à disposition du public en échange de quelques sous.

Enfin, une veille constante sur les dernières avancées scientifiques et techniques dans le domaine du prompt engineering et de l'IA en général est primordiale pour rester à jour et intégrer les meilleures pratiques à son travail. Ecouter des conférences, suivre des formation en ligne et lire des articles de recherche sont autant de moyens d'acquérir les compétences et les connaissances nécessaires pour exceller dans l'art des invites de commande données aux IA génératives.

Maîtriser le zero-shot prompting et few-shot prompting pour améliorer les résultats des LLM 🎯

Le zéro-shot prompting et le few-shot prompting sont deux méthodes d'ingénierie de prompt qui permettent d'obtenir des résultats de haute qualité avec un minimum d'effort. Ces deux méthodes sont particulièrement utiles pour les entreprises qui souhaitent utiliser des modèles de langage pré-entraînés pour des tâches spécifiques sans avoir à les réentraîner sur leurs propres données.

Zéro-shot prompting

Avec le zéro-shot, on va demander à l'IA de réaliser une tâche sans lui fournir d'exemples spécifiques de la tâche à accomplir. Cela est possible parce que les grands modèles de langage sont pré-entraînés sur des milliards de données et ont donc une connaissance approfondie du langage. On pourra, par exemple, demander à ChatGPT de catégoriser une liste de mots-clés en laissant la machine choisir elle-même les catégories. C'est, pour ce cas précis, ce qu'on appelle le zéro-shot classification. On considère que la machine a suffisamment de connaissances pour réaliser la tâche par elle-même, sans avoir besoin de lui fournir des exemples spécifiques.

Few-shot prompting

Avec le few-shot, on va cette fois-ci demander à l'IA de réaliser une tâche en lui fournissant quelques exemples spécifiques de la tâche à accomplir. Pour reprendre l'exemple précédent, on va demander à chatGPT de catégoriser une liste de mots-clés, en lui donnant les catégories en amont et, pourquoi pas, en lui fournissant quelques exemples de mots-clés pour chaque catégorie.

Pour ma part, je considère qu'on obtient de meilleurs résultats de la part de ChatGPT (ou de l'API GPT-4) avec le few-shot prompting. En effet, en fournissant quelques exemples à l'IA, on lui permet de mieux comprendre ce qu'on attend d'elle et de nous fournir des réponses plus précises.

Quelques ressources utiles pour améliorer vos connaissances en ingénierie de prompt 📚

Parce qu'un seul article ne suffira pas à faire de vous des experts des invites de commande à l'usage des IA génératives, voici quelques ressources complémentaires, mais non exhaustives, que j'ai trouvé particulièrement utiles dans mon exploration du sujet. Bonne lecture 🙂


Cette définition vous a plu ? Découvrez d'autres termes SEO en lien avec les algorithmes et l'intelligence artificielle en cliquant sur les boutons ci-dessous :

Algorithme Histoire de l'intelligence artificielle AGI Learning to rank RAG IA