- Documents d’API
- CLI
- Guides d'intégration
- Intégration avec l'utilisateur du service Azure
- Intégration avec l'authentification d'application Azure
- Automatisation en temps réel
- Récupérer des données pour Tableau avec Python
- Intégration d'Elasticsearch
- Intégration EWS auto-hébergée
- Infrastructure d'automatisation UiPath
- Activités UiPath Marketplace
- Activités officielles UiPath
- Blog
- Comment les machines apprennent à comprendre les mots : guide d'intégration dans NLP
- Apprentissage basé sur des invites avec des Transformers
- Efficient Transformers II : Dilarisation des connaissances et affinement
- Transformateurs efficaces I : mécanismes d'attention
- Modélisation de l'intention hiérarchique profonde non supervisée : obtenir de la valeur sans données d'entraînement
- Correction du biais d'annotation avec Communications Mining
- Apprentissage actif : de meilleurs modèles d'ML en moins de temps
- Tout est dans les chiffres : évaluer les performances du modèle avec des métriques
- Pourquoi la validation du modèle est importante
- Comparaison de Communications Mining et de Google AutoML pour l'intelligence des données conversationnelles
Apprentissage basé sur des invites avec des Transformers
Les modèles d'apprentissage automatique de Communications Mining utilisent une architecture appelée Transformer, qui au cours des dernières années a obtenu des résultats de pointe sur la majorité des tâches courantes de traitement des langages naturels (NLP). L'approche pratique a été de prendre un modèle de langage Transformer pré-entraîné et de l'affiner sur la tâche qui vous intéresse.
Plus récemment, nous nous sommes penchés sur les « invites », un groupe de méthodes prometteuses et de plus en plus populaires. Celles-ci impliquent de spécifier directement la tâche en langage naturel pour que le modèle de langage pré-entraîné interprète et termine.
Les méthodes basées sur les invites ont des avantages potentiels importants, alors devez-vous les utiliser ? Ce post permettra :
- illustrez la différence entre le réglage fin et l'invite.
- Expliquer les détails du fonctionnement de certaines méthodes populaires basées sur des invites.
- Discutez des avantages et des inconvénients des méthodes basées sur les invites et fournissez notre recommandation sur l'utilisation ou non de ces méthodes.
Au cours des dernières années, le domaine de la NLP est passé de l'utilisation d'intégrations de mots statiques pré-entraînés tels que word2vec et Gove à l'utilisation de grands modèles de langage basés sur Transformer, tels que BERT et GPT-3.
Ces modèles de langage sont d'abord pré-entraînés à l'aide de données non annotées, dans le but de pouvoir encoder le sens sémantique de séquences de texte (par ex. phrases/documents). L'objectif du pré-entraînement est d'apprendre des représentations qui seront généralement utiles pour toute tâche en aval.
Une fois pré-entraîné, le modèle de langue est généralement affiné (c'est-à-dire que les paramètres pré-entraînés sont entraînés à nouveau) pour une tâche en aval, par exemple reconnaissance d'intention, classification de sentiment, reconnaissance de champ nommé, etc. Le processus de peaufinage nécessite des données d’entraînement annotées, et le modèle est ajusté séparément pour chaque tâche.
Pré-entraînement
Les robots fonctionnent en encodant d’abord chaque mot dans une séquence de texte sous la forme d’un vecteur de nombres appelé « intégration ». La couche d'intégration est ensuite suivie d'une séquence de couches d'attention, qui sont utilisées pour créer les représentations internes du modèle de la séquence. Enfin, il y a la couche de prédiction, dont la fonction d'objectif dépend du type de pré-entraînement utilisé.
Les transformations sont pré-entraînés de manière non supervisée. Cette étape est le plus souvent effectuée à l'aide de l'un des deux types d'entraînement suivants :
- Modélisation du langage masqué (un exemple est illustré à la figure 1)
- Certains mots choisis au hasard sont supprimés de la séquence et le modèle est entraîné pour prédire ces mots manquants.
- Prédiction du mot suivant (un exemple est affiché à la figure 2)
- Le modèle doit prédire chaque mot de la séquence en fonction de ceux qui l'ont précédé.
Réglage
Une fois le modèle pré-entraîné, il est affiné pour une tâche supervisée en aval (par ex. la reconnaissance de l'intention). Cela implique généralement de prendre la représentation à la dernière étape d'une séquence (ou la moyenne des représentations) et de la faire passer par un petit réseau de flux pour faire une prédiction (voir la figure 3 pour un exemple). La plupart du temps, les paramètres du modèle de langage pré-entraîné et du modèle de flux sont mis à jour au cours du processus de peaufinage.
Supposons que nous ayons un modèle de langage pré-entraîné avec lequel nous voulons effectuer une tâche en aval. Au lieu d'utiliser les représentations du modèle de langage comme entrées dans un autre modèle pour résoudre la tâche (comme décrit ci-dessus), nous avons pu utiliser directement sa capacité à modèler le langage naturel en lui transmettant une « invite » et en lui faisant remplir les champs ou pour terminer la séquence (un exemple est illustré à la figure 4).
Il est également possible de fournir des exemples dans l'invite, pour montrer au modèle comment la tâche doit être effectuée (voir la Figure 5 pour un exemple). C'est ce qu'on appelle l'apprentissage par capture de K , où K fait référence au nombre d'exemples fournis. Cela signifie que la figure 4 est un exemple d'apprentissage par point zéro.
Lors de l'utilisation d'invites, le modèle peut toujours être affiné (de la même manière que décrit ci-dessus), mais cela n'est souvent pas nécessaire, comme nous le verrons ci-dessous.
Dans la suite de cette section, nous passerons en revue certaines méthodes populaires basées sur des invites ; consultez ce document d’enquête pour une couverture plus complète.
GPT-3
GPT-3 est un grand modèle de langage basé sur Transformer qui est entraîné à l'aide de l'objectif de prédiction du mot suivant sur une version filtrée de l'ensemble de données Common Robot. En plus d'être connu pour générer des séquences de texte d'une qualité notable, le GPT-3 est également utilisé pour effectuer des tâches supervisées dans les paramètres zéro-shot, one-shot et quelques-shot (10 000 100) sans aucun peaufinage. Les auteurs forment des modèles de différentes tailles, le plus grand ayant 175 milliards de paramètres.
Dans l'ensemble, GPT-3 obtient de bons résultats dans les paramètres zéro-shot et one-shot. Dans le cas de quelques captures, il fonctionne parfois mieux que les modèles de pointe, même s'ils peuvent être affinés pour de grands ensembles de données annotés. Sur la grande majorité des tâches, les performances de GPT-3 s'améliorent à la fois avec la taille du modèle et avec le nombre d'exemples affichés dans l'invite.
Cependant, il rencontre également des difficultés avec certaines tâches, en particulier celles qui impliquent de comparer plusieurs séquences de texte. Ceux-ci comprennent :
- Inférence du langage naturel
- Le modèle se voit attribuer deux phrases et doit déterminer si la seconde implique, contredit ou est neutre par rapport à la première.
- Compréhension de lecture
- Le modèle se voit attribuer un paragraphe et doit répondre à des questions à ce sujet.
Les auteurs supposent que cela est dû au fait que GPT-3 est entraîné pour la prédiction du mot suivant, c'est-à-dire de gauche à droite (plutôt que bidirectionnel).
Entraînement à l'exploitation de modèles
Pour une tâche donnée, l'entraînement d'exploitation de modèles (PET) définit un ensemble d'invites, chacune avec exactement un jeton de masque, qui sont transmises à un modèle de langage qui a été pré-entraîné avec l'objectif de modélisation de langage masqué. Le processus PET fonctionne comme suit :
- Ajustez un modèle de langue distinct pour chaque invite, en créant un ensemble de modèles pour la tâche.
- Utilisez cet ensemble de modèles affinés pour générer des libellés « soft » pour un ensemble de points de données non annotés, d'une manière similaire à la utiliser pour la utilisant la racine de colonne.
- Utilisez ces libellés logiciels pour affiner un modèle de langage final de la manière définie dans la section d'ajustement ci-dessus (c'est-à-dire sans utiliser d'invites).
PDF a également été étendu pour fonctionner avec plusieurs jetons de masque, et fonctionne bien même lorsque les étapes 2 et 3 ci-dessus sont ignorées (c'est-à-dire que l'ensemble des modèles affinés de l'étape 1 est directement utilisé comme modèle final). Les auteurs utilisent ALBERT comme modèle de langage masqué de base et évaluent TET dans le paramètre à 32 shots. Sur la plupart des tâches de la référence SuperGLUE, il surpasse GPT-3 tout en n'ayant que 0,1 % de paramètres.
Réglage rapide
Contrairement aux méthodes que nous avons examinées jusqu’à présent, le réglage des invites ne conçoit pas manuellement les invites qui sont transmises au modèle. Au lieu de cela, il utilise des intégrations identifiables supplémentaires qui sont directement ajoutés à la séquence au niveau de la couche d'intégration. En effet, cela ignore l’étape d’écriture des invites en langage naturel et permet au modèle d’apprendre l’invite optimale directement au niveau de la couche d’intégration.
L'approche de réglage des invites (illustrée à la figure 6) est basée sur le modèle de langage T5 préentraîné. Ceci est similaire au Transformer original, qui a été conçu pour effectuer la traduction. Le modèle T5 a deux composants :
- L'encodeur mappe la séquence d'entrée aux représentations de vecteurs à l'aide d'un mécanisme d'auto-attention, les intégrations d'invites identifiables étant insérées dans la première couche.
- Le décodage génère le texte pour classer l'exemple sur la base des représentations de l'encodeur, à nouveau en utilisant un mécanisme d'attention.
Le modèle est affiné sur un ensemble de données complet annoté pour chaque tâche, mais seuls les intégrations d'invites sont mises à jour (le reste du modèle, qui contient la grande majorité des paramètres, est figé après le pré-entraînement). Le réglage rapide surpasse considérablement le GPT-3 à quelques captures, et le plus grand modèle réglé en invite correspond aux performances du réglage complet.
D'un point de vue pratique, le principal avantage des méthodes basées sur les invites est qu'elles fonctionnent généralement bien avec de très petites quantités de données annotées. Par exemple, avec le GPT-3, il est possible d'obtenir des performances de pointe sur certaines tâches avec un seul exemple annoté. Bien qu'il puisse être impossible d'exécuter un modèle de la taille de GPT-3 dans de nombreux paramètres, il est possible de surpasser GPT-3 dans le paramètre à quelques prises de vue avec un modèle beaucoup plus petit en utilisant la méthode ETP.
D'un point de vue de la modélisation, on peut argumenter que l'utilisation d'invites est un moyen plus naturel d'exploiter des modèles de langue pré-entraînés pour des tâches en aval par rapport au peaufinage traditionnel. En effet, lorsque vous utilisez des invites, nous utilisons le modèle de langue pour générer le texte qui résout une tâche ; c'est également ce qu'il a été entraîné à faire lors de la procédure de pré-entraînement. En revanche, le peaufinage traditionnel (image 3) peut être considéré comme un moyen moins intuitif d'utiliser des modèles de langage pour les tâches en aval, car il utilise un modèle distinct avec une fonction d'objectif complètement différente par rapport à la procédure de pré-entraînement.
Inavantages de l'apprentissage basé sur les invites
Bien que les méthodes basées sur les invites soient idéales pour pouvoir exécuter des tâches avec un très faible nombre d'exemples annotés, elles présentent également certains défauts. Tout d’abord, les modèles de langage sont enclins à « spécifiées », c’est-à-dire qu’ils peuvent générer du texte non sensible, biaisé ou choquant. Cela peut rendre de tels modèles inutilisables dans n'importe quel paramètre du monde réel. Il est possible de contraindre le texte généré par les modèles de langage, mais selon la tâche, il n'est pas toujours possible de spécifier un ensemble approprié de restrictions tout en conservant les performances.
Un autre inconvénient avec beaucoup de ces méthodes est que les invites elles-mêmes sont conçues à la main. Non seulement cela risque d'être sous-optimal en termes de performances, mais la sélection de l'invite optimale elle-même nécessite des données de validation annotées. Le format Tréduit ce problème en utilisant un ensemble d'invites, mais cela nécessite ensuite l'ajustement d'un modèle de langage distinct pour chaque invite. Les méthodes d'invite « soft » (telles que le réglage des invites) ne nécessitent pas d'invites conçues à la main, mais nécessitent plutôt des ensembles de données d'entraînement plus volumineux.
Des méthodes comme GPT-3 décrit ci-dessus et le récent modèle PaLM insèrent les exemples annotés dans le cadre de l'invite de langage naturel et n'ajustent pas le modèle de langage lui-même. Bien que cela fonctionne très bien dans le paramètre d'apprentissage en quelques captures, cela peut être sous-optimal lorsqu'un plus grand nombre d'exemples annotés sont disponibles. En effet, seul un petit nombre d'exemples peut être inséré dans l'invite avant qu'une longueur de séquence maximale ne soit atteinte. cela limite le modèle à n'effectuer qu'un apprentissage en quelques captures.
Dans cet article, nous nous sommes penchés sur les méthodes basées sur les invites. Celles-ci impliquent de spécifier directement la tâche en langage naturel pour qu'un modèle de langage pré-entraîné interprète et termine.
L'invite montre beaucoup de potentiel pour obtenir de solides performances avec très peu d'exemples d'entraînement annotés. Cependant, ces techniques reposent souvent sur des invites conçues à la main et peuvent être sujettes à des apparitions, ce qui les rend douteuses à utiliser dans des paramètres du monde réel. Par conséquent, bien que ces méthodes semblent prometteuses, il reste encore beaucoup de recherches à effectuer pour les rendre pratiques à utiliser.
Chez Communications Mining, nous recherchons activement à rendre les méthodes d'invite plus sécurisées, à fournir des estimations de précision et à générant des données structurées exploitables. Les résultats de cette recherche seront bientôt disponibles.
Si vous souhaitez essayer Communications Mining dans votre entreprise, inscrivez-vous pour un essai ou regardez une démo.