L’ingénierie des invites est devenue une technique essentielle pour améliorer les capacités des modèles de langage à grande échelle (LLM) et des modèles de langage visuel (VLM) pré-entraînés. Elle implique la conception stratégique d’instructions spécifiques à une tâche, appelées invites, pour guider la sortie du modèle sans modifier les paramètres. En offrant un mécanisme permettant d’affiner les sorties du modèle grâce à des instructions soigneusement élaborées, l’ingénierie des invites permet à ces modèles d’exceller dans diverses tâches et domaines. Cette adaptabilité est différente des paradigmes traditionnels, où un recyclage du modèle ou un réglage fin approfondi est souvent nécessaire pour des performances spécifiques à une tâche.

Sources :

https://arxiv.org/pdf/2402.07927

https://arxiv.org/pdf/2310.14735

prompt ingénierie

Elements de base de GPT

Lorsque GPT-4 reçoit une invite de saisie, le texte saisi est d’abord converti en jetons que le modèle peut interpréter et traiter. Ces jetons sont ensuite gérés par des couches de transformation, qui capturent leurs relations et leur contexte. Au sein de ces couches, des mécanismes d’attention distribuent différents poids aux jetons en fonction de leur pertinence et de leur contexte. Après le traitement de l’attention, le modèle forme ses rendus internes des données d’entrée, appelés représentations intermédiaires. Ces représentations sont ensuite décodées en texte lisible par l’homme.

La méthode de base de l’invite est « d’être clair et précis ». Cela implique de formuler des invites sans ambiguïté et spécifiques, qui peuvent guider le modèle vers la génération du résultat souhaité.

L’invite de rôle est une autre méthode fondamentale de l’ingénierie des invites. Elle consiste à donner au modèle un rôle spécifique à jouer, comme celui d’un assistant utile ou d’un expert compétent. Cette méthode peut être particulièrement efficace pour guider les réponses du modèle et garantir qu’elles correspondent au résultat souhaité.

Dans l’ingénierie des invites, l’utilisation de guillemets triples est une technique utilisée pour séparer différentes parties d’une invite ou pour encapsuler des chaînes de plusieurs lignes. Cette technique est particulièrement utile lorsqu’il s’agit d’invites complexes qui incluent plusieurs composants ou lorsque l’invite elle-même contient des guillemets, ce qui permet au modèle de mieux comprendre les instructions.

En raison de la nature non déterministe des LLM, il est souvent avantageux d’essayer plusieurs fois lors de la génération de réponses. Cette technique, souvent appelée « rééchantillonnage », consiste à exécuter le modèle plusieurs fois avec la même invite et à sélectionner le meilleur résultat. Cette approche peut aider à surmonter la variabilité inhérente aux réponses du modèle et augmenter les chances d’obtenir un résultat de haute qualité.

Les plugins GPT

Avant de terminer cette discussion sur les techniques d’optimisation des invites, nous devons mentionner l’utilisation d’assistants d’ingénierie d’invites externes qui ont été développés récemment et qui présentent un potentiel prometteur. Contrairement aux méthodes présentées précédemment, ces instruments peuvent nous aider à peaufiner l’invite directement. Ils sont capables d’analyser les entrées des utilisateurs et de produire ensuite des résultats pertinents dans un contexte défini par lui-même, amplifiant ainsi l’efficacité des invites. Certains des plugins fournis par la boutique OpenAI GPT sont de bons exemples de tels outils.

GPT prompting

Une telle intégration peut avoir un impact sur la manière dont les LLM interprètent et réagissent aux invites, illustrant un lien entre l’ingénierie des invites et les plugins. Les plugins atténuent la nature laborieuse de l’ingénierie des invites complexe, permettant au modèle de comprendre ou de répondre plus efficacement aux demandes des utilisateurs sans nécessiter d’invites trop détaillées. Par conséquent, les plugins peuvent renforcer l’efficacité de l’ingénierie des invites tout en favorisant une efficacité centrée sur l’utilisateur améliorée.

Ces outils, semblables à des packages, peuvent être intégrés de manière transparente dans Python et invoqués directement. Par exemple, le plug-in « Prompt Enhancer », développé par AISEO, peut être invoqué en démarrant l’invite avec le mot « AISEO » pour permettre au générateur d’invites AISEO d’améliorer automatiquement l’invite LLM fournie.

De même, un autre plugin appelé « Prompt Perfect », peut être utilisé en démarrant l’invite avec « perfect » pour améliorer automatiquement l’invite, en visant l’invite « parfaite » pour la tâche à accomplir.

Néanmoins, bien que l’utilisation de plugins pour améliorer les invites soit simple et pratique, il n’est pas toujours clair quelle technique d’ingénierie des invites, ou quelle combinaison de techniques, est mise en œuvre par un plugin donné, étant donné la nature fermée de la plupart des plugins.

Fonctionnement des LLMs

ChatGPT, un membre de la famille GPT, est construit sur une architecture de transformateur, qui est au cœur de la façon dont il traite et génère des réponses. Les transformateurs utilisent une série de mécanismes d’attention pour évaluer l’importance des différentes parties du texte d’entrée, garantissant que les informations les plus pertinentes sont prioritaires lors de la génération d’une sortie.

L’architecture se compose d’encodeurs et de décodeurs. Les encodeurs traitent les données d’entrée et capturent les relations contextuelles entre les mots, tandis que les décodeurs utilisent ce contexte pour générer une sortie cohérente. L’auto-attention est un élément clé, permettant au modèle de se concentrer sur différentes parties du texte en fonction de leur pertinence par rapport à la tâche à accomplir. Dans le cas de ChatGPT, une fois qu’une invite est soumise, le texte d’entrée est divisé en unités plus petites appelées jetons. Ces jetons sont traités via plusieurs couches, qui analysent leurs relations pour générer une réponse finale.

De plus, ChatGPT est affiné avec l’apprentissage par renforcement à partir du feedback humain (RLHF), où le feedback humain est intégré pour améliorer la qualité des réponses du modèle. Ce processus permet d’aligner davantage le modèle sur les préférences et les besoins des utilisateurs, garantissant ainsi qu’il génère des résultats non seulement précis, mais également pertinents et cohérents sur le plan contextuel.

En combinant l’architecture du transformateur avec l’ingénierie rapide, ChatGPT excelle dans une variété de tâches, de la conversation informelle à la résolution de problèmes spécialisés, soulignant l’importance de l’ingénierie rapide pour maximiser les capacités des LLM.

Elements de Prompt Engineering

Au cœur du fonctionnement de ChatGPT et d’autres modèles basés sur des transformateurs se trouve la tokenisation. La tokenisation consiste à décomposer le texte d’entrée en unités plus petites appelées tokens, qui peuvent être des mots, des sous-mots ou même des caractères individuels. Ces tokens servent de blocs de construction de base pour le traitement des entrées, permettant au modèle d’analyser les modèles et les relations au sein des données. Les tokens sont ensuite traités via les mécanismes d’attention du transformateur.

Le mécanisme d’auto-attention est essentiel pour comprendre les relations entre les tokens. Il permet au modèle de hiérarchiser certaines parties de l’entrée en fonction de leur importance par rapport au contexte global. Par exemple, dans une invite sur le changement climatique, le modèle accorderait une plus grande attention aux tokens liés au sujet (par exemple, « réchauffement climatique », « émissions de carbone ») tout en accordant moins d’attention aux mots moins pertinents (par exemple, « un », « le »).

Ce mécanisme d’auto-attention permet à ChatGPT de générer des réponses qui reflètent avec précision le contexte de l’invite. En comprenant comment les différentes parties du texte d’entrée sont liées les unes aux autres, le modèle peut capturer des relations complexes, telles que la cause et l’effet, et générer des réponses logiques et cohérentes.

GPT-4 traite les invites en plusieurs étapes pour générer des résultats pertinents et précis. Voici une description simplifiée de son fonctionnement :

  1. Tokenisation des entrées : lorsqu’un utilisateur fournit une invite, GPT-4 segmente le texte en unités plus petites qui peuvent être interprétées numériquement. Ce processus permet au modèle d’analyser le texte de manière structurée.
  2. Auto-attention et codage contextuel : les jetons passent par plusieurs couches de mécanismes d’auto-attention. Chaque couche capture les relations entre les jetons à différents niveaux d’abstraction, aidant le modèle à comprendre à la fois le contexte local et global de l’entrée.
  3. Représentations intermédiaires : à mesure que les jetons se déplacent dans les couches du modèle, GPT-4 génère des représentations intermédiaires qui codent la signification et les relations entre les jetons. Ces représentations évoluent à mesure qu’elles traversent des couches successives, construisant progressivement une compréhension plus approfondie de l’invite.
  4. Décodage et génération de sortie : enfin, GPT-4 génère une sortie en prédisant le prochain jeton de la séquence, une étape à la fois. Le modèle s’appuie sur ses connaissances acquises pour générer des réponses cohérentes et contextuellement pertinentes, en veillant à ce que chaque jeton soit influencé par les jetons qui l’ont précédé.

Ce processus permet à GPT-4 d’exceller dans des tâches telles que répondre à des questions, effectuer un raisonnement logique et générer un texte détaillé, de type humain. Le raffinement des entrées grâce à l’attention et au traitement par couches est essentiel à la capacité du modèle à fournir des sorties précises et pertinentes.

Il est essentiel de créer des invites efficaces pour garantir que ChatGPT fournit des réponses de haute qualité. Il existe plusieurs techniques clés pour la conception d’invites :

Clarté et spécificité : plus une invite est claire et spécifique, mieux le modèle peut comprendre et répondre de manière appropriée. Des invites ambiguës ou trop larges donnent souvent lieu à des réponses vagues ou non pertinentes. Par exemple, au lieu de demander « Parlez-moi de la technologie », une invite plus spécifique comme « Expliquez comment la technologie blockchain est utilisée dans la finance » générera une réponse plus ciblée et informative.

Invitation de rôle : l’attribution d’un rôle spécifique à ChatGPT dans l’invite peut améliorer considérablement la pertinence et la qualité de sa réponse. Par exemple, en spécifiant « Vous êtes un historien expert » dans l’invite, le modèle générera une réponse plus détaillée et contextuellement riche en informations historiques. L’invite de rôle est particulièrement utile pour les tâches spécialisées, telles que la fourniture d’explications techniques ou la simulation de rôles professionnels (par exemple, médecin, enseignant, ingénieur logiciel).

Une conception efficace des invites implique également de structurer les entrées de manière à aider le modèle à générer des réponses plus précises et nuancées. Voici quelques stratégies :

  1. Entrées contextuelles : l’ajout d’un contexte pertinent à l’invite peut aider à guider le modèle vers une réponse plus précise. Par exemple, au lieu de simplement demander « Comment le changement climatique affecte-t-il l’agriculture ?», ajouter un contexte tel que « Dans le contexte des pays en développement, comment le changement climatique affecte-t-il la production agricole ?» garantit une réponse plus ciblée et détaillée.
  2. Superposition des informations : lors du traitement de requêtes complexes, la structuration de l’invite en sections peut améliorer la sortie du modèle. Par exemple, une invite telle que « Expliquez les principaux facteurs à l’origine de l’inflation, en mettant l’accent sur la politique monétaire, les perturbations de la chaîne d’approvisionnement et les tendances du marché du travail » garantit que le modèle aborde chaque composant de manière structurée et logique.
  3. Invites itératives : pour les tâches qui nécessitent un affinement, l’utilisation d’invites itératives peut conduire à de meilleurs résultats. Les utilisateurs peuvent affiner l’invite en fonction de la sortie précédente du modèle, en la guidant étape par étape à travers des explications complexes ou des tâches de résolution de problèmes. Cette approche est particulièrement utile pour le raisonnement en plusieurs étapes ou les tâches techniques.

En utilisant ces techniques, les utilisateurs peuvent améliorer considérablement la qualité des résultats de ChatGPT, en rendant les réponses plus adaptées à leurs objectifs spécifiques.

Optimisation des performances

L’évaluation des résultats des techniques avancées d’incitation est essentielle pour garantir que les résultats générés par le modèle sont précis, fiables et utiles pour la tâche à accomplir. Plusieurs méthodes d’évaluation peuvent être appliquées en fonction de la nature de la tâche de recherche :

Précision et pertinence : pour les tâches factuelles, telles que la synthèse de recherches ou la réponse à des questions spécifiques, la précision des résultats doit être vérifiée par rapport à des sources fiables. Cela est particulièrement important pour les tâches à zéro ou à quelques essais, où le modèle s’appuie fortement sur des connaissances préexistantes.

Cohérence logique : lorsque vous utilisez l’incitation à la chaîne de pensée ou à l’auto-cohérence, il est important d’évaluer le flux logique du raisonnement. Le résultat a-t-il du sens étape par étape ? Pour les tâches de recherche qui impliquent un raisonnement en plusieurs étapes, assurez-vous que chaque étape est valide et contribue à la conclusion globale.

Cohérence : dans l’incitation à l’auto-cohérence, évaluez la cohérence des multiples résultats du modèle. Si plusieurs réponses convergent vers la même réponse, cela augmente la confiance dans l’exactitude du résultat. En cas de variation importante, il peut être nécessaire d’affiner l’invite ou la tâche.

Exhaustivité : en particulier dans le cas d’une invite CoT, assurez-vous que le modèle aborde toutes les parties de la tâche. Par exemple, si l’invite demande au modèle d’expliquer à la fois les facteurs naturels et humains du changement climatique, la réponse doit couvrir les deux aspects de manière exhaustive.

Biais et objectivité : évaluez si le modèle a introduit des biais dans ses réponses, en particulier pour les sujets de recherche sensibles. Le modèle doit rester objectif et s’abstenir de donner des avis biaisés, sauf si la tâche nécessite spécifiquement une contribution subjective.

Tests utilisateurs : pour les tâches nécessitant un raisonnement complexe, comme la résolution de problèmes mathématiques ou scientifiques, les résultats peuvent être évalués par des experts en la matière ou par le biais d’études utilisateurs pour évaluer leur validité et leur utilisabilité.

En appliquant ces méthodes d’évaluation, les utilisateurs peuvent s’assurer que les techniques d’invite avancées produisent des résultats fiables et de haute qualité pour diverses tâches de recherche.

L’optimisation des performances des invites dans les grands modèles linguistiques (LLM) comme GPT-4 est essentielle pour garantir que les réponses sont précises, pertinentes et conformes aux attentes des utilisateurs. En ajustant la manière dont le modèle interprète les entrées et génère les sorties, les utilisateurs peuvent exercer un meilleur contrôle sur la qualité des réponses. Deux stratégies clés pour optimiser les performances des invites incluent les techniques de température et d’échantillonnage et l’utilisation d’informations contextuelles.

Température : ce paramètre contrôle le caractère aléatoire de la sortie du modèle. L’échelle varie généralement de 0 à 1.

Les températures plus basses (plus proches de 0) produisent des sorties plus ciblées et déterministes. Le modèle est plus susceptible de choisir le mot suivant le plus probable, ce qui conduit à des réponses précises et cohérentes. C’est idéal pour la rédaction factuelle, technique ou formelle où la précision et la clarté sont essentielles.

Les températures plus élevées (plus proches de 1) introduisent plus de diversité et de caractère aléatoire dans la sortie. Le modèle est moins contraint par la probabilité, ce qui encourage la créativité et la variabilité des réponses. Ce paramètre fonctionne bien pour les tâches créatives, comme la génération d’histoires, le brainstorming ou les questions ouvertes.

Exemple :
Invite : « Écrivez une explication formelle de la mécanique quantique ».
Avec une température définie sur 0,2, le modèle fournira une explication claire et précise basée sur des jetons à forte probabilité.
Avec une température de 0,8, la réponse peut inclure des explications plus variées, potentiellement créatives ou non conventionnelles, qui pourraient être utiles pour explorer différentes perspectives.

Échantillonnage Top-p (noyau) : dans l’échantillonnage Top-p, le modèle sélectionne le pourcentage le plus élevé de mots suivants probables plutôt que de suivre strictement le chemin de probabilité le plus élevé. Le modèle continue l’échantillonnage jusqu’à ce que la probabilité cumulative atteigne un seuil défini par l’utilisateur (p).

Des valeurs inférieures de p (par exemple, 0,5) conduisent à des réponses plus conservatrices, tandis que des valeurs plus élevées (par exemple, 0,9) introduisent une plus grande variété dans la sortie.

Exemple :
Invite : « Décrivez les applications futures potentielles de l’intelligence artificielle dans les soins de santé.»

À une valeur supérieure de p de 0,5, le modèle fournira des réponses standard et hautement probables, telles que des améliorations des outils de diagnostic et des traitements personnalisés.

Avec une valeur p supérieure de 0,9, le modèle inclura des réponses plus diverses et éventuellement spéculatives, telles que les avancées de l’IA dans le soutien émotionnel des patients ou de nouvelles applications en télémédecine.

Dans de nombreux cas, les performances d’une invite peuvent être considérablement améliorées en intégrant un contexte supplémentaire dans l’entrée. Cette technique guide le modèle plus efficacement en lui fournissant des informations de base pertinentes ou en encadrant l’invite d’une manière spécifique qui conduit à des résultats plus ciblés et plus précis.

Les invites contextuelles sont conçues pour inclure des données externes, des connaissances de base ou des instructions spécifiques, qui aident à guider le modèle vers une réponse plus précise. Par exemple, au lieu de poser une question générale comme « Quelle est l’importance des énergies renouvelables ? », l’intégration d’un contexte dans l’invite, comme un objectif géographique ou une période de temps spécifique, peut conduire à des réponses plus ciblées et pertinentes.

Exemple :
Invite : « Selon le rapport 2022 du GIEC, expliquez comment les énergies renouvelables contribuent à réduire les émissions de carbone dans les pays en développement.»

L’inclusion du rapport du GIEC dans l’invite restreint la portée du modèle, l’amenant à s’appuyer sur des connaissances spécifiques sur les émissions de carbone et les tendances des énergies renouvelables dans les pays en développement.

En intégrant de tels indices contextuels, les utilisateurs peuvent adapter les réponses à leurs besoins spécifiques, rendant le modèle plus réactif aux demandes complexes ou spécialisées.

Une autre stratégie efficace consiste à attribuer des rôles au modèle, en combinaison avec un contexte intégré. Par exemple, demander à ChatGPT d’« agir en tant que climatologue » lors de la réponse à une question sur les énergies renouvelables garantit que le résultat est formulé avec l’expertise et l’orientation appropriées.

Exemple :
Invite : « En tant que climatologue, expliquez les avantages environnementaux à long terme de l’énergie éolienne en Europe, en vous concentrant sur la dernière décennie. »

L’invite basée sur les rôles donne au modèle des indications claires sur l’expertise attendue dans la réponse, tandis que le contexte intégré la concentre sur une zone géographique et une période spécifiques.

fr_FRFR