


PromptPG : Quand l'apprentissage par renforcement rencontre des modèles de langage à grande échelle
Le raisonnement mathématique est une capacité essentielle de l'intelligence humaine, mais la pensée abstraite et le raisonnement logique restent un défi de taille pour les machines. Les modèles linguistiques pré-entraînés à grande échelle, tels que GPT-3 et GPT-4, ont fait des progrès significatifs dans le raisonnement mathématique basé sur du texte (comme les problèmes de mots mathématiques). Cependant, il n’est pas encore clair si ces modèles peuvent traiter des problèmes plus complexes impliquant des informations hétérogènes telles que des données tabulaires. Pour combler cette lacune, des chercheurs de l'UCLA et de l'Allen Institute for Artificial Intelligence (AI2) ont lancé Tabular Math Word Problems (TabMWP), un ensemble de données de 38 431 problèmes en domaine ouvert qui nécessitent à la fois du texte et un raisonnement mathématique sur des données tabulaires pour obtenir le bon résultat. répondre. Chaque question de TabMWP est associée à un contexte qui contient une image, un texte ou un tableau dans un format structuré.
Les chercheurs ont évalué différents modèles pré-entraînés, notamment Few-shot GPT-3 sur TabMWP. Comme l'ont montré les recherches existantes, Few-shot GPT-3 s'appuie fortement sur la sélection d'exemples en contexte, ce qui rend ses performances assez instables lorsque les exemples sont sélectionnés au hasard. Cette instabilité est encore plus grave lorsqu'il s'agit de problèmes d'inférence complexes comme TabMWP. Afin de résoudre ce problème, l'auteur a proposé la méthode PromptPG, qui convertit la sélection d'exemples en problème de bandit contextuel dans l'apprentissage par renforcement, et utilise Policy Gradient pour former un réseau politique afin d'apprendre à sélectionner l'optimal parmi une petite quantité de données de formation. -exemple de contexte. Les résultats expérimentaux montrent que la méthode PromptPG proposée dépasse la ligne de base optimale (Few-shot CoT GPT-3) de 5,31 % pour répondre aux questions, et leur méthode réduit considérablement le problème par rapport aux exemples contextuels sélectionnés au hasard. stabilité de ce type de méthode.
- Lien papier : https://arxiv.org/abs/2209.14610
- Lien code : https://github.com/lupantech/PromptPG
- Page d'accueil du projet : https://promptpg.github.io
- Visualisation des données : https://promptpg.github.io/explore
1. Ensemble de données TabMWP
Ce qui suit est à partir de Deux exemples de l'ensemble de données TabMWP. L’une est une question à texte libre avec des réponses numériques et l’autre est une question à choix multiples avec des réponses textuelles. Comme vous pouvez le constater, chaque question propose une solution qui comprend un raisonnement étape par étape. Pour résoudre les problèmes dans TabMWP, le système doit être capable à la fois de recherche dans des tables et de raisonnement mathématique en plusieurs étapes. Prenons l'exemple de l'image ci-dessous, pour répondre « combien va-t-elle dépenser (si Tracy achète trois sortes de pains) », nous devons d'abord trouver les prix correspondants des trois sortes de pain dans le tableau, puis calculer le coût. d'acheter chaque type de pain et additionnez-les pour obtenir le coût final.
Comme le montrent les statistiques du tableau ci-dessous, l'ensemble de données TabMWP contient 38 431 problèmes mathématiques tabulaires. 74,7 % des questions étaient des questions à texte libre et 25,3 % étaient des questions à choix multiples. TabMWP compte un total de 28 876 questions uniques, 6 153 réponses uniques et 35 442 solutions uniques, ce qui indique sa riche diversité dans la répartition des questions. La longueur moyenne des questions était de 22,1 mots et la longueur moyenne des réponses était de 49,5 mots, ce qui indique la richesse lexicale de TabMWP. Une caractéristique distinctive de TabMWP est que chaque problème est accompagné d'un contexte de table, sans lequel le problème ne peut pas être résolu. TabMWP compte un total de 37 644 tableaux différents, avec une taille moyenne de 5,9 lignes, 2,2 colonnes, 12,9 cellules et un maximum de 54 cellules. Ces statistiques montrent que les tableaux de TabMWP sont également riches en diversité.
L'ensemble de données TabMWP comporte deux types de questions différents et cinq types de réponses différents :
Chaque question dans TabMWP a un contexte tabulaire, qui est représenté sous trois formats : image, texte semi-structuré et structuré. Cela ouvre la possibilité de développer différents types de modèles d’inférence.
Par rapport aux ensembles de données existants, TabMWP nécessite à la fois une compréhension des tableaux et des capacités de raisonnement mathématique pour répondre aux questions. De plus, TabMWP dispose d'un processus de raisonnement détaillé en plusieurs étapes pour chaque question, ce qui présente des avantages évidents en termes de taille de l'ensemble de données, de type de tableau, de type de question et de type de réponse. À la connaissance de cet article, TabMWP est le premier ensemble de données de raisonnement mathématique dans le scénario tabulaire en domaine ouvert.
2. Méthode PromptPG
Considérant le succès de modèles pré-entraînés à grande échelle tels que GPT-3 dans la résolution de problèmes de mots mathématiques, l'auteur a d'abord établi une référence sur TabMWP en utilisant Few-shot GPT-3. . Ils sélectionnent au hasard des exemples contextuels dans l'ensemble de formation ainsi que des exemples de test pour former des invites qui incitent GPT-3 à prédire les réponses. Cependant, des recherches récentes montrent que ce type d'apprentissage en quelques étapes basé sur une sélection aléatoire peut fonctionner de manière très instable sur différentes sélections d'exemples contextuels. La sélection aléatoire peut être encore moins efficace lorsqu'il s'agit de problèmes d'inférence complexes tels que TabMWP, qui impliquent des tableaux de différents types et formats.
Pour résoudre ce problème, l'auteur propose une méthode améliorée : Prompt learning through Policy Gradient, apprenant à sélectionner des exemples contextuels à partir d'une petite quantité de données d'entraînement, appelée PromptPG. Comme le montre la figure 2, le réseau de politiques apprend à trouver le meilleur exemple en contexte parmi le pool de candidats (exemples de candidats), et son objectif d'optimisation est de maximiser la prédiction d'un exemple de formation donné (exemple de formation) lors de l'interaction avec le GPT. -3 prix environnement. Le réseau politique permettant de sélectionner des exemples est un modèle de langage BERT basé sur des paramètres fixes et un réseau neuronal monocouche avec des paramètres apprenables. Une fois l'apprentissage de l'optimisation terminé, PromptPG peut sélectionner dynamiquement différents exemples optimaux parmi des exemples candidats pour différentes questions de test, maximisant ainsi les performances d'inférence de GPT-3.
Ce qui suit est l'algorithme d'apprentissage de PromptPG.
3. Expériences et analyses
Pré-entraînement et réglage fin
Le tableau 3 compare les résultats de PromptPG et différents benchmarks sur l'ensemble de données TabMWP. On peut voir que TAPEX fonctionne mieux que UnifiedQA en raison du pré-entraînement sur des données tabulaires avec des quantités de paramètres similaires. Pour TAPEX et UnifiedQA, l’augmentation du nombre de paramètres dans le modèle peut améliorer la précision des prédictions. De plus, affiner le modèle sur TabMWP peut également améliorer considérablement la précision des prédictions.
Modèle de langage à grande échelle
GPT-3 peut atteindre une précision similaire aux modèles UnifiedQA et TAPEX affinés sans aucun réglage fin (Zero-shot GPT-3). Si le modèle Few-shot GPT-3 sélectionne au hasard deux exemples contextuels comme indices GPT-3, il peut encore s'améliorer de 0,17 % par rapport au Zero-shot GPT-3. En demandant à Few-shot GPT-3 de générer plusieurs étapes intermédiaires avant de générer la réponse finale (Few-shot-CoT GPT-3), les chercheurs ont pu obtenir un modèle de base optimal avec une précision de 62,92 %.
PromptPG
Différent de la sélection aléatoire d'exemples en contexte, le PromptPG proposé dans cet article entraîne un réseau de politiques via Policy Gradient pour sélectionner des exemples en contexte plus appropriés, et a obtenu les résultats de prédiction les plus élevés (68,23 %) sur TabMWP et sa prédiction moyenne. précision Le taux dépasse le meilleur modèle de base (Few-shot-CoT GPT-3) de 5,31 %. Notamment, PromptPG démontre sa supériorité en termes de précision de prédiction pour presque tous les types de questions, types de réponses et difficultés de questions. Malgré cela, PromptPG a encore beaucoup de marge d'amélioration par rapport à la performance humaine de 90,22 %.
Ablation Experiment
Le tableau 4 montre que tous les éléments d'entrée de TabMWP (texte de la question, informations sur le tableau, informations sur les options) sont cruciaux pour répondre correctement à la question. Ce n'est qu'avec tous les éléments du problème comme informations d'entrée que Zero-shot GPT-3 a atteint sa précision de prédiction moyenne relativement la plus élevée (59,50 %).
Sélection d'exemples différents
À titre d'expérience comparative, les chercheurs ont également comparé d'autres méthodes avec une sélection d'exemples différente. Comme le montre le tableau 5, le choix du même type de question ou de réponse que la question du test peut aider le modèle à trouver des exemples plus pertinents et à améliorer l'exactitude de la réponse. Choisir les exemples les plus complexes n’améliore pas systématiquement la précision des réponses. La sélection fixe des deux meilleurs exemples parmi les exemples candidats peut légèrement améliorer la précision et réduire la variance. La sélection de l’exemple sémantiquement le plus proche du problème de test permet d’obtenir la précision la plus proche de la méthode PromptPG. Dans l’ensemble, PromptPG a pleinement démontré ses avantages en améliorant la précision des prédictions et en réduisant la variance des prédictions.
La figure ci-dessous montre un exemple de sélection PromptPG et le résultat final de la prédiction. On peut voir que la méthode PromptPG peut améliorer les performances d'inférence de Few-shot GPT-3 en sélectionnant des exemples ayant des capacités mathématiques similaires aux questions du test.
Exemple de prédiction réussie
Ce qui suit montre la réponse correcte de PromptPG à une question en texte libre. Cette question nécessite d'ajouter et de diviser huit nombres dans un tableau pour trouver la moyenne.
Dans l'exemple ci-dessous, il est demandé au modèle de comprendre une déclaration fiscale et de calculer le salaire après déductions fiscales.
Ce qui suit montre les prédictions correctes de PromptPG pour les questions à choix multiples. Le tableau donné comporte un total de 9 lignes et 6 colonnes. Le modèle localise avec succès la cellule cible dans le tableau et effectue une inférence en plusieurs étapes pour prédire la bonne réponse.
Dans l'exemple ci-dessous, le modèle doit comparer le budget et le coût total pour vérifier si Ariana a suffisamment d'argent.
Exemple d'échec de prédiction
Ce qui suit montre la prédiction incorrecte de PromptPG pour un problème de texte libre. Le modèle a récupéré le mauvais prix pour le quartz rose, calculant ainsi mal le coût total des trois articles.
Dans l'exemple suivant, la question fournit un tableau abstrait de tiges et de feuilles. Le modèle était incapable de comprendre ce tableau spécifique au domaine et manquait de capacités de raisonnement logique avancées pour obtenir les mauvaises réponses.
L'exemple suivant montre que le modèle existant ne semble pas avoir la capacité de trier les nombres.
Dans l'exemple suivant, l'heure exactement cohérente avec l'heure actuelle mentionnée dans la question n'apparaît pas dans le tableau, le modèle ne peut donc pas localiser avec précision l'heure de départ du prochain arrêt.
Dans l'exemple suivant, il est difficile pour le modèle d'effectuer avec précision des opérations arithmétiques sur une longue série de nombres.
4. Conclusion et perspectives
L'auteur a proposé TabMWP, qui est le premier ensemble de données à grande échelle pour résoudre des problèmes mathématiques dans un contexte tabulaire. TabMWP contient 38 431 questions à domaine ouvert, dont deux types de questions et cinq types de réponses, chaque question étant marquée par un processus de solution en plusieurs étapes. Les auteurs ont utilisé des méthodes d'assurance qualité et TableQA de pointe, mené des expériences complètes sur TabMWP dans des paramètres pré-entraînés et affinés, et évalué à l'aide du grand modèle de langage pré-entraîné GPT-3. Les auteurs proposent en outre une nouvelle méthode d'apprentissage par renforcement, PromptPG, qui utilise l'apprentissage Policy Gradient pour sélectionner les instances optimales à partir des données de formation afin de déclencher le modèle GPT-3. Les résultats expérimentaux montrent que PromptPG surpasse considérablement les lignes de base existantes et réduit l'instabilité des performances dans les prédictions par rapport à la sélection aléatoire.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Dans Debian Systems, les appels du système ReadDir sont utilisés pour lire le contenu des répertoires. Si ses performances ne sont pas bonnes, essayez la stratégie d'optimisation suivante: simplifiez le nombre de fichiers d'annuaire: divisez les grands répertoires en plusieurs petits répertoires autant que possible, en réduisant le nombre d'éléments traités par appel ReadDir. Activer la mise en cache de contenu du répertoire: construire un mécanisme de cache, mettre à jour le cache régulièrement ou lorsque le contenu du répertoire change et réduire les appels fréquents à Readdir. Les caches de mémoire (telles que Memcached ou Redis) ou les caches locales (telles que les fichiers ou les bases de données) peuvent être prises en compte. Adoptez une structure de données efficace: si vous implémentez vous-même la traversée du répertoire, sélectionnez des structures de données plus efficaces (telles que les tables de hachage au lieu de la recherche linéaire) pour stocker et accéder aux informations du répertoire

Cet article décrit comment ajuster le niveau de journalisation du serveur Apacheweb dans le système Debian. En modifiant le fichier de configuration, vous pouvez contrôler le niveau verbeux des informations de journal enregistrées par Apache. Méthode 1: Modifiez le fichier de configuration principal pour localiser le fichier de configuration: le fichier de configuration d'Apache2.x est généralement situé dans le répertoire / etc / apache2 /. Le nom de fichier peut être apache2.conf ou httpd.conf, selon votre méthode d'installation. Modifier le fichier de configuration: Ouvrez le fichier de configuration avec les autorisations racine à l'aide d'un éditeur de texte (comme Nano): Sutonano / etc / apache2 / apache2.conf

Dans Debian Systems, la fonction ReadDir est utilisée pour lire le contenu du répertoire, mais l'ordre dans lequel il revient n'est pas prédéfini. Pour trier les fichiers dans un répertoire, vous devez d'abord lire tous les fichiers, puis les trier à l'aide de la fonction QSORT. Le code suivant montre comment trier les fichiers de répertoire à l'aide de ReadDir et QSort dans Debian System: # include # include # include # include # include // Fonction de comparaison personnalisée, utilisée pour qsortintCompare (constvoid * a, constvoid * b) {returnstrcmp (* (

La configuration du pare-feu d'un serveur de courrier Debian est une étape importante pour assurer la sécurité du serveur. Voici plusieurs méthodes de configuration de pare-feu couramment utilisées, y compris l'utilisation d'iptables et de pare-feu. Utilisez les iptables pour configurer le pare-feu pour installer iptables (sinon déjà installé): Sudoapt-getUpDaSuDoapt-getinstalliptableView Règles actuelles iptables: Sudoiptable-L Configuration

Les étapes pour installer un certificat SSL sur le serveur de messagerie Debian sont les suivantes: 1. Installez d'abord la boîte à outils OpenSSL, assurez-vous que la boîte à outils OpenSSL est déjà installée sur votre système. Si ce n'est pas installé, vous pouvez utiliser la commande suivante pour installer: Sudoapt-getUpDaSuDoapt-getInstallOpenSSL2. Générer la clé privée et la demande de certificat Suivant, utilisez OpenSSL pour générer une clé privée RSA 2048 bits et une demande de certificat (RSE): OpenSS

Dans Debian Systems, OpenSSL est une bibliothèque importante pour le chiffrement, le décryptage et la gestion des certificats. Pour empêcher une attaque d'homme dans le milieu (MITM), les mesures suivantes peuvent être prises: utilisez HTTPS: assurez-vous que toutes les demandes de réseau utilisent le protocole HTTPS au lieu de HTTP. HTTPS utilise TLS (Protocole de sécurité de la couche de transport) pour chiffrer les données de communication pour garantir que les données ne sont pas volées ou falsifiées pendant la transmission. Vérifiez le certificat de serveur: vérifiez manuellement le certificat de serveur sur le client pour vous assurer qu'il est digne de confiance. Le serveur peut être vérifié manuellement via la méthode du délégué d'URLSession

Gérer les journaux Hadoop sur Debian, vous pouvez suivre les étapes et les meilleures pratiques suivantes: l'agrégation de journal Activer l'agrégation de journaux: définir yarn.log-aggregation-inable à true dans le fichier yarn-site.xml pour activer l'agrégation de journaux. Configurer la stratégie de rétention du journal: Définissez Yarn.log-agregation.retain-secondes pour définir le temps de rétention du journal, tel que 172800 secondes (2 jours). Spécifiez le chemin de stockage des journaux: via yarn.n

La fonction ReadDir dans le système Debian est un appel système utilisé pour lire le contenu des répertoires et est souvent utilisé dans la programmation C. Cet article expliquera comment intégrer ReadDir avec d'autres outils pour améliorer sa fonctionnalité. Méthode 1: combinant d'abord le programme de langue C et le pipeline, écrivez un programme C pour appeler la fonction readdir et sortir le résultat: # include # include # include # includeIntmain (intargc, char * argv []) {dir * dir; structDirent * entrée; if (argc! = 2) {
