{"id":131,"date":"2024-01-23T07:07:00","date_gmt":"2024-01-23T06:07:00","guid":{"rendered":"https:\/\/alain.goudey.eu\/side\/?p=131"},"modified":"2024-03-04T22:15:00","modified_gmt":"2024-03-04T21:15:00","slug":"il-nest-pas-necessaire-detre-poli-avec-lia-mais-de-savoir-lui-parler-comment-prompter-en-2024","status":"publish","type":"post","link":"https:\/\/alain.goudey.eu\/side\/2024\/01\/23\/il-nest-pas-necessaire-detre-poli-avec-lia-mais-de-savoir-lui-parler-comment-prompter-en-2024\/","title":{"rendered":"Prompting en 2024 ? &#8211; Il n&rsquo;est pas n\u00e9cessaire d&rsquo;\u00eatre poli avec l&rsquo;IA, mais de savoir lui \u00ab\u00a0parler\u00a0\u00bb"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Cela fait plus d&rsquo;un an que la terre enti\u00e8re s&rsquo;essaie au prompting (ou presque)&#8230; Alors comment cet art du prompt engineering a-t-il \u00e9volu\u00e9 depuis sa massification en novembre 2022 ? Comment faut-il prompter une IA en 2024 ? <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce nouvel article vise \u00e0 proposer un guide avec des instructions d\u00e9taill\u00e9es pour am\u00e9liorer la qualit\u00e9 des prompts destin\u00e9es aux Mod\u00e8les de Langage \u00e0 Grande \u00c9chelle (LLMs). Il se base sur le papier de <a href=\"https:\/\/arxiv.org\/abs\/2312.16171\" data-type=\"link\" data-id=\"https:\/\/arxiv.org\/abs\/2312.16171\" target=\"_blank\" rel=\"noopener\">Bsharat &amp; al. (2023), disponible sur Arxiv et intitul\u00e9 \u00ab\u00a0Principled Instructions Are All You Need for Questioning LLaMA-1\/2, GPT-3.5\/4<\/a>\u00ab\u00a0. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les r\u00e9sultats de cette \u00e9tude montrent que les mod\u00e8les plus vastes simulent mieux les consignes, et que clairement la pr\u00e9cision des directives am\u00e9liore la performance des LLMs. Assigner un r\u00f4le sp\u00e9cifique aux LLMs s&rsquo;av\u00e8re donc utile pour obtenir des r\u00e9sultats en ad\u00e9quation avec nos attentes. Autrement dit : \u00ab\u00a0<em>Garbage in, garbage out<\/em>\u00ab\u00a0&#8230; alors soignez vos prompts ! Quelques astuces plus exotiques (comme le pourboire, l&rsquo;obligation ou l&rsquo;absence de politesse) aident aussi \u00e0 am\u00e9liorer les r\u00e9ponses.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Plus pr\u00e9cis\u00e9ment, le papier montre, avec le test de r\u00e9f\u00e9rence ATLAS con\u00e7u manuellement, qui comprend des questions multiples pour chaque principe, que les prompts propos\u00e9s selon le guide ont am\u00e9lior\u00e9 la qualit\u00e9 et la pr\u00e9cision des r\u00e9ponses LLM d&rsquo;une moyenne de 57,7 % et de 67,3 %, respectivement, lorsqu&rsquo;elles sont appliqu\u00e9es \u00e0 GPT-4 (voir le <a href=\"https:\/\/github.com\/VILA-Lab\/ATLAS\" data-type=\"link\" data-id=\"https:\/\/github.com\/VILA-Lab\/ATLAS\" target=\"_blank\" rel=\"noopener\">repository GitHub d&rsquo;Atlas<\/a>).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Rappel de quelques techniques avanc\u00e9es de prompting pour les LLM<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tr\u00e8s t\u00f4t sur ce blog j&rsquo;avais aborder le sujet de <a href=\"https:\/\/alain.goudey.eu\/side\/2023\/02\/13\/lart-du-prompt-ou-prompt-engineering-dans-chatgpt\/\">l&rsquo;art du prompting ou prompt engineering<\/a>. Avant de parler des principes \u00e0 respecter dans le prompting, il est bon de se rappeler quelques techniques g\u00e9n\u00e9rales de prompting. Voici les principales \u00e0 ce jour : <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 Guidage de type Ask-Me-Anything (AMA) &#8211; maillage de questions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ce guidage implique l&rsquo;utilisation de plusieurs invites imparfaites et l&rsquo;agr\u00e9gation de leurs r\u00e9ponses. Cette technique est particuli\u00e8rement efficace dans les formats de questions-r\u00e9ponses. Ainsi, si vous cherchez une r\u00e9ponse \u00e0 une question historique complexe, au lieu d&rsquo;un seul prompt, vous pourriez poser plusieurs questions li\u00e9es mais l\u00e9g\u00e8rement diff\u00e9rentes. Par exemple : \u00ab\u00a0Quelles \u00e9taient les principales causes de la Premi\u00e8re Guerre mondiale ?\u00a0\u00bb, \u00ab\u00a0Comment les alliances ont-elles contribu\u00e9 au d\u00e9but de la Premi\u00e8re Guerre mondiale ?\u00a0\u00bb, \u00ab\u00a0En quoi la Premi\u00e8re Guerre mondial \u00e9tait unique ?\u00a0\u00bb, etc. En agr\u00e9geant les r\u00e9ponses de ces diff\u00e9rents prompts, vous obtenez une compr\u00e9hension plus compl\u00e8te et plus pr\u00e9cise.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 La m\u00e9thode Chain-of Thought (CoT) &#8211; d\u00e9composition en \u00e9tapes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cette m\u00e9thode demande au mod\u00e8le de g\u00e9n\u00e9rer une s\u00e9rie d&rsquo;\u00e9tapes de raisonnement interm\u00e9diaires, aidant \u00e0 la performance dans des t\u00e2ches n\u00e9cessitant une r\u00e9solution de probl\u00e8mes complexe. C&rsquo;est en quelque sorte le principe de la d\u00e9composition de la pens\u00e9e appliqu\u00e9e aux LLMs. Dans ce cas, pour un probl\u00e8me math\u00e9matique comme \u00ab\u00a0Si un train parcourt 60 km en 80 minutes, \u00e0 quelle vitesse va-t-il en km par heure ?\u00a0\u00bb, la m\u00e9thode Chain-of-Thought impliquera que l&rsquo;on aide le mod\u00e8le en d\u00e9composant la solution en \u00e9tapes. Ainsi on demandera de calculer la vitesse par minute puis de la convertir en km par heure.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.3 Guidage de type Least-to-Most &#8211; technique de l&rsquo;entonnoir<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cette strat\u00e9gie consiste \u00e0 d\u00e9composer des probl\u00e8mes complexes en sous-probl\u00e8mes plus simples, en abordant chacun s\u00e9quentiellement pour r\u00e9soudre le probl\u00e8me plus large. Alors, dans un probl\u00e8me scientifique comme expliquer la photosynth\u00e8se, le guidage least-to-most pourrait commencer par des questions de base telles que \u00ab\u00a0Qu&rsquo;est-ce que la photosynth\u00e8se ?\u00a0\u00bb et \u00ab\u00a0Quels sont les composants impliqu\u00e9s dans la photosynth\u00e8se ?\u00a0\u00bb avant de passer \u00e0 des aspects plus complexes du processus comme les r\u00e9actions chimiques en jeu, etc. C&rsquo;est un peu la technique de l&rsquo;entonnoir : on d\u00e9marre volontairement assez large dans l&rsquo;\u00e9change, avant de converger vers LA question \u00e0 r\u00e9soudre. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Des recherches ont montr\u00e9 que l&rsquo;int\u00e9gration d&rsquo;explications progressives dans les prompts peut am\u00e9liorer les capacit\u00e9s d&rsquo;apprentissage et de r\u00e9solution de probl\u00e8mes d&rsquo;un LLM, en particulier pour des t\u00e2ches complexes. Ainsi lorsque vous demandez au mod\u00e8le de classer des animaux dans diff\u00e9rentes cat\u00e9gories, fournir une explication avec la question, comme \u00ab\u00a0Classifiez ces animaux en fonction de leur habitat et de leur r\u00e9gime alimentaire\u00a0\u00bb peut donner des r\u00e9ponses plus pr\u00e9cises et d\u00e9taill\u00e9es.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.4 La technique de few-shot prompting &#8211; apprentissage par l&rsquo;exemple<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le few-shot prompting est une technique pour am\u00e9liorer la performance des mod\u00e8les de langage de grande taille (LLMs). C&rsquo;est l&rsquo;apprentissage par l&rsquo;exemple. En effet, elle consiste \u00e0 fournir quelques exemples dans le prompt pour guider le mod\u00e8le dans son apprentissage contextuel. Ces exemples conditionnent le mod\u00e8le pour qu&rsquo;il r\u00e9ponde de mani\u00e8re plus ad\u00e9quate aux requ\u00eates suivantes. Cette m\u00e9thode s&rsquo;est av\u00e9r\u00e9e efficace pour des t\u00e2ches complexes, et la recherche sugg\u00e8re que l&rsquo;efficacit\u00e9 augmente avec le nombre d&rsquo;exemples fournis. La structuration des prompts et la distribution des exemples sont cruciales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;exemple de few-shot prompting dans l&rsquo;apprentissage des LLMs pourrait \u00eatre le suivant : si l&rsquo;on souhaite que le mod\u00e8le apprenne \u00e0 classer des commentaires comme positifs ou n\u00e9gatifs, on lui pr\u00e9sente quelques exemples annot\u00e9s. Ainsi, on pourrait lui montrer :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u00ab\u00a0J&rsquo;adore ce restaurant !\u00a0\u00bb \/\/ Positif<\/li>\n\n\n\n<li>\u00ab\u00a0C&rsquo;\u00e9tait une exp\u00e9rience terrible.\u00a0\u00bb \/\/ N\u00e9gatif<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite, on demande au mod\u00e8le de classer un nouveau commentaire sans annotation :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00ab\u00a0Le service \u00e9tait exceptionnel&#8230;\u00a0\u00bb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le mod\u00e8le, s&rsquo;\u00e9tant conditionn\u00e9 sur les exemples fournis, serait alors plus \u00e0 m\u00eame de pr\u00e9dire correctement que le commentaire est positif. Cet exercice peut \u00eatre it\u00e9r\u00e9 avec un nombre croissant d&rsquo;exemples pour renforcer l&rsquo;apprentissage.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.5 Guidage par stimulus directionnel (Directional Stimulus Prompting) &#8211; conseils et indices<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ce cadre appel\u00e9 Directional Stimulus Prompting (DSP) introduit un nouveau composant appel\u00e9 \u00ab\u00a0stimulus directionnel\u00a0\u00bb dans le prompt afin de fournir une orientation et un contr\u00f4le nuanc\u00e9s et sp\u00e9cifiques \u00e0 l&rsquo;instance sur les LLM. Plus pr\u00e9cis\u00e9ment, le stimulus directionnel agit comme des \u00ab\u00a0conseils\u00a0\u00bb et des \u00ab\u00a0indices\u00a0\u00bb pour la requ\u00eate d&rsquo;entr\u00e9e afin de guider les LLM vers la sortie souhait\u00e9e. Le stimulus directionnel est g\u00e9n\u00e9r\u00e9 uniquement sur la base de la requ\u00eate d&rsquo;entr\u00e9e. Cette approche incorpore des mots-cl\u00e9s dans le prompt comme stimulus directionnel pour indiquer les points cl\u00e9s que la r\u00e9ponse souhait\u00e9e doit couvrir. Cela am\u00e9liore consid\u00e9rablement la qualit\u00e9 de sortie. Pour plus d&rsquo;information sur le DSP, voir <a href=\"https:\/\/arxiv.org\/pdf\/2302.11520.pdf#:~:text=To%20this%20end%2C%20our%20Directional,guidance%20toward%20the%20desired%20direction.\" data-type=\"link\" data-id=\"https:\/\/arxiv.org\/pdf\/2302.11520.pdf#:~:text=To%20this%20end%2C%20our%20Directional,guidance%20toward%20the%20desired%20direction.\" target=\"_blank\" rel=\"noopener\">l&rsquo;article ArXiv Guiding Large Language Models via Directional Stimulus Prompting<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Les grands principes de prompting pour am\u00e9liorer ses prompts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il y a cinq cat\u00e9gories de principes pour am\u00e9liorer les interactions avec les mod\u00e8les de langage \u00e0 grande \u00e9chelle (LLM) comme ChatGPT. J&rsquo;y ajoute parfois des commentaires personnels issus de ma propre pratique du prompting de LLM. En gras les techniques que j&rsquo;utilise le plus dans mes prompts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Structure et clart\u00e9 du prompt<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cette cat\u00e9gorie de techniques concerne la mani\u00e8re dont l&rsquo;invite est formul\u00e9e pour \u00eatre claire et structur\u00e9e. L&rsquo;article recommande alors les principes suivants (nous avons gard\u00e9 les num\u00e9ros d&rsquo;origine pour faciliter votre lecture plus compl\u00e8te dans l&rsquo;article d&rsquo;origine) : <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Int\u00e9grer le public vis\u00e9 dans l&rsquo;invite. (2)<\/strong> &#8211; c&rsquo;est fondamental pour am\u00e9liorer rapidement la qualit\u00e9 de la r\u00e9ponse<\/li>\n\n\n\n<li><strong>Utiliser des directives affirmatives telles que \u00ab\u00a0faites\u00a0\u00bb tout en \u00e9vitant les termes n\u00e9gatifs tels que \u00ab\u00a0ne faites pas\u00a0\u00bb. (4)<\/strong> &#8211; c&rsquo;est un moyen aussi tr\u00e8s clair de donner des indications (presque un m\u00e9lange de few-shots et de CoT), id\u00e9al pour int\u00e9grer ou \u00e9viter certains types de r\u00e9ponses.<\/li>\n\n\n\n<li><strong>Utiliser des mots-cl\u00e9s comme \u00ab\u00a0penser \u00e9tape par \u00e9tape\u00a0\u00bb. (12)<\/strong> &#8211; clairement inspir\u00e9 de CoT et tr\u00e8s efficace pour des sujets complexes<\/li>\n\n\n\n<li>Utilisez des amorces de sortie, qui consistent \u00e0 conclure votre message par le d\u00e9but de la sortie souhait\u00e9e en terminant le prompt par le d\u00e9but de la r\u00e9ponse attendue. (20) &#8211; l\u00e0 on est sur du cadrage de la r\u00e9ponse attendue et cela fonctionne remarquablement bien. A tester !<\/li>\n\n\n\n<li>Utilisez des d\u00e9limiteurs. (17) &#8211; \u00e7a c&rsquo;est tr\u00e8s pratique pour la structuration de donn\u00e9es et la programmation.<\/li>\n\n\n\n<li>Lors de la mise en forme de votre invite, commencez par \u00ab\u00a0###Instruction###\u00a0\u00bb, suivi de \u00ab\u00a0###Exemple###\u00a0\u00bb ou \u00ab\u00a0###Question### le cas \u00e9ch\u00e9ant. Pr\u00e9sentez ensuite votre contenu. Utilisez un ou plusieurs sauts de ligne pour s\u00e9parer les instructions, les exemples, les questions, le contexte et les donn\u00e9es d&rsquo;entr\u00e9e. (8) &#8211; inspir\u00e9 de la programmation, cette technique permet d&rsquo;am\u00e9liorer aussi assez nettement la qualit\u00e9 des r\u00e9ponses du LLM. <\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. Sp\u00e9cificit\u00e9 et information<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Il s&rsquo;agit d&rsquo;ajouter des \u00e9l\u00e9ments sp\u00e9cifiques \u00e0 l&rsquo;invite pour guider la r\u00e9ponse du mod\u00e8le. Cela va conf\u00e9rer des sp\u00e9cificit\u00e9 de style et\/ou de contenu \u00e0 la r\u00e9ponse g\u00e9n\u00e9r\u00e9e par le LLM. Dans ces techniques on retrouve : <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Mettre en place un syst\u00e8me de prompt par l&rsquo;exemple (few-shot prompting). (7)<\/strong> &#8211; la technique de l&rsquo;exemple pour le LLM est tr\u00e8s efficace. Elle peut prendre de multiple forme, mais un must \u00e0 avoir en t\u00eate. Pas tr\u00e8s diff\u00e9rent de l&rsquo;humain sur cette approche. <\/li>\n\n\n\n<li>Lorsque vous avez besoin de clart\u00e9 ou d&rsquo;une compr\u00e9hension plus approfondie d&rsquo;un sujet, d&rsquo;une id\u00e9e ou de tout autre \u00e9l\u00e9ment d&rsquo;information, utilisez les invites suivantes suivantes :\n<ul class=\"wp-block-list\">\n<li>Expliquez-moi [ins\u00e9rer un sujet sp\u00e9cifique] en termes simples.<\/li>\n\n\n\n<li>Expliquez-moi comme si j&rsquo;avais XX ans (XX peut varier, mais en gros 5 ans, 10 ans, 15 ans et 25 ans sont bien)<\/li>\n\n\n\n<li>Expliquez-moi comme si j&rsquo;\u00e9tais un d\u00e9butant en [domaine ]<\/li>\n\n\n\n<li>\u00ab\u00a0R\u00e9digez [l&rsquo;essai\/le texte\/le paragraphe] en utilisant un anglais simple comme si vous expliquiez quelque chose \u00e0 un enfant de XX ans\u00a0\u00bb (XX peut varier, cf au-dessus). (5)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Ajoutez \u00e0 votre message la phrase suivante : \u00ab\u00a0Veillez \u00e0 ce que votre r\u00e9ponse soit impartiale et ne repose pas sur des st\u00e9r\u00e9otypes.\u00a0\u00bb (13)<\/strong> &#8211; Cela limite en effet plut\u00f4t bien les biais dans les r\u00e9ponses. Attention cela ne les \u00e9limine pas non plus ! Il faut rester vigilant sur la r\u00e9ponse fournie. <\/li>\n\n\n\n<li>Pour r\u00e9diger un texte cens\u00e9 \u00eatre similaire \u00e0 un \u00e9chantillon fourni, il convient d&rsquo;inclure des instructions sp\u00e9cifiques :\n<ul class=\"wp-block-list\">\n<li>\u00ab\u00a0Veuillez utiliser la m\u00eame langue en vous basant sur le paragraphe fourni [\/titre\/texte\/essai\/r\u00e9ponse]\u00a0\u00bb. (26)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Lorsque vous souhaitez commencer ou poursuivre un texte en utilisant des mots, des expressions ou des phrases sp\u00e9cifiques, utilisez la structure d&rsquo;invite suivante :\n<ul class=\"wp-block-list\">\n<li>o Je vous pr\u00e9sente le d\u00e9but [des paroles de chanson\/de l&rsquo;histoire\/du paragraphe\/de l&rsquo;essai\u2026] : [Ins\u00e9rer les paroles\/mots\/phrases].<\/li>\n\n\n\n<li>Terminez en vous basant sur les mots fournis. Veillez \u00e0 ce que le flux soit coh\u00e9rent. (24)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u00c9noncer clairement les exigences du mod\u00e8le que celui-ci doit respecter pour produire du contenu, sous la forme de mots-cl\u00e9s, de r\u00e8gles, de conseils ou d&rsquo;instructions. (25)<\/strong> &#8211; Comme d&rsquo;habitude plus vous \u00eates pr\u00e9cis dans le prompt sur ce qu&rsquo;il faut int\u00e9grer, meilleure est la r\u00e9ponse. Certaine de ces exigences peuvent passer en \u00ab\u00a0custom instructions\u00a0\u00bb par exemple. <\/li>\n\n\n\n<li>Pour s&rsquo;enqu\u00e9rir d&rsquo;un sujet ou d&rsquo;une id\u00e9e sp\u00e9cifique et tester votre compr\u00e9hension, vous pouvez utiliser la phrase suivante :\n<ul class=\"wp-block-list\">\n<li>\u00ab\u00a0Enseignez-moi le [nom d&rsquo;un th\u00e9or\u00e8me\/sujet\/r\u00e8gle] et incluez un test \u00e0 la fin, mais ne me donnez pas les r\u00e9ponses. Et dites-moi si j&rsquo;ai trouv\u00e9 la bonne r\u00e9ponse lorsque je r\u00e9ponds\u00a0\u00bb (15)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>R\u00e9diger un essai\/texte\/paragraphe\/article ou tout autre type de texte qui doit \u00eatre d\u00e9taill\u00e9 :\n<ul class=\"wp-block-list\">\n<li>\u00ab\u00a0R\u00e9digez pour moi un [essai\/texte\/paragraphe] d\u00e9taill\u00e9 sur [sujet] en ajoutant toutes les informations n\u00e9cessaires\u00a0\u00bb. (21)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3. Interaction utilisateur et engagement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cette cat\u00e9gorie de techniques favorise une interaction dynamique entre l&rsquo;utilisateur et le mod\u00e8le. Ce sont des approches qui vont permettre d&rsquo;interagir avec l&rsquo;utilisateur pour converger petit \u00e0 petit vers une r\u00e9ponse utilisable. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Permettez au mod\u00e8le d&rsquo;obtenir des d\u00e9tails et des exigences pr\u00e9cises en vous posant des questions jusqu&rsquo;\u00e0 ce qu&rsquo;il ait suffisamment d&rsquo;informations pour fournir les r\u00e9sultats n\u00e9cessaires.\n<ul class=\"wp-block-list\">\n<li>\u00ab\u00a0\u00c0 partir de maintenant, j&rsquo;aimerais que vous me posiez des questions pour\u2026\u00a0\u00bb. (14)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>R\u00e9diger un essai\/texte\/paragraphe\/article ou tout autre type de texte qui doit \u00eatre d\u00e9taill\u00e9 :\n<ul class=\"wp-block-list\">\n<li>\u00ab\u00a0R\u00e9digez pour moi un [essai\/texte\/paragraphe] d\u00e9taill\u00e9 sur [sujet] en ajoutant toutes les informations n\u00e9cessaires\u00a0\u00bb. (21)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4. Contenu et style de langage<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ce panel d&rsquo;approche concerne la fa\u00e7on dont le langage est utilis\u00e9 dans l&rsquo;invite. Toutefois ces quelques astuces boostent la qualit\u00e9 des r\u00e9ponses. Certaines techniques sont \u00e9tonnantes comme celle du pourboire ou de la p\u00e9nalit\u00e9. Toutefois, il s&rsquo;av\u00e8re que cela fonctionne plut\u00f4t bien. Je vous recommande donc de les tester : <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Corriger\/modifier un texte sp\u00e9cifique sans en changer le style : \u00ab\u00a0Essayez de r\u00e9viser chaque paragraphe envoy\u00e9 par les utilisateurs. Vous ne devez qu&rsquo;am\u00e9liorer la grammaire et le vocabulaire de l&rsquo;utilisateur et veiller \u00e0 ce que le texte soit naturel. Vous ne devez pas changer le style d&rsquo;\u00e9criture, par exemple en rendant un paragraphe formel plus d\u00e9contract\u00e9\u00a0\u00bb. (22)<\/li>\n\n\n\n<li><strong>Incorporez les phrases suivantes : \u00ab\u00a0Votre t\u00e2che est\u00a0\u00bb et \u00ab\u00a0Vous DEVEZ\u00a0\u00bb. (9)<\/strong> &#8211; cela aide le LLM \u00e0 converger vers des r\u00e9ponses plus qualitatives. Probablement un c\u00f4t\u00e9 \u00ab\u00a0directement au but\u00a0\u00bb qui est appr\u00e9ciable dans le mod\u00e8le de donn\u00e9es. <\/li>\n\n\n\n<li>Incorporer les phrases suivantes : \u00ab\u00a0Vous serez p\u00e9nalis\u00e9\u00a0\u00bb. (10)<\/li>\n\n\n\n<li>Attribuer un r\u00f4le au mod\u00e8le linguistique. (16)<\/li>\n\n\n\n<li>Utilisez la phrase \u00ab\u00a0R\u00e9pondez \u00e0 une question en langage naturel\u00a0\u00bb dans vos prompts. (11)<\/li>\n\n\n\n<li><strong>Il n&rsquo;est pas n\u00e9cessaire d&rsquo;\u00eatre poli avec LLM et il n&rsquo;est donc pas n\u00e9cessaire d&rsquo;ajouter des phrases telles que \u00ab\u00a0s&rsquo;il vous pla\u00eet\u00a0\u00bb, \u00ab\u00a0si cela ne vous d\u00e9range pas\u00a0\u00bb, \u00ab\u00a0merci\u00a0\u00bb, \u00ab\u00a0Je voudrais\u00a0\u00bb, etc., et d&rsquo;aller droit au but. (1)<\/strong> &#8211; cela fait longtemps que je ne suis plus poli avec le LLM&#8230; c&rsquo;est la faute du d\u00e9butant, mais cela brouille surtout la r\u00e9ponse inutilement. <\/li>\n\n\n\n<li><strong>R\u00e9p\u00e9tez un mot ou une phrase sp\u00e9cifique plusieurs fois dans un prompt. (8) <\/strong> &#8211; j&rsquo;utilise cette technique aussi pour les IA g\u00e9n\u00e9ratrice d&rsquo;images ! Un must&#8230; m\u00eame si le prompt ne ressemble plus \u00e0 grand chose.<\/li>\n\n\n\n<li><strong>Ajoutez \u00ab\u00a0Je vais donner un pourboire de xxxx $ pour une meilleure solution !\u00a0\u00bb (6)<\/strong> &#8211; d\u00e9couverte r\u00e9cente mais efficace&#8230; donner un (faux) pourboire \u00e0 l&rsquo;IA ! Je n&rsquo;ai pas vu d&rsquo;explication claire sur la raison, mais cela fonctionne ! <\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5. T\u00e2ches complexes et prompts de codage<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ces techniques permettent de d\u00e9composer des t\u00e2ches complexes en une s\u00e9rie d&rsquo;invites plus simples dans une conversation interactive. Tr\u00e8s utile dans de la programmation informatique. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>D\u00e9composer des t\u00e2ches complexes en une s\u00e9quence d&rsquo;invites plus simples dans le cadre d&rsquo;une conversation interactive. (3)<\/strong><\/li>\n\n\n\n<li>Lorsque vous avez une demande de codage complexe qui peut se trouver dans diff\u00e9rents fichiers :\n<ul class=\"wp-block-list\">\n<li>\u00ab\u00a0\u00c0 partir de maintenant, chaque fois que vous g\u00e9n\u00e9rez du code qui s&rsquo;\u00e9tend sur plus d&rsquo;un fichier, g\u00e9n\u00e9rez un script [langage de programmation ] qui peut \u00eatre ex\u00e9cut\u00e9 pour cr\u00e9er automatiquement les fichiers sp\u00e9cifi\u00e9s ou apporter des modifications aux fichiers existants afin d&rsquo;y ins\u00e9rer le code g\u00e9n\u00e9r\u00e9. [votre question].\u00a0\u00bb (23)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Combinez la cha\u00eene de pens\u00e9e (CoT) avec des prompts exemples (few-shot prompting). (19)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion : un bon prompt en 2024<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;art de formuler des prompts pour les mod\u00e8les de langage \u00e0 grande \u00e9chelle (LLM) tend vers un art en constante \u00e9volution, caract\u00e9ris\u00e9 par une qu\u00eate incessante de pr\u00e9cision, de pertinence et de cr\u00e9ativit\u00e9. Les principes directeurs \u00e9tablis dans par ces chercheurs soulignent l&rsquo;importance cruciale de la concision, de la clart\u00e9, de la pertinence contextuelle, de l&rsquo;alignement avec la t\u00e2che, de la d\u00e9monstration par l&rsquo;exemple, de l&rsquo;\u00e9vitement des biais et de l&rsquo;approche incr\u00e9mentale dans la conception des prompts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Concis et clairs, les prompts doivent \u00e9viter toute ambigu\u00eft\u00e9 qui pourrait induire le mod\u00e8le en erreur ou conduire \u00e0 des r\u00e9ponses hors sujet. La pertinence contextuelle est un pilier, guidant le mod\u00e8le \u00e0 comprendre le domaine et le contexte de la t\u00e2che \u00e0 accomplir. L&rsquo;alignement des t\u00e2ches exige une ad\u00e9quation parfaite entre le prompts et la nature de la t\u00e2che, en utilisant un langage et une structure qui le refl\u00e8tent clairement. Inclure des exemples au sein des prompts s&rsquo;av\u00e8re particuli\u00e8rement utile pour des t\u00e2ches complexes, illustrant le format ou le type de r\u00e9ponse attendu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La conception de prompts doit \u00e9galement tenir compte de la minimisation des biais inh\u00e9rents aux mod\u00e8les, en raison de leurs donn\u00e9es d&rsquo;entra\u00eenement. Cela implique l&rsquo;utilisation d&rsquo;un langage neutre et une prise en compte des implications \u00e9thiques, surtout pour les sujets sensibles. L&rsquo;approche incr\u00e9mentale, d\u00e9composant les t\u00e2ches en \u00e9tapes progressives, guide le mod\u00e8le \u00e0 travers le processus, permettant une adaptation bas\u00e9e sur la performance du mod\u00e8le et les retours it\u00e9ratifs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enfin, pour des t\u00e2ches complexes, les prompts peuvent int\u00e9grer une logique de programmation, telle que l&rsquo;utilisation de d\u00e9clarations conditionnelles, d&rsquo;op\u00e9rateurs logiques, voire de pseudo-code, pour orienter le processus de raisonnement du mod\u00e8le. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce domaine de l&rsquo;ing\u00e9nierie des prompts est en pleine maturation, en particulier \u00e0 mesure que les LLM deviennent plus sophistiqu\u00e9s. Alors que les chercheurs continuent d&rsquo;explorer les limites de ce qui peut \u00eatre r\u00e9alis\u00e9 par le biais de l&rsquo;ing\u00e9nierie des prompts, ces principes seront probablement affin\u00e9s et \u00e9largis, ouvrant ainsi de nouvelles avenues pour maximiser l&rsquo;efficacit\u00e9 et la pertinence des interactions homme-machine dans un avenir num\u00e9rique en constante \u00e9volution.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cela fait plus d&rsquo;un an que la terre enti\u00e8re prompt (ou presque)&#8230; Alors comment cet art du prompt engineering a-t-il \u00e9volu\u00e9 depuis sa massification en novembre 2022 ? Comment faut-il prompter une IA en 2024 ? <\/p>\n<p>Ce nouvel article vise \u00e0 proposer un guide avec des instructions d\u00e9taill\u00e9es pour am\u00e9liorer la qualit\u00e9 des prompts destin\u00e9es aux Mod\u00e8les de Langage \u00e0 Grande \u00c9chelle (LLMs). Il se base sur le papier de Bsharat &#038; al. (2023), disponible sur Arxiv et intitul\u00e9 \u00ab\u00a0Principled Instructions Are All You Need for Questioning LLaMA-1\/2, GPT-3.5\/4\u00a0\u00bb. <\/p>\n<p>Les r\u00e9sultats de cette \u00e9tude montrent que les mod\u00e8les plus vastes simulent mieux les consignes, et que clairement la pr\u00e9cision des directives am\u00e9liore la performance des LLMs. Assigner un r\u00f4le sp\u00e9cifique aux LLMs s&rsquo;av\u00e8re donc utile pour obtenir des r\u00e9sultats en ad\u00e9quation avec nos attentes. Autrement dit : \u00ab\u00a0Garbage in, garbage out\u00a0\u00bb&#8230; alors soignez vos prompts ! Quelques astuces plus exotiques (comme le pourboire, l&rsquo;obligation ou l&rsquo;absence de politesse) aident aussi \u00e0 am\u00e9liorer les r\u00e9ponses.<\/p>\n<p>Plus pr\u00e9cis\u00e9ment, le papier montre, avec le test de r\u00e9f\u00e9rence ATLAS con\u00e7u manuellement, qui comprend des questions multiples pour chaque principe, que les prompts propos\u00e9s selon le guide ont am\u00e9lior\u00e9 la qualit\u00e9 et la pr\u00e9cision des r\u00e9ponses LLM d&rsquo;une moyenne de 57,7 % et de 67,3 %, respectivement, lorsqu&rsquo;elles sont appliqu\u00e9es \u00e0 GPT-4 (voir le repository GitHub d&rsquo;Atlas).<\/p>\n","protected":false},"author":1,"featured_media":134,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55,58],"tags":[64,29,16,63],"class_list":["post-131","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-techniques-ia","category-prompting","tag-methodologie","tag-prompt-engineering","tag-prompts","tag-technique"],"_links":{"self":[{"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/posts\/131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/comments?post=131"}],"version-history":[{"count":3,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/posts\/131\/revisions"}],"predecessor-version":[{"id":175,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/posts\/131\/revisions\/175"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/media\/134"}],"wp:attachment":[{"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/media?parent=131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/categories?post=131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/tags?post=131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}