Maximiser les grands modèles de langage avec l'ingénierie des invites
Apprends comment l'ingénierie des prompts améliore les performances des modèles de langage dans les tâches de NLP.
― 8 min lire
Table des matières
- C'est quoi l'ingénierie des prompts ?
- Importance de l'ingénierie des prompts
- Catégories de tâches NLP
- 1. Résolution de problèmes mathématiques
- 2. Raisonnement logique
- 3. Raisonnement de bon sens
- 4. Raisonnement multi-saut
- 5. Raisonnement causal
- 6. Raisonnement social
- 7. Réponse à des questions contextuelles
- 8. Réponse à des questions sans contexte
- 9. Réponse à des questions spatiales
- 10. Systèmes de dialogue
- 11. Génération de code
- Techniques de prompting
- Prompting basique
- Chaîne de pensée (CoT)
- Auto-consistance
- Raffinement d'ensembles (ER)
- Chaîne de pensée automatique (Auto-CoT)
- Prompting de moins à plus
- Chaîne de pensée structurée (SCoT)
- Planifier et résoudre (PS)
- Raisonnement contrastif
- Vérifier et éditer (VE)
- Raisonnement analogique
- Performance à travers les tâches NLP
- Conclusion
- Source originale
- Liens de référence
Les grands modèles de langage (LLMs) ont montré des compétences impressionnantes dans de nombreuses tâches liées au traitement du langage naturel (NLP). Une technique importante qui peut aider à améliorer les performances de ces modèles s'appelle l'Ingénierie des prompts. Cela consiste à créer des instructions en langage naturel, appelées prompts, pour obtenir les meilleures réponses possibles des modèles sans avoir besoin de les réentraîner ou de les ajuster.
C'est quoi l'ingénierie des prompts ?
L'ingénierie des prompts, c'est l'acte de créer des prompts spécifiques qui peuvent guider les LLMs à donner de meilleures réponses. Ça peut se faire à travers de simples échanges conversationnels où l'utilisateur pose des questions au modèle ou donne des instructions. L'idée, c'est d'exploiter ce que le modèle sait déjà et de l'inciter à appliquer efficacement ce savoir.
Dernièrement, l'utilisation de l'ingénierie des prompts a pris de l'ampleur, avec plein de chercheurs qui développent différentes techniques pour former des prompts qui améliorent la précision et donnent de meilleurs résultats dans des tâches NLP spécifiques. Dans cet article, on va parler de plusieurs méthodes de prompting différentes et de leur relation avec diverses tâches NLP.
Importance de l'ingénierie des prompts
L'implémentation de l'ingénierie des prompts a facilité les choses pour les gens qui n'ont pas forcément une formation poussée en apprentissage automatique ou en apprentissage profond pour utiliser les LLMs. Ces modèles sont entraînés sur d'énormes quantités de données textuelles, et à mesure qu'ils grandissent en taille et en complexité, ils deviennent plus capables de réaliser un plus large éventail de tâches. L'ingénierie des prompts profite de ça en permettant aux utilisateurs de communiquer avec les modèles de manière plus simple.
Catégories de tâches NLP
Les tâches NLP peuvent être classées en plusieurs catégories, chacune pouvant bénéficier de différentes stratégies de prompting. Voici quelques-unes des principales catégories :
Résolution de problèmes mathématiques
1.Cette tâche se concentre sur la capacité du modèle à résoudre des problèmes de maths. Les ensembles de données généralement utilisés pour ces tâches incluent divers types de défis arithmétiques et algébriques.
Raisonnement logique
2.Dans cette tâche, le modèle est testé sur sa capacité à suivre des instructions logiques et à produire des réponses correctes. Le raisonnement peut impliquer des séquences et des règles qui nécessitent une compréhension d'instructions complexes.
3. Raisonnement de bon sens
Ici, le modèle utilise sa connaissance générale pour tirer des conclusions sur des scénarios quotidiens. L'accent est mis sur le fait de porter des jugements basés sur des connaissances communes.
4. Raisonnement multi-saut
Cette tâche évalue la capacité du modèle à relier différentes informations à travers un contexte pour répondre à des questions avec précision. Ça implique de synthétiser des informations provenant de plusieurs sources.
5. Raisonnement causal
Ça mesure la capacité du modèle à comprendre les relations de cause à effet entre des événements ou des actions.
6. Raisonnement social
Dans cette tâche, le modèle évalue les interactions humaines et les situations sociales, en comprenant les nuances impliquées.
7. Réponse à des questions contextuelles
Ça évalue à quel point le modèle répond bien aux questions basé sur un contexte fourni, nécessitant qu'il se concentre sur des informations spécifiques présentes dans le texte.
8. Réponse à des questions sans contexte
Le modèle doit s'appuyer uniquement sur ses connaissances intégrées pour répondre à des questions sans aucun contexte supplémentaire.
9. Réponse à des questions spatiales
Cette tâche implique de comprendre les relations spatiales et de raisonner à travers des questions liées à l'espace et à la localisation.
10. Systèmes de dialogue
Ici, le modèle s'engage dans des conversations, générant des réponses qui ont du sens dans le contexte d’une discussion.
11. Génération de code
Cette tâche se concentre sur la capacité du modèle à produire du code de programmation basé sur une entrée en langage naturel.
Techniques de prompting
Maintenant plongeons dans quelques techniques de prompting spécifiques utilisées dans ces tâches :
Prompting basique
C'est la forme la plus simple de prompting où une question directe est présentée au modèle. Il n'y a pas d'améliorations ou de stratégies supplémentaires impliquées. Bien que ça puisse marcher dans certains cas, ça manque souvent de la structure nécessaire pour des tâches plus complexes.
Chaîne de pensée (CoT)
Cette méthode implique de décomposer des tâches de raisonnement complexes en une séquence de petites étapes plus gérables. En faisant ça, le modèle peut mieux suivre le chemin logique pour arriver à une réponse. Des recherches montrent que l'utilisation de CoT peut améliorer significativement la performance du modèle sur des tâches comme la résolution de problèmes mathématiques.
Auto-consistance
Cette technique utilise plusieurs chemins de raisonnement pour parvenir à une réponse finale. Au lieu de s'appuyer sur une seule ligne de pensée, le modèle génère plusieurs réponses, et la plus cohérente est choisie. Cette approche a montré des gains positifs en performance pour des tâches de raisonnement complexes.
Raffinement d'ensembles (ER)
ER s'appuie sur CoT et l'auto-consistance. Ça génère plusieurs réponses basées sur un prompt donné et les affine à travers une seconde étape où des votes sont pris pour déterminer la meilleure réponse. Cette méthode tend à mieux fonctionner dans des scénarios de réponse à des questions sans contexte.
Chaîne de pensée automatique (Auto-CoT)
Auto-CoT automatise le processus des chaînes de raisonnement en regroupant des requêtes similaires et en générant des chemins logiques. Cette méthode peut être plus efficace et efficace que des exemples soigneusement sélectionnés manuellement.
Prompting de moins à plus
Cette technique décompose un problème en sous-problèmes et les aborde séquentiellement. Les réponses aux sous-problèmes antérieurs éclairent les solutions aux suivants, menant à de meilleurs résultats dans des tâches nécessitant un raisonnement étape par étape.
Chaîne de pensée structurée (SCoT)
Dans SCoT, les étapes de raisonnement sont structurées comme des concepts de programmation, utilisant des séquences, des branches et des boucles. Cette technique s'est révélée bénéfique, surtout dans les tâches liées à la programmation.
Planifier et résoudre (PS)
PS implique de planifier les étapes nécessaires pour résoudre un problème avant de l'exécuter. Ça se concentre sur le fait de décomposer le problème global en étapes plus petites et tend à améliorer la précision pour les tâches mathématiques.
Raisonnement contrastif
Cette approche ajoute à la fois des exemples positifs et négatifs pour entraîner le modèle de manière plus efficace. En montrant au modèle ce qui est correct et ce qui ne l'est pas, il peut apprendre et affiner son raisonnement.
Vérifier et éditer (VE)
La méthode VE implique de générer des réponses initiales et ensuite de les vérifier pour leur précision. Si des incohérences ou des erreurs sont trouvées, elles peuvent être corrigées avant de produire une réponse finale.
Raisonnement analogique
Ici, le modèle utilise des exemples similaires à la question originale pour aider à résoudre le problème. Cette méthode s'inspire des processus de raisonnement humain où les expériences passées informent de nouveaux efforts de résolution de problèmes.
Performance à travers les tâches NLP
La performance de ces techniques de prompting peut varier énormément selon la tâche NLP en cours. Par exemple :
- Dans la résolution de problèmes mathématiques, des techniques comme CoT et PS sont souvent favorisées pour leur capacité à décomposer des problèmes complexes en parties gérables.
- Pour le raisonnement logique, les méthodes d'auto-consistance peuvent être plus efficaces grâce à leur dépendance à plusieurs chemins de raisonnement.
- La réponse à des questions contextuelles bénéficie énormément des méthodes qui permettent au modèle de se concentrer clairement sur les informations présentes dans le contexte, comme VE ou CoK.
Conclusion
L'ingénierie des prompts est un aspect vital pour maximiser les capacités des grands modèles de langage. Chaque technique discutée a son utilité et peut mener à une performance améliorée à travers diverses tâches de traitement du langage naturel.
En appliquant systématiquement ces méthodes, les chercheurs et les utilisateurs peuvent exploiter les forces des LLMs pour obtenir de meilleurs résultats dans des applications réelles. À mesure que ce domaine évolue, on s'attend à voir encore plus d'approches et de techniques innovantes émerger, poussant encore les limites de ce que ces modèles peuvent accomplir.
Titre: A Survey of Prompt Engineering Methods in Large Language Models for Different NLP Tasks
Résumé: Large language models (LLMs) have shown remarkable performance on many different Natural Language Processing (NLP) tasks. Prompt engineering plays a key role in adding more to the already existing abilities of LLMs to achieve significant performance gains on various NLP tasks. Prompt engineering requires composing natural language instructions called prompts to elicit knowledge from LLMs in a structured way. Unlike previous state-of-the-art (SoTA) models, prompt engineering does not require extensive parameter re-training or fine-tuning based on the given NLP task and thus solely operates on the embedded knowledge of LLMs. Additionally, LLM enthusiasts can intelligently extract LLMs' knowledge through a basic natural language conversational exchange or prompt engineering, allowing more and more people even without deep mathematical machine learning background to experiment with LLMs. With prompt engineering gaining popularity in the last two years, researchers have come up with numerous engineering techniques around designing prompts to improve accuracy of information extraction from the LLMs. In this paper, we summarize different prompting techniques and club them together based on different NLP tasks that they have been used for. We further granularly highlight the performance of these prompting strategies on various datasets belonging to that NLP task, talk about the corresponding LLMs used, present a taxonomy diagram and discuss the possible SoTA for specific datasets. In total, we read and present a survey of 44 research papers which talk about 39 different prompting methods on 29 different NLP tasks of which most of them have been published in the last two years.
Auteurs: Shubham Vatsal, Harsh Dubey
Dernière mise à jour: 2024-07-23 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2407.12994
Source PDF: https://arxiv.org/pdf/2407.12994
Licence: https://creativecommons.org/licenses/by-nc-sa/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.