Les modèles de langage grand (LLMS) génèrent du texte à l'aide d'une technique appelée autorégression, qui consiste à prédire le mot suivant le plus probable dans une séquence basée sur les mots précédents. Les agents alimentés par LLM tels que ChatGpt sont également affinés pour suivre l'intention de l'utilisateur. Par conséquent, ils complètent non seulement la séquence d'entrée mais capturent l'intention de l'utilisateur sur l'entrée et génèrent une réponse en conséquence.
Si vous avez essayé le chatppt pendant un certain temps, je suis sûr que vous avez réalisé que la qualité d'une réponse donnée dépend également de la qualité de l'entrée de l'utilisateur, par exemple, l'agent fournit des réponses «meilleures» à certaines requêtes que d'autres .
.Le secret pour récupérer La meilleure réponse possible consiste à comprendre comment les LLM génèrent la sortie et la formulation de l'invite d'entrée en conséquence. L'ensemble des techniques appliqués à l'entrée de l'utilisateur pour exploiter le plein potentiel du modèle est connu sous le nom d'ingénierie rapide.
Dans cet article, nous explorerons l'une des techniques d'ingénierie rapides les plus puissantes: une invitation à la chaîne de pensées (COT). Cette technique consiste à structurer l'invite d'une manière qui permet au modèle de terminer plus facilement des tâches complexes nécessitant un raisonnement ou une résolution de problèmes. Il a été démontré que, sans Cot, le même modèle ne fournit pas la bonne réponse.
Bien que les LLM sont connues pour leur capacité à généraliser, les capacités du modèle dépendent de la tâche . Lorsque vous utilisez des LLM, il est important de considérer que chaque modèle a été formé sur une base de données énorme mais limitée, et il a été optimisé pour certaines tâches. Par conséquent, bien que le modèle puisse être très performant dans certains domaines, il peut échouer dans d'autres.
Les capacités du modèle dépendent également du calendrier. Comme chez l'homme, si vous me donnez une somme de 5 chiffres, vous aurez besoin de temps pour réfléchir et répondre avec la bonne réponse. Si vous le faites à la hâte, vous pouvez facilement mal calculer et échouer dans votre réponse.
De même, si nous donnons à un modèle de langue une tâche trop complexe à faire dans le temps nécessaire pour calculer son prochain jetons, il peut ne pas fournir la bonne réponse.
Pourtant, semblable aux humains, cela ne signifie pas nécessairement que le modèle est incapable de la tâche. Avec un certain temps ou des conseils pour raisonner les choses, le modèle peut encore être en mesure de répondre de manière fiable.
La réponse du modèle et le temps requis pour le générer peuvent également être influencés par divers facteurs, tels que le libellé spécifique de la question:
Guides d'incitation à la chaîne de pensées LLMS pour réussir à résoudre des tâches complexes, à la fois en choisissant la façon de formuler l'invite et de fournir au modèle le temps ou les étapes nécessaires pour générer la bonne réponse.
L'incitation de la chaîne de pensées est une technique qui améliore les performances des modèles de langage par , incité explicitement le modèle à générer un processus d'explication ou de raisonnement étape par étape avant d'arriver à une réponse finale . Cette méthode aide le modèle à décomposer le problème et à ne pas ignorer les tâches intermédiaires pour éviter les défaillances du raisonnement.
Le COT est efficace car il aide à concentrer le mécanisme d'attention du LLM. La décomposition du processus de raisonnement rend le modèle de concentration son attention sur une partie du problème à la fois, minimisant le risque d'erreurs qui pourraient résulter de la gestion de trop d'informations simultanément.
Les chercheurs de Google ont introduit une invitation à la chaîne de pensées dans un article intitulé «Chaîne de pensée L'incitation suscite un raisonnement dans des modèles de grande langue» en 2022. Cette recherche a mis en évidence comment guider un modèle à travers une série d'étapes de raisonnement intermédiaires a considérablement amélioré ses performances sur les tâches sur des tâches telles que la résolution de problèmes mathématiques, la réponse à des questions multiples.
Voyons l'un des exemples proposés:
Comparaison entre l'incitation standard et l'incitation au COT. À gauche, le modèle est chargé de fournir directement la réponse finale (invitation standard). À droite, le modèle est invité à montrer le processus de raisonnement pour atteindre la réponse finale (COT Invition).
Comme nous pouvons observer, générer une chaîne de pensée - une série d'étapes de raisonnement intermédiaires - aide le modèle à fournir la bonne réponse.Les auteurs d'origine se réfèrent à la chaîne de pensée comme la série d'étapes de raisonnement du langage naturel intermédiaire qui conduisent à la sortie finale, qualifiant cette approche de provoquer la chaîne de pensées.
Comment fonctionne l'incitation à la chaîne de pensées?
Donner des instructions explicites signifie décomposer le problème dans l'invite utilisateur elle-même. Par exemple, en utilisant des phrases comme «Tout d'abord, nous devons considérer…» pour inciter le modèle à détailler son processus de réflexion.
Voyons-le en action!
Imaginez que ma maman espagnole m'a envoyé la recette familiale pour préparer un infusion froide:
input_text = """ ¡Preparar café Cold Brew es un proceso sencillo y refrescante! Todo lo que necesitas son granos de café molido grueso y agua fría. Comienza añadiendo el café molido a un recipiente o jarra grande. Luego, vierte agua fría, asegurándote de que todos los granos de café estén completamente sumergidos. Remueve la mezcla suavemente para garantizar una saturación uniforme. Cubre el recipiente y déjalo en remojo en el refrigerador durante al menos 12 a 24 horas, dependiendo de la fuerza deseada. """
Disons que nous voulons traduire tous les mots liés au café en anglais, et que nous voulons utiliser le chatppt pour la tâche:
prompt = f""" Give me a numbered list of all coffee-related words in English from the text below: Text: <{input_text}> """ response = chatgpt_call(prompt) print(response)
Voici la réponse à cette invite:
Si nous demandons au modèle de faire cette tâche immédiatement, nous pouvons voir qu'il exécute à tort la tâche. Non seulement il produit des mots de café non liés, mais il les produit également en espagnol, pas en anglais.
Nous pourrions considérer que cette tâche est complexe car elle nécessite deux étapes:
Au lieu de cela, le modèle saute directement à la tâche finale d'identifier les mots liés au café, manquant l'étape de traduction. En spécifiant la traduction en tant que tâche intermédiaire ou en décomposant la tâche dans les deux étapes principales, nous pouvons guider le modèle vers la sortie correcte:
prompt = f""" Give me a numbered list of all coffee-related words in English from the text below: The task requires the following actions: 1 - Translate the given text into English. 2 - List each coffee-related word from the English text. Text: <{input_text}> """ response = chatgpt_call(prompt) print(response)
y compris la chaîne de pensées ci-dessus mène à la bonne réponse:
Si vous êtes intéressé à essayer cette technique avec d'autres LLM plutôt que par Chatgpt ou l'API OpenAI, comme dans cet article, le cours «Développer de grands modèles de langue» est pour vous!
Parfois, il n'est pas nécessaire de décomposer le problème nous-mêmes dans l'invite. L'Université de Tokyo, ainsi que Google Research, ont proposé une belle méthode pour améliorer les réponses LLM qui consistaient simplement à ajouter "Réfléchissons étape par étape" à la fin de l'invite d'origine.
Cette phrase simple invite le modèle à raisonner à haute voix et à passer par toutes les étapes requises pour effectuer la tâche.
Analysons l'un des exemples que les auteurs ont proposés dans l'article d'origine «les modèles de grands langues sont des raisonneurs à tirs zéro»:
Comparaison entre l'incitation standard et l'utilisation des instructions de COT implicites. À gauche, le modèle fournit la réponse finale au problème immédiatement (invitation à zéro) et échoue. À droite, le modèle est instruit avec une instruction de COT implicite (COT Invition) atteignant la bonne réponse.
[a] Dans le premier exemple, les auteurs demandent au modèle de résoudre un problème arithmétique, mais il échoue dans cette tâche.
[b] Ensuite, en ajoutant "Réfléchissons étape par étape" vers la question d'origine, le modèle raisonne pour la réponse à haute voix et réussit.
En appliquant cette astuce simple à l'ensemble de données mathématiques Multiarith, les auteurs ont constaté que cette instruction implicite a quadruplé la précision de 18% à 79%!
Si vous êtes intéressé, vous pouvez en savoir plus sur cette technique à «Utilisez cette courte invite pour stimuler les résultats de Chatgpt».
Nous avons utilisé le terme «zéro-shot» dans la section ci-dessus plusieurs fois. Zero-Shot fait référence à la capacité d'un modèle à effectuer une tâche sans avoir été explicitement formé sur des exemples de cette tâche spécifique .
Il repose sur la capacité du modèle à généraliser et à générer des réponses appropriées à des tâches nouvelles et auparavant invisibles. Cela signifie que lorsque nous ouvrons l'interface utilisateur de Chatgpt et posons une question tout de suite, nous faisons des incitations zéro.
Néanmoins, il existe des moyens de montrer le modèle plusieurs exemples de tâches similaires que nous voulons résoudre. Fournir une série d'exemples démonstratifs est connu sous le nom de projection à un coup et à quelques coups , selon le nombre d'exemples fournis.
Une invitation unique implique montrant l'exemple de modèle un modèle similaire à la tâche cible de guidage.
Par exemple, si nous nous référons au premier chiffre de l'article, nous pouvons observer que le modèle génère la chaîne de pensées grâce à l'exemple démonstratif fourni dans l'invite.
L'apprentissage à quelques coups fonctionne de la même manière que le seul coup, mais le nombre d'exemples donnés est plus élevé , généralement environ cent environ. Les performances du modèle augmentent linéairement avec le nombre d'exemples.
L'invitation à quelques coups a été étudiée par Jason Wei et Denny Zhou et al. De Google. Cette approche est particulièrement utile pour les tâches qui nécessitent des connaissances plus spécialisées ou spécifiques au domaine, où le modèle peut ne pas avoir de connaissances de fond suffisantes pour effectuer la tâche en utilisant une incitation à tirs ou à un coup. invitation à quelques coups est parfois considérée comme un petit réglage fin du modèle sur une collection de données nouvelles ou spéciales .
Voir plus d'exemples d'incitation à un coup et à quelques coups à «Améliorer les performances du chatppt avec l'ingénierie rapide».
invitation à un coup et à quelques coups ne sont pas du lit de lit. Cependant, les chercheurs ont exploré la façon dont l'apprentissage à shot peut être combiné avec une incidence sur le COT, appelée «invitation au COT à quelques coups». Dans un lit de lit à quelques coups, , le modèle est fourni avec quelques exemples de problèmes ainsi que leurs solutions étape par étape pour guider son processus de raisonnement .
combinant un COT à quelques coups d'incitation avec d'autres techniques, tels que la génération auprès de la récupération ou la requête interactive, peut encore améliorer les performances et la fiabilité du modèle. L'intégration de bases de connaissances externes, de bases de données ou de systèmes de récupération d'informations permet au modèle d'améliorer son raisonnement avec des informations factuelles et à jour.
Maze de problèmes mathématiques pour illustrer comment le COT peut aider les modèles à naviguer dans l'espace de connaissance et à résoudre des tâches complexes. Image auto-générée utilisant la génération d'images Chatgpt 4o avec l'invite suivante «Imaginez un agent de modèle de langue à travers un dédale de problèmes mathématiques».
Il existe plusieurs façons d'inclure le COT dans nos invites:
Plusieurs cadres peuvent vous aider à mettre en œuvre le COT et d'autres techniques d'ingénierie rapide, mais Langchain est mon préféré. Si vous êtes intéressé à utiliser Langchain dans le cadre de vos projets alimentés par LLM, le cours «Développement des applications LLM avec Langchain» est un point de départ idéal.
L'incitation de la chaîne de pensées offre plusieurs avantages, en particulier pour améliorer les performances et la fiabilité des modèles de langage dans des tâches complexes.
En décomposant un problème en étapes plus petites et gérables, le modèle peut gérer plus précisément les tâches complexes. Les étapes intermédiaires fournissent des points de contrôle où les erreurs potentielles peuvent être capturées et corrigées, conduisant à des réponses finales plus précises.
La raison pour laquelle les tâches telles que les problèmes mathématiques, les puzzles logiques ou la réponse à des questions multi-HOP, bénéficient de cette approche est parce que ils nécessitent déjà naturellement plusieurs étapes de raisonnement .
Le processus de raisonnement étape par étape est transparent, permettant aux utilisateurs de comprendre comment le modèle est arrivé à sa conclusion. Cette transparence renforce la confiance dans les sorties du modèle.
Cela peut également aider à déboguer puisque les utilisateurs peuvent plus facilement repérer où le modèle aurait pu mal tourner dans son raisonnement.
Bien sûr, comme pour toute technique, il y a toujours certains inconvénients à considérer:
Il est important de considérer que le COT est une technique dépendant du modèle . Par conséquent, l'efficacité du COT provoquant en grande partie dépend des capacités du modèle de langue sous-jacente.
L'alimentation des invites de lit de lit efficaces peut également être difficile. Il nécessite une conception minutieuse pour garantir que les invites guident correctement le modèle à travers le processus de raisonnement. La mise à jour et la maintenance des invites pour différents types de tâches et de domaines peuvent prendre du temps et peuvent nécessiter un raffinement constant.
Le COT, l'invitation peut ne pas être aussi efficace pour les tâches qui n'ont pas de processus de raisonnement séquentiel clair. De plus, je t peut ne pas généraliser bien à des types de problèmes entièrement nouveaux ou inattendus sans formation ni adaptation supplémentaire, donc le maintien d'une base de connaissances à jour et des invites appropriées est cruciale.
Alors que le COT, l'incitation augmente l'interprétabilité en fournissant des explications étape par étape, , elle peut également conduire à des sorties plus longues et plus verbales , qui peuvent ne pas toujours être souhaitables pour toutes les applications.
Dans cet article, nous avons vu comment l'incitation à la chaîne de pensées représente une progression importante pour améliorer les capacités de raisonnement des modèles de grande langue, ainsi que quelques exemples pratiques de sa mise en œuvre.
Que ce soit en utilisant des modèles rapides, une incitation interactive ou des boucles de rétroaction, l'idée derrière ces approches est de guider le modèle à travers le processus de raisonnement et d'exploiter ses capacités.
De plus, nous avons exploré des techniques puissantes telles que une invitation à un coup et à quelques coups qui améliorent encore les performances du modèle et peuvent être combinées avec du COT, ainsi que les avantages et certaines limitations que nous ne pouvons pas ignorer.
Envisagez d'essayer les techniques discutées dans cet article pour créer des invites plus fiables et hautement performantes, et gardez à l'esprit: L'ingénierie rapide peut avoir un impact important sur vos sorties!
Vous pouvez en savoir plus sur l'ingénierie rapide via les cours de DataCamp, compréhension de l'ingénierie rapide et de l'ingénierie rapide du chat de chatte pour les développeurs. Vous pouvez également consulter un guide séparé pour une certification d'ingénierie rapide et savoir quels sont les meilleurs chemins d'apprentissage pour vous.
Alors que la procédure de la chaîne de pensées est particulièrement efficace pour les questions de raisonnement complexe et multiples, il ne peut pas toujours être nécessaire pour des questions simples. Il est plus avantageux pour les problèmes où un processus détaillé et étape par étape est également naturellement nécessaire pour atteindre la bonne réponse.
tels que l'identification de la position actuelle, l'évaluation des chemins possibles et le choix du chemin avec les moindres obstacles.
Oui, cela aide le processus d'utilisation à suivre le processus du modèle du modèle le rendant plus transportable et interprétable. Ceci est particulièrement précieux dans des domaines tels que les soins de santé et les finances, où la compréhension de la justification derrière les décisions de l'IA est cruciale.
La chaîne de pas en cours de la série a-t-elle en train problème. En revanche, l'invitation en plusieurs étapes implique une fourniture séquentiellement d'invites ou d'indices supplémentaires à chaque étape du problème, guidant progressivement le modèle vers la solution.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!