Qu'est-ce que l'ingénierie rapide ?
L’ingénierie de requête est le processus par lequel vous orientez les solutions d’intelligence artificielle générative (IA générative) pour générer les résultats souhaités. Même si l'IA générative tente d'imiter les humains, elle nécessite des instructions détaillées pour créer des résultats pertinents et de haute qualité. Dans l'ingénierie de prompt, vous choisissez les formats, les phrases, les mots et les symboles les plus appropriés pour aider l'IA à interagir plus efficacement avec vos utilisateurs. Les ingénieurs de Prompt font appel à la créativité et aux essais et erreurs pour créer une collection de textes d'entrée, de sorte que l'IA générative d'une application fonctionne comme prévu.
Qu'est-ce qu'une invite ?
Une invite est un texte en langage naturel qui demande à l’IA générative d’effectuer une tâche spécifique. L'IA générative est une solution d'intelligence artificielle qui crée de nouveaux contenus tels que des histoires, des conversations, des vidéos, des images et de la musique. Il repose sur de très grands modèles de machine learning (ML) qui utilisent des réseaux neuronaux profonds préentraînés sur de grandes quantités de données.
Les grands modèles linguistiques (LLM) sont très flexibles et peuvent effectuer diverses tâches. Par exemple, ils peuvent résumer des documents, compléter des phrases, répondre à des questions et traduire des langues. Pour les entrées spécifiques des utilisateurs, les modèles fonctionnent en prédisant le meilleur résultat qu'ils ont déterminé à partir des formations passées.
Cependant, comme elles sont très ouvertes, vos utilisateurs peuvent interagir avec des solutions d'IA générative grâce à d'innombrables combinaisons de données d'entrée. Les modèles de langage d'IA sont très puissants et ne nécessitent pas grand-chose pour commencer à créer du contenu. Un seul mot suffit pour que le système puisse créer une réponse détaillée.
Cela étant dit, ce ne sont pas tous les types d'entrée qui génèrent des résultats utiles. Les systèmes d'IA générative nécessitent un contexte et des informations détaillées pour produire des réponses précises et pertinentes. Lorsque vous concevez systématiquement des instructions, vous obtenez des créations plus pertinentes et plus utilisables. Dans le cadre de l'ingénierie rapide, vous affinez continuellement les instructions jusqu'à ce que vous obteniez les résultats souhaités avec le système d'IA.
Pourquoi une ingénierie rapide est-elle importante ?
Les emplois en ingénierie rapide ont considérablement augmenté depuis le lancement de l'IA générative. Des ingénieurs compétents comblent le fossé entre vos utilisateurs finaux et le grand modèle linguistique. Ils identifient les scripts et les modèles que vos utilisateurs peuvent personnaliser et compléter pour tirer le meilleur parti des modèles linguistiques. Ces ingénieurs expérimentent différents types d'entrées pour créer une bibliothèque rapide que les développeurs d'applications peuvent réutiliser dans différents scénarios.
Une ingénierie rapide rend les applications d'IA plus efficaces et efficaces. Les développeurs d'applications encapsulent généralement les entrées utilisateur ouvertes dans une invite avant de les transmettre au modèle d'IA.
Prenons l’exemple des chatbots basés sur l’IA. Un utilisateur peut saisir un énoncé de problème incomplet, tel que « Où acheter une chemise ». En interne, le code de l'application utilise une invite conçue qui dit : « Vous êtes assistante commerciale pour une entreprise de vêtements. Un utilisateur, basé en Alabama, aux États-Unis, vous demande où acheter une chemise. Répondez aux trois magasins les plus proches qui proposent actuellement une chemise. » Le chatbot génère alors des informations plus pertinentes et plus précises.
Ensuite, nous discutons de certains avantages d'une ingénierie rapide.
Contrôle accru des développeurs
Une ingénierie rapide permet aux développeurs de mieux contrôler les interactions des utilisateurs avec l'IA. Des instructions efficaces fournissent une intention et établissent le contexte des grands modèles linguistiques. Elles aident l'IA à affiner le résultat et à le présenter de manière concise dans le format requis.
Elles empêchent également vos utilisateurs d'utiliser l'IA à mauvais escient ou de demander quelque chose que l'IA ne connaît pas ou ne peut pas traiter correctement. Par exemple, vous souhaiterez peut-être empêcher vos utilisateurs de générer du contenu inapproprié dans une application d'IA professionnelle.
Amélioration de l'expérience utilisateur
Les utilisateurs évitent les essais et les erreurs tout en recevant des réponses cohérentes, précises et pertinentes de la part des outils d'IA. Une ingénierie rapide permet aux utilisateurs d'obtenir facilement des résultats pertinents dès le premier contact. Cela permet d'atténuer les biais qui peuvent découler des biais humains existants dans les données d'entraînement des grands modèles linguistiques.
De plus, elle améliore l'interaction entre l'utilisateur et l'IA afin que celle-ci comprenne l'intention de l'utilisateur même avec un minimum de saisie. Par exemple, les demandes visant à résumer un document juridique et un article de presse obtiennent des résultats différents, ajustés en fonction du style et du ton. Cela est vrai même si les deux utilisateurs se contentent de dire à l'application : « Résumez ce document. »
Flexibilité améliorée
Des niveaux d'abstraction plus élevés améliorent les modèles d'IA et permettent aux organisations de créer des outils plus flexibles à grande échelle. Un ingénieur rapide peut créer des invites contenant des instructions indépendantes du domaine mettant en évidence les liens logiques et les modèles généraux. Les organisations peuvent rapidement réutiliser les instructions dans l'ensemble de l'entreprise pour accroître leurs investissements dans l'IA.
Par exemple, pour identifier les opportunités d'optimisation des processus, l'ingénieur chargé des commandes peut créer différentes instructions qui entraînent le modèle d'IA à détecter les inefficiences en utilisant des signaux généraux plutôt que des données spécifiques au contexte. Les instructions peuvent ensuite être utilisées pour divers processus et unités commerciales.
Quels sont les cas d'utilisation rapides en ingénierie ?
Des techniques d'ingénierie rapides sont utilisées dans des systèmes d'IA sophistiqués pour améliorer l'expérience utilisateur avec le modèle de langage d'apprentissage. Voici quelques exemples.
Expertise en la matière
L'ingénierie rapide joue un rôle clé dans les applications qui nécessitent que l'IA réponde avec une expertise en la matière. Un ingénieur expérimenté dans le domaine peut aider l'IA à référencer les bonnes sources et à formuler la réponse de manière appropriée en fonction de la question posée.
Par exemple, dans le domaine médical, un médecin pourrait utiliser un modèle de langage conçu à la demande pour générer des diagnostics différentiels pour un cas complexe. Le professionnel de santé n'a qu'à saisir les symptômes et les détails du patient. L'application utilise des instructions conçues pour guider l'IA dans un premier temps afin de répertorier les maladies possibles associées aux symptômes saisis. Ensuite, il affine la liste en fonction des informations supplémentaires sur le patient.
Pensée critique
Les applications de pensée critique nécessitent le modèle de langage pour résoudre des problèmes complexes. Pour ce faire, le modèle analyse les informations sous différents angles, évalue leur crédibilité et prend des décisions raisonnées. Une ingénierie rapide améliore les capacités d'analyse des données d'un modèle.
Par exemple, dans les scénarios de prise de décision, vous pouvez demander à un modèle de répertorier toutes les options possibles, d'évaluer chaque option et de recommander la meilleure solution.
Créativité
La créativité implique de générer de nouvelles idées, concepts ou solutions. Une ingénierie rapide peut être utilisée pour améliorer les capacités créatives d'un modèle dans divers scénarios.
Par exemple, pour écrire des scénarios, un écrivain pourrait utiliser un modèle conçu à l'aide d'instructions pour générer des idées pour une histoire. L'auteur peut demander au modèle de répertorier les personnages, les décors et les points de l'intrigue possibles, puis de développer une histoire avec ces éléments. Un graphiste peut également demander au modèle de générer une liste de palettes de couleurs évoquant une certaine émotion, puis de créer un design à l'aide de cette palette.
Quelles sont les techniques d'ingénierie rapides ?
L'ingénierie rapide est un domaine dynamique et évolutif. Il faut à la fois des compétences linguistiques et une expression créative pour affiner les instructions et obtenir la réponse souhaitée à partir des outils d'IA générative.
Voici quelques exemples de techniques utilisées par les ingénieurs pour améliorer les tâches de traitement du langage naturel (NLP) de leurs modèles d'IA.
Incitation par la chaîne de pensée
L'incitation par la chaîne de pensée est une technique qui décompose une question complexe en parties logiques plus petites qui imitent un fil de pensée. Cela permet au modèle de résoudre les problèmes en une série d'étapes intermédiaires plutôt que de répondre directement à la question. Cela améliore sa capacité de raisonnement.
Vous pouvez effectuer plusieurs déploiements en chaîne pour des tâches complexes et choisir la conclusion la plus fréquemment atteinte. En cas de désaccord significatif entre les déploiements, une personne peut être consultée pour corriger la chaîne de pensée.
Par exemple, si la question est « Quelle est la capitale de la France ? « le modèle pourrait effectuer plusieurs déploiements aboutissant à des réponses telles que « Paris », « Paris est la capitale de la France » et « Paris est la capitale de la France. » Étant donné que tous les déploiements aboutissent à la même conclusion, « Paris » serait sélectionné comme réponse finale.
Incitation sur l'arbre de pensée
La technique de l'arbre de pensée généralise l'incitation par la chaîne de pensée. Elle invite le modèle à générer une ou plusieurs étapes suivantes possibles. Elle exécute ensuite le modèle à chaque étape suivante possible à l'aide d'une méthode de recherche arborescente.
Par exemple, si la question est « Quels sont les effets du changement climatique ?, le modèle pourrait d'abord générer les prochaines étapes possibles, telles que « répertorier les effets environnementaux » et « répertorier les effets sociaux ».« Il développerait ensuite chacun de ces points au cours des étapes suivantes.
Incitation maïeutique
L'incitation maïeutique est similaire à l'incitation fondée sur l'arbre de pensée. Le modèle est invité à répondre à une question avec une explication. Le modèle est ensuite invité à expliquer certaines parties de l'explication. Explication incohérente, les arbres sont élagués ou jetés. Cela améliore les performances en matière de raisonnement complexe basé sur le bon sens.
Par exemple, si la question est « Pourquoi le ciel est-il bleu ? le modèle pourrait d'abord répondre : « Le ciel apparaît bleu à l'œil nu parce que les courtes ondes de lumière bleue sont diffusées dans toutes les directions par les gaz et les particules de l'atmosphère terrestre. » Il pourrait ensuite développer certaines parties de cette explication, telles que les raisons pour lesquelles la lumière bleue est plus diffusée que les autres couleurs et la composition de l'atmosphère terrestre.
Incitation basée sur la complexité
Cette technique d'ingénierie rapide consiste à effectuer plusieurs déploiements de chaînes de pensée. Elle choisit les déploiements comportant les chaînes de réflexion les plus longues, puis choisit la conclusion la plus fréquemment atteinte.
Par exemple, si la question porte sur un problème mathématique complexe, le modèle peut effectuer plusieurs déploiements, chacun impliquant plusieurs étapes de calcul. Elle examinerait les déploiements comportant la chaîne de réflexion la plus longue, ce qui, dans cet exemple, représenterait le plus grand nombre d'étapes de calcul. Les déploiements aboutissant à une conclusion commune avec les autres déploiements seraient sélectionnés comme réponse finale.
Incitation à la connaissance générée
Cette technique consiste à demander au modèle de générer d'abord les faits pertinents nécessaires pour compléter l'invite. Ensuite, elle procède ensuite à l'exécution de l'invite. Cela se traduit souvent par une meilleure qualité de réalisation, car le modèle est conditionné par des faits pertinents.
Par exemple, imaginez qu'un utilisateur invite le modèle à rédiger un essai sur les effets de la déforestation. Le modèle pourrait d'abord générer des faits tels que « la déforestation contribue au changement climatique » et « la déforestation entraîne une perte de biodiversité ». Ensuite, elle développerait les points de l'essai.
Incitation la plus faible à la plus forte
Dans cette technique d'ingénierie rapide, le modèle est d'abord invité à répertorier les sous-problèmes d'un problème, puis à les résoudre dans l'ordre. Cette approche garantit que les sous-problèmes ultérieurs peuvent être résolus à l'aide de réponses aux sous-problèmes précédents.
Par exemple, imaginez qu'un utilisateur demande au modèle un problème mathématique tel que « Résoudre pour x dans l'équation 2x 3 = 11. » Le modèle peut d'abord répertorier les sous-problèmes comme « Soustraire 3 des deux côtés » et « Diviser par 2 ». Elle les résoudrait ensuite en séquence pour obtenir la réponse finale.
Incitation à l'autoréflexion
Dans cette technique, le modèle est invité à résoudre le problème, à critiquer sa solution, puis à résoudre le problème en tenant compte du problème, de la solution et de la critique. Le processus de résolution de problèmes se répète jusqu'à ce qu'une raison prédéterminée d'arrêt soit atteinte. Par exemple, il peut manquer de jetons ou de temps, ou le modèle peut générer un jeton d'arrêt.
Par exemple, imaginez qu'un utilisateur demande à un modèle : « Rédigez un court essai sur la littérature. » Le modèle peut rédiger un essai, le critiquer faute d'exemples spécifiques et le réécrire pour inclure des exemples spécifiques. Ce processus se répète jusqu'à ce que l'essai soit jugé satisfaisant ou qu'un critère d'arrêt soit atteint.
Incitation à un stimulus directionnel
Cette technique d'ingénierie rapide inclut un indice ou un indice, tel que des mots clés souhaités, pour guider le modèle de langage vers le résultat souhaité.
Par exemple, si l'invite consiste à écrire un poème sur l'amour, l'ingénieur peut créer des instructions qui incluent « cœur », « passion » et « éternel ». On pourrait demander au : « Écrivez un poème sur l'amour qui inclut les mots « cœur », « passion » et « éternel ». » Cela guidera le modèle pour créer un poème avec ces mots clés.
Quelles sont les meilleures pratiques en matière d'ingénierie rapide ?
Une bonne ingénierie rapide nécessite que vous communiquiez des instructions avec le contexte, le champ d'application et la réponse attendue. Ensuite, nous partageons quelques bonnes pratiques.
Des invites sans ambiguïté
Définissez clairement la réponse souhaitée dans votre invite afin d'éviter toute interprétation erronée par l'IA. Par exemple, si vous demandez un nouveau résumé, indiquez clairement que vous recherchez un résumé et non une analyse détaillée. Cela permet à l'IA de se concentrer uniquement sur votre demande et de fournir une réponse conforme à votre objectif.
Contexte adéquat dans l'invite
Fournissez un contexte adéquat dans l'invite et incluez les exigences de sortie dans votre saisie rapide, en la limitant à un format spécifique. Supposons, par exemple, que vous vouliez une liste des films les plus populaires des années 1990 dans un tableau. Pour obtenir le résultat exact, vous devez indiquer explicitement le nombre de films que vous souhaitez répertorier et demander le formatage du tableau.
Équilibre entre les informations ciblées et le résultat souhaité
Trouvez l'équilibre entre simplicité et complexité dans votre message afin d'éviter les réponses vagues, indépendantes ou inattendues. Une invite trop simple peut manquer de contexte, tandis qu'une invite trop complexe peut semer la confusion dans l'IA. Cela est particulièrement important pour les sujets complexes ou le langage spécifique à un domaine, qui peuvent être moins familiers à l'IA. Utilisez plutôt un langage simple et réduisez la taille de l'invite pour rendre votre question plus compréhensible.
Expérimentez et affinez l'invite
L'ingénierie rapide est un processus itératif. Il est essentiel d'expérimenter différentes idées et de tester les instructions de l'IA pour voir les résultats. Il se peut que vous ayez besoin de plusieurs essais pour optimiser la précision et la pertinence. Les tests et itérations continus réduisent la taille de l'invite et aident le modèle à générer de meilleurs résultats. Il n'existe aucune règle fixe quant à la manière dont l'IA produit les informations. La flexibilité et l'adaptabilité sont donc essentielles.
Comment AWS peut-il répondre à vos besoins en matière d'IA générative ?
Amazon Web Services (AWS) propose une gamme complète d'outils permettant de créer et d'utiliser l'IA générative. Par exemple, vous pouvez utiliser les services suivants :
- Amazon Q Developer pour générer des suggestions de code allant d’extraits de code à des fonctions complètes en temps réel sur la base de vos commentaires et du code existant.
- Amazon Bedrock pour accélérer le développement d'applications d'IA générative à l'aide de modèles linguistiques via une API, sans gérer l'infrastructure.
- Amazon SageMaker JumpStart pour découvrir, explorer et déployer des modèles de langage open source. Par exemple, vous pouvez travailler avec des modèles tels que OpenLLaMA, RedPajama, MPT-7B, FLAN-T5, GPT-NeoX-20B et BLOOM de MosaicML.
Si vous préférez créer vos propres modèles, utilisez Amazon SageMaker. Il fournit une infrastructure et des outils gérés pour accélérer la création, la formation et le déploiement de modèles évolutifs, fiables et sécurisés.
Commencez à utiliser l’ingénierie de requête sur AWS en créant un compte dès aujourd’hui.