- Introduction
- Configuration de votre compte
- Équilibre
- Clusters
- Dérive de concept
- Couverture
- Jeux de données
- Champs généraux
- Libellés (prédictions, niveaux de confiance, hiérarchie des libellés et sentiment des libellés)
- Modèles
- Flux
- Évaluation du modèle
- Projets
- Précision
- Rappel
- Messages annotés et non annotés
- Extraction des champs
- Sources
- Taxonomies
- Apprentissage
- Prédictions positives et négatives vraies et fausses
- Validation
- Messages
- Contrôle et administration de l'accès
- Gérer les sources et les jeux de données
- Comprendre la structure des données et les autorisations
- Créer ou supprimer une source de données dans l'interface graphique
- Téléchargement d’un fichier CSV dans une source
- Préparation des données en vue du téléchargement du fichier .CSV
- Création d'un ensemble de données
- Sources et jeux de données multilingues
- Activation des sentiments sur un ensemble de données
- Modification des paramètres du jeu de données
- Supprimer un message
- Supprimer un jeu de données
- Exporter un ensemble de données
- Utilisation d'intégrations Exchange
- Entraînement et maintenance du modèle
- Comprendre les libellés, les champs généraux et les métadonnées
- Hiérarchie de libellés et meilleures pratiques
- Comparer les cas d’utilisation des analyses et des automatisations
- Transformer vos objectifs en libellés
- Présentation du processus d'entraînement du modèle
- Annotation générative
- Statut du jeu de données
- Entraînement des modèles et annotation des meilleures pratiques
- Entraînement avec l'analyse des sentiments des libellés activée
- Entraînement des données de chat et d'appels
- Comprendre les exigences de données
- Entraîner
- Vue d'ensemble (Overview)
- Examen des prédictions de libellé
- Entraînement à l'aide de la classification par glisser-déposer
- Entraînement à l'aide de l'option Enseigner le libellé (Explore)
- Entraînement à l'aide d'une confiance faible
- Entraînement à l'aide de la recherche (Explorer)
- Affiner et réorganiser votre taxonomie
- Introduction à affiner
- Précision et rappel expliqués
- Précision et rappel
- Comment fonctionne la validation
- Comprendre et améliorer les performances du modèle
- Raisons de la faible précision moyenne des libellés
- Entraînement à l'aide du libellé Vérifier (Check label) et du libellé Manqué (Missed Label)
- Entraînement à l'aide du libellé En savoir plus (Affiner)
- Entraînement à l'aide de la recherche (affiner)
- Comprendre et augmenter la couverture
- Amélioration de l'équilibre et utilisation du rééquilibrage
- Quand arrêter l'entraînement de votre modèle
- Utilisation de champs généraux
- Extraction générative
- Vue d'ensemble (Overview)
- Configurer des champs
- Filtrage par type de champ d’extraction
- Génération de vos extractions
- Validation et annotation des extractions générées
- Meilleures pratiques et considérations
- Comprendre la validation des extractions et des performances d'extraction
- Questions fréquemment posées (FAQ)
- Utilisation des analyses et de la surveillance
- Automations et Communications Mining™
- Développeur
- Charger des données
- Téléchargement de données
- Intégration avec l'utilisateur du service Azure
- Intégration avec l'authentification d'application Azure
- Intégration d’Exchange avec l’authentification et le graphique d’application Azure
- Récupérer des données pour Tableau avec Python
- Intégration d'Elasticsearch
- Extraction de champ général
- Intégration avec Exchange auto-hébergée
- Infrastructure d’automatisation UiPath®
- Activités officielles UiPath®
- 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 des 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’information sur des données conversationnelles
- Licences
- FAQ et plus encore

Guide de l’utilisateur de Communications Mining
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 transformations facilitent d’considérablement améliorations des performances NLU. Cependant, ils sont également très lourds en calculs, à la fois pour entraîner les modèles pour apprendre de nouveaux concepts et pour les utiliser pour faire des prédictions. Cette série en deux parties examinera plusieurs techniques pour augmenter la vitesse et réduire le coût de calcul lors de l'utilisation de ces grandes architectures de transformation.
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.
Le prochain article examinera des techniques de calcul et d’approximation supplémentaires permettant des gains d’efficacité supplémentaires. Le prochain message :
- 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.
Au cours de la dernière année, les méthodes NLP sont devenues considérablement plus efficaces lorsqu'il s'agit d'effectuer une grande variété de tâches. Cela peut être en grande partie attribué à l'abandon des approches guidées à la main et basées sur l'ingénierie des fonctionnalités, vers des méthodes basées sur l'apprentissage automatique. Les plus grandes améliorations des performances sont dues aux progrès de l'apprentissage de la représentation sémantique pré-entraînée non supervisée. Cela implique l'entraînement d'un modèle qui mappe les séquences de langage naturel (par ex. mots, phrases) aux vecteurs (séquences de nombres) qui représentent leur sens sémantique. Ces vecteurs peuvent ensuite être utilisés pour effectuer la tâche qui vous intéresse, par exemple reconnaissance d'intention, classification de sentiment, reconnaissance de champ nommé, etc.
Incorporations des mots
Le changement de paradigme a commencé dans les années 2010 avec des méthodes d'intégration de mots telles que word2vec et GoVe. Ces techniques utilisent de grands ensembles de données de langage naturel pour apprendre les intégrations (un autre mot pour les vecteurs) de mots d'une manière non supervisée. Les intégrations codent les informations sémantiques en fonction des contextes dans lesquels les mots apparaissent fréquemment. Par exemple, le mot « ordinateur » apparaît souvent à côté de mots tels que « clavier », « logiciel » et « internet »; ces mots avoisinants communs représentent 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 populaires a été DELMo, qui consiste à pré-entraîner un modèle de réseau neuronal récurrent (RNN) sur un grand corpus de langage naturel en utilisant un objectif de prédiction du mot suivant. Les représentations internes de ce modèle sont ensuite utilisées comme entrées dans des modèles (généralement petits) pour l'exécution de tâches supervisées. À l’époque, cette approche a considérablement amélioré l’état de technique précédent dans plusieurs tâches.
Les RNN traitent chaque mot dans une séquence l'un après l'autre, ils peuvent donc être lents s'il s'agit de documents longs. En conséquence, des modèles comme BERT et RoBERTa, qui remplacent le composant récurrent d'ElMo par le Transformer plus convivial pour les calculs parallèles, sont devenus les approches passe-partout. Ces modèles sont généralement pré-entraînés avec un objectif de modélisation de langue masquée : un sous-ensemble de mots d'une séquence sont supprimés et le modèle est chargé de prédire quels sont 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 :
- Pré-entraîner le modèle de langue sur un ensemble de données générique non annoté.
- Pré-entraîner davantage le modèle de langue sur un ensemble de données non annoté spécifique au domaine.
- 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.
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.
Ceux-ci sont concaténés dans les matrices NpxD 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 (contrairement aux RNN) le calcul puisse être effectué en parallèle, la figure 1 montre qu'il y aura N2 opérations d'auto-attention à effectuer pour une séquence de N mots. C'est-à-dire que la complexité de calcul est quadratique selon la longueur de la phrase. Lorsque l'on tient compte du fait que les transformations modernes utilisent des dizaines de couches, chacune avec des dizaines de têtes composées de milliers de dimensions, il y a 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 examinée par le mécanisme d'auto-attention. Pour cela, BlockBERT segmente la séquence en segments. À un niveau d'attention donné, le mécanisme d'attention dans un bloc n'ouvre que les mots dans l'un des blocs. Chaque head d'attention à chaque couche perdent les blocs que le mécanisme d'attention examine. Cela signifie qu'après des dizaines de couches, l'intégration pour chaque mot a probablement assisté sur la séquence entière. Selon la taille du modèle, par rapport à RoBERTa, Block. ).
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 k mots adjacents.
- 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.
BigBIrd est une autre approche populaire et est très similaire au Longformer, sauf qu'au lieu de la fenêtre glissée agrandie, il utilise un modèle d'attention aléatoire (c'est-à-dire que chaque représentation assistée à 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 ceux présentés jusqu’à présent est l’ information d’information, qui se base sur le résultat théorique selon lequel l’opération d’auto-attention est de faible rang. La matrice L Informer projete linéairement les clés et les valeurs (K et V) vers le bas, ainsi que la dimension de longueur, dans une séquence plus courte ( longueur fixe ) sur laquelle une attention complète peut être appliquée. Par rapport à l'auto-attention standard, pour les séquences courtes, le informations d’identification est 1,3 à 3 fois plus rapide, et pour les séquences longues, son exécution est 3 à 20 fois plus rapide. Sur diverses tâches de classification de texte, il fonctionne de façon comparable à (et sur certaines tâches, légèrement mieux que) RoBERTa.
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 couvrira :
- 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.