UiPath Documentation
ixp
latest
false
Guide de l’utilisateur de Communications Mining
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Transformateurs efficaces I : mécanismes d'attention

Mécanismes d'attention utilisés dans IXP Communications Mining sur Automation Cloud pour rendre les modèles NLP basés sur Transformer plus efficaces.

Les entreprises s’appuient sur les communications. Les clients contactent quand ils ont besoin de quelque chose. Les collaborateurs se connectent pour accomplir leur travail. Chez Communications Mining™, notre mission consiste à modifier fondamentalement les sciences économiques du travail de service dans l'entreprise afin de libérer de la valeur dans chaque interaction et rendre le service efficace et évolutif. Pour ce faire, nous démocratisons l'accès aux NLP et NLU.

Plus précisément, les modèles de Communications Mining utilisent des architectures d’apprentissage profond appelées Transformers. Les Transformers permettent d’améliorer considérablement les performances du NLU. Cependant, elles sont également très gourmandes en ressources informatiques : à la fois dans l’entraînement des modèles pour apprendre de nouveaux concepts et dans leur utilisation pour effectuer des prédictions. Cette série en deux parties examinera plusieurs techniques afin d’augmenter la vitesse et réduire le coût de calcul de l’utilisation de ces grandes architectures de Transformer.

Ce post permettra :

  • Présentez un bref historique de l'intégration de modèles dans NLP.
  • Expliquez pourquoi le mécanisme d'auto-attention du Transformer a une charge de travail informatique élevée.
  • Examinez les modifications apportées à l'architecture de transformation traditionnelle qui sont plus efficaces en termes de calculs à entraîner et à exécuter sans compromettre considérablement les performances.

Dans la section suivante, nous examinerons les techniques de calcul et d’estimation supplémentaires qui permettent d’obtenir d’autres gains d’efficacité. Le prochain post sera :

  • Explorez les techniques de classification, où des modèles plus petits sont entraînés pour se rapprocher des performances de modèles plus volumineux.
  • Expliquer les techniques de peaufinage efficaces, où les mises à jour des paramètres sont limitées.
  • Fournissez nos recommandations sur l'utilisation de chacune de ces méthodes.

Arrière-plan​​

Au cours de la dernière période, les méthodes NLP sont devenues considérablement plus efficaces dans l’exécution d’une grande variété de tâches. Cela peut en grande partie être attribué à l'abandon des approches guidées et basées sur l'ingénierie des fonctionnalités vers des méthodes pilotées par l'apprentissage automatique.

Les plus grandes améliorations des performances sont dues aux progrès de l’apprentissage des représentations sémantiques pré-entraînées non supervisées. Cela implique d’entraîner un modèle qui cartographie les séquences en langage naturel (par ex. mots, phrases) par des vecteurs (séquences de nombres) qui représentent leur signification sémantique. Ces vecteurs peuvent ensuite être utilisés pour effectuer la tâche qui vous intéresse, par ex. reconnaissance des intentions, classification des sentiments, reconnaissance du champ général nommé, etc.

Incorporations des mots​​

Le changement de paradigme a commencé dans les années 2010 avec des méthodes d'intégration des mots telles que Word2vec et GlobalVe. Ces techniques utilisent de grands ensembles de données de langage naturel pour apprendre les intégrations (un autre mot pour les vecteurs) des mots de manière non supervisée.

Les intégrations codent des informations sémantiques basées sur les contextes dans lesquels les mots apparaissent fréquemment. Par exemple, le mot « ordinateur» peut souvent être accompagné de mots tels que « clavier », « logiciel » et « Internet »; ces mots voisines communes englobent les informations que l’intégration de « ordinateur» doit coder.

Les intégrations de mots classiques ont une grande vulnérabilité : elles sont statiques, c'est-à-dire que l'intégration d'un mot donné est toujours la même. Par exemple, prenez le mot « banque » - cela peut faire référence au bord d'une cours d'eau ou à une institution financière ; son intégration devrait encoder les deux significations.

Intégrations contextuelles​​

Pour résoudre ce problème, des méthodes d'intégration contextuelles ont été développées. Ceux-ci ont une intégration différente pour chaque mot selon la séquence (par ex. phrase, document) dans lequel elle apparaît. Cette ligne de travail a changé la donne ; Il est maintenant extrêmement rare de trouver des méthodes de pointe qui ne reposent pas sur des intégrations contextuelles.

L’une des premières techniques d’intégration contextuelle les plus populaires a été ELMo, qui consiste à pré-entraîner un modèle de réseau neuronal récurrent (RNN) sur un grand corpus de langage naturel à l’aide d’un objectif de prédiction du mot suivant. Les représentations internes de ce modèle sont ensuite utilisées comme entrées pour les modèles généralement petits afin d'effectuer des tâches supervisées. À l’époque, cette approche s’est considérablement améliorée par rapport à l’état de pointe précédent dans plusieurs tâches.

Migrer des RNN vers les Transformers​

Les RNN traitent chaque mot dans une séquence l'un après l'autre; ils peuvent donc être lents lorsqu'il s'agit de documents longs. Par conséquent, des modèles tels que BERT et RoBERTa, qui remplacent le composant récurrent de ELMo par Transformer, qui propose des calculs plus parallèles, sont devenus les approches de choix.

Ces modèles sont généralement pré-entraînés avec un objectif de modélisation linguistique masquée: un sous-ensemble de mots d'une séquence est supprimé, et le modèle est chargé de prédire les mots manquants.

Cependant, les modèles de langage modernes basés sur Transformer sont généralement très volumineux - ils peuvent contenir des millions de paramètres et sont très exigeants en termes de calculs. Le workflow standard est :

  1. Pré-entraîner le modèle de langue sur un ensemble de données générique non annoté.
  2. Pré-entraîner davantage le modèle de langue sur un ensemble de données non annoté spécifique au domaine.
  3. Ajustez le modèle de langue à l'aide de données annotées pour effectuer la tâche supervisée qui vous intéresse.

Bien que la première de ces étapes soit généralement un coût unique, les deux dernières ne le sont pas. Et tandis que la puissance de calcul devient moins chère, les architectures des transformations deviennent plus grandes. Cela signifie que le coût des performances de pointe ne diminue pas nécessairement.

Par conséquent, ce post présentera une gamme de techniques qui réduisent la charge de travail de calcul tout en minimisant l'impact sur les performances.

Le mécanisme d'auto-attention​​

Remarque :

Bien que les Transformers fonctionnent sur des jetons de sous-mots, cette publication fait référence à des mots tout au long afin de garder les choses plus faciles à comprendre.

L'architecture du Transformer commence par une couche d'intégration apprenant. Chaque couche suivante crée ses représentations internes à l'aide d'un mécanisme d'auto-attention, c'est-à-dire que la représentation de chaque mot examine chaque autre mot de la séquence. Chaque couche d'auto-attention comprend plusieurs « heads » ( Il y a chaque processus.

Le mécanisme d'auto-attention

Supposons qu'il y ait N mots dans une séquence. Chaque auto-attention a des vecteurs de requête, de clé et de valeur D-dimensionnels pour chaque mot, qui sont calculés à l'aide de la sortie de la couche précédente hn-1 :

Ceux-ci sont concaténés ensemble dans les matrices NxiD Q, K et V respectivement. La matrice d'attention est calculée comme suit :

La sortie de la couche d'auto-attention est alors calculée comme suit :

Le résultat final de chaque couche est calculé en concaténant les sorties d’auto-attention pour chaque Créer un flux et par l’intermédiaire d’un petit réseau de flux de données.

Bien que le calcul puisse être effectué en parallèle, l'image 1 montre qu'il y aura N2 opérations d'auto-attention à effectuer pour une séquence avec N mots. C'est-à-dire que la complexité du calcul varie de façon Décroissant avec la longueur de la phrase. Si l’on s’explique par le fait que les Transformers modernes utilisent des dizaines de couches, chacune avec des dizaines de nœuds constitués de milliers de dimensions, il existe beaucoup d’opérations à effectuer, même pour une seule séquence.

Normalement, une ligne de recherche vise à réduire cette complexité N2 avec des mécanismes d'auto-attention plus simples ; il s'agit du principal domaine de recherche consacré aux architectures Transformer efficaces. Certaines approches populaires sont passées en revue dans les sections qui suivent. Pour obtenir une couverture plus complète, consultez ce document d’enquête.

Attention bloc par bloc​​

Une façon de réduire le nombre d'opérations consiste à restreindre le nombre de mots dans la séquence affiché par le mécanisme d'auto-attention. Pour ce faire, BlockBERT segmente la séquence en segments. À la pointe d'attention donnée, le mécanisme d'attention au sein d'un segment n'examine que les mots de l'un des blocs (consultez la Figure 2 à titre d'exemple). Chaque tête d'attention à chaque couche permue les blocs que le mécanisme d'attention examine.

Cela signifie qu’après des dizaines de couches, l’intégration de chaque mot a probablement assisté à l’ensemble de la séquence. Selon la taille du modèle, par rapport à RoBERTa, BlockBERT est 12 % à 25 % plus rapide à entraîner, nécessite 19 % à 36 % moins de mémoire et fonctionne presque aussi bien sur les tâches de réponse aux questions (les scores F1 sont d'environ 0,8 point inférieur sur SQuAD 2.0 ).

Le mécanisme d’auto-attention de BlockBERT ne fait attention qu’aux mots d’un seul bloc.

Combinaison de plusieurs modèles d'attention​​

Dans des lignes similaires, le Longformer limite également le nombre de mots examinés par le mécanisme d’auto-attention. Pour cela, il combine plusieurs schémas d'attention simples.

  • Fenêtre glissante
    • Faites attention uniquement aux mots projetés .
  • Fenêtre glissante simplifiée
    • Faites attention à chaque lième mot, jusqu’à une limite prédéfinie.
  • Attention globale
    • À quelques positions présélectionnées, faites attention à l’ensemble de la séquence.
    • À chaque position, faites attention aux positions présélectionnées.

Avec cette combinaison de modèles d'attention, après plusieurs couches, l'intégration de chaque mot a probablement assisté à la séquence entière. Particulièrement dans les séquences longues, le Longformer est beaucoup plus rapide et utilise moins de mémoire que RoBERTa. De manière inattendue, le Longformer surpasse en fait RoBERTa dans diverses tâches : réponse aux questions, résolution de la base de données et classification des sentiments.

Le mécanisme d’auto-attention de Longformer combine une fenêtre glissante, une fenêtre glissante agrandie et une attention globale à quelques positions pré-sélectionnées

Big Brother est une autre approche populaire et est très similaire à l' utilisateur Longformer, sauf qu'au lieu de la fenêtre 'glissante diieuse, elle utilise un modèle d'attention aléatoire (c'est-à-dire que chaque représentation n'attend qu'un nombre fixe de mots aléatoires dans la séquence).

Utilisation d'une approximation de bas niveau​​

Un type d'approche différent de celles présentées jusqu'à présent est le liser, qui se base sur le résultat théorique selon lequel l'opération d'auto-attention est de faible classement. L'indicateur projette de manière linéaire les matrices de clé et de valeur (K et V) vers le bas, le long de la dimension de la longueur, en une séquence plus courte ( longueur fixe) à laquelle une attention totale peut être appliquée (consultez la Figure 4 à titre d'exemple).

Par rapport à l'auto-attention standard, pour les séquences courtes, l'indicateur est 1,3 à 3 fois plus rapide et pour les séquences longues, il est 3 à 20 fois plus rapide à exécuter. Sur une variété de tâches de classification de texte, il fonctionne de manière similaire à (et sur certaines tâches, légèrement supérieure) à RoBERTa.

Le mécanisme d'auto-attention de Linformation implique une rétrogradation le long de la dimension de la longueur vers une séquence plus courte (dans ce cas, longueur 4) sur laquelle une attention complète peut être appliquée

Résumé​​

Cette série en deux parties examine comment rendre la NLP de pointe plus efficace en explorant les modifications apportées aux techniques de modélisation du langage basées sur Transformer, populaires mais exigeantes en termes de calculs. Ce message :

  • Présentation d’un bref historique de l’apprentissage de la représentation sémantique dans le NLP, y compris les intégrations de mots traditionnel et les modèles d’intégration contextuelle.
  • Explication du mécanisme d'auto-attention qui se trouve au cœur de l'architecture de Transformer, et pourquoi son exécution est coûteuse en calculs.
  • Nous avons exploré des mécanismes d’attention alternatifs qui sont plus efficaces en termes de calculs, sans satruiser les performances.

Le prochain article aborde les éléments suivants :

  • Un aperçu des méthodes qui entraînent de petits modèles pour reproduire les sorties de grands modèles.
  • Comment affiner les modèles de langage de manière efficaces sur les paramètres.
  • Nos recommandations de scénarios dans lesquels utiliser les différentes approches efficaces de Transformer.

Si vous souhaitez essayer Communications Mining™ dans votre entreprise, inscrivez-vous pour un essai ou regardez une démo.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour