Accélérez avec BERT : Modèles d'optimisation NLP

Publié: 2022-03-11

Accélérer le NLP avec BERT : des résultats de classe mondiale avec 100 fois moins de données

Il existe deux difficultés principales lors de la création de modèles de classification de traitement du langage naturel (TAL) d'apprentissage en profondeur.

  1. Collecte de données (obtention de milliers ou de millions de points de données classifiés)
  2. Architecture d'apprentissage profond et formation

Notre capacité à construire des modèles complexes d'apprentissage en profondeur capables de comprendre la complexité du langage a généralement nécessité des années d'expérience dans ces domaines. Plus votre problème est difficile, plus votre résultat est diversifié, plus vous devez consacrer de temps à chacune de ces étapes.

La collecte de données est fastidieuse, chronophage, coûteuse et constitue le principal facteur limitant pour la réussite des projets NLP. Préparer des données, créer des pipelines résilients, faire des choix parmi des centaines d'options de préparation potentielles et préparer le modèle peut facilement prendre des mois d'efforts, même avec des ingénieurs talentueux en apprentissage automatique. Enfin, la formation et l'optimisation des modèles d'apprentissage en profondeur nécessitent une combinaison de compréhension intuitive, d'expertise technique et d'une capacité à s'en tenir à un problème.

Dans cet article, nous couvrirons

  1. Tendances de l'apprentissage en profondeur pour la PNL : comment l'apprentissage par transfert rend les modèles de classe mondiale open source
  2. Introduction à BERT : Une introduction à "l'outil" NLP le plus puissant à ce jour - Représentations d'encodeurs bidirectionnels à partir de transformateurs (BERT)
  3. Comment fonctionne le BERT et pourquoi cela changera la façon dont les entreprises exécutent les projets NLP

Tendances de l'apprentissage en profondeur

Naturellement, l'optimisation de ce processus a commencé avec une précision croissante. Les réseaux LSTM (mémoire à long terme) ont révolutionné de nombreuses tâches NLP, mais ils étaient (et sont) incroyablement gourmands en données. L'optimisation et la formation de ces modèles peuvent prendre des jours ou des semaines sur des machines volumineuses et coûteuses. Enfin, le déploiement de ces grands modèles en production est coûteux et fastidieux.

Pour réduire ces facteurs créateurs de complexité, le domaine de la vision par ordinateur a longtemps eu recours à l'apprentissage par transfert. L'apprentissage par transfert est la capacité d'utiliser un modèle formé pour une tâche différente mais similaire pour accélérer votre solution sur une nouvelle. Il faut beaucoup moins d'efforts pour réentraîner un modèle qui peut déjà catégoriser les arbres que pour entraîner un nouveau modèle à reconnaître les buissons à partir de zéro.

Imaginez un scénario où quelqu'un n'a jamais vu de buisson mais a vu de nombreux arbres dans sa vie. Vous trouverez beaucoup plus facile de leur expliquer à quoi ressemble un buisson en termes de ce qu'ils savent sur les arbres plutôt que de décrire un buisson à partir de zéro. L'apprentissage par transfert est une façon très humaine d'apprendre, il est donc logique que cela fonctionne dans les tâches d'apprentissage en profondeur.

BERT signifie que vous avez besoin de moins de données, moins de temps de formation et que vous obtenez plus de valeur commerciale. La qualité des produits NLP que toute entreprise peut construire est devenue de classe mondiale.

En vient BERT

BERT utilise ce qu'on appelle des transformateurs et est conçu pour produire des encodages de phrases. Essentiellement, BERT est un modèle de langage basé sur un modèle d'apprentissage en profondeur spécifique. Il est spécialement conçu pour donner une représentation contextuelle, numérique, d'une phrase ou d'une chaîne de phrases. Cette représentation numérique est l'entrée d'un modèle superficiel et simple. Non seulement cela, mais les résultats sont généralement supérieurs et nécessitent une fraction des données d'entrée pour une tâche qui n'a pas encore été résolue.

Imaginez pouvoir passer une journée à collecter des données au lieu d'un an et pouvoir créer des modèles autour d'ensembles de données sur lesquels vous n'auriez jamais assez de données pour créer un modèle LSTM. Le nombre de tâches NLP qui seraient ouvertes à une entreprise qui, auparavant, ne pouvait pas se permettre le temps de développement et l'expertise nécessaires est stupéfiant.

BERT vs LSTM illustré

Comment fonctionne le BERT

Dans la PNL traditionnelle, le point de départ de la formation du modèle est les vecteurs de mots. Les vecteurs de mots sont une liste de nombres [0,55, 0,24, 0,90, …] qui tentent de représenter numériquement ce que signifie ce mot. Avec une représentation numérique, nous pouvons utiliser ces mots dans la formation de modèles complexes, et avec de grands vecteurs de mots, nous pouvons intégrer des informations sur les mots dans nos modèles.

BERT fait quelque chose de similaire (en fait, son point de départ est les vecteurs de mots), mais il crée une représentation numérique d'une phrase d'entrée entière (ou de phrases).

Comparé aux modèles LSTM, BERT fait beaucoup de choses différemment.

  1. Il lit tous les mots à la fois plutôt que de gauche à droite ou de droite à gauche
  2. 15 % des mots sont sélectionnés au hasard pour être "masqués" (littéralement remplacés par le jeton [MASQUE]) pendant le temps de formation
    • 10 % des mots sélectionnés au hasard restent inchangés
    • 10% des mots masqués sont remplacés par des mots aléatoires
    • (a) et (b) fonctionnent ensemble pour forcer le modèle à prédire chaque mot de la phrase (les modèles sont paresseux)
  3. BERT tente ensuite de prédire tous les mots de la phrase, et seuls les mots masqués contribuent à la fonction de perte - y compris les mots inchangés et remplacés au hasard
  4. Le modèle a été affiné sur la prédiction de la phrase suivante. Dans cette étape, le modèle essaie de déterminer si une phrase donnée est la phrase suivante dans le texte

La convergence est lente et le BERT met beaucoup de temps à s'entraîner. Cependant, il apprend beaucoup mieux les relations contextuelles dans le texte. Les vecteurs de mots sont des représentations très superficielles qui limitent la complexité qu'ils peuvent modéliser - BERT n'a pas cette limitation.

La plupart des entreprises peuvent utiliser les modèles pré-formés qui utilisaient plusieurs GPU et prenaient des jours pour se former à leur application. Il existe peu de cas où les modèles BERT existants ne peuvent pas être utilisés sur place ou adaptés à un cas d'utilisation spécifique. BERT permet à une équipe de décupler les solutions. On peut passer à l'identification d'une solution métier, à la construction d'une preuve de concept et enfin à la mise en production de ce concept en une fraction du temps.

Mise en œuvre du BERT et comparaison de la valeur commerciale

Étant donné que cet article se concentre sur l'application commerciale et technique de la création d'un produit réel, nous allons créer et former deux modèles pour mieux comprendre la valeur comparative.

  1. BERT : Le pipeline BERT le plus simple. Nous traitons le texte de manière standard, nous produisons les encodages de phrases BERT et nous alimentons ces encodages de phrases dans un réseau neuronal peu profond
  2. LSTM : L'architecture standard Embed - Encode - Attend - Predict (photo ci-dessus)

La tâche? Prédire l'origine des films en fonction de leur intrigue à partir d'IMDB. Notre ensemble de données couvre des films américains, australiens, britanniques, canadiens, japonais, chinois, sud-coréens et russes en plus de seize autres films pour un total de 24 origines. Nous avons un peu moins de 35 000 exemples de formation au total.

Voici un exemple d'extrait d'un tracé.

Il y a des milliers d'années, Steppenwolf et ses légions de Parademons tentent de prendre le contrôle de la Terre avec les énergies combinées de trois Mother Boxes. Ils sont déjoués par une armée unifiée qui comprend les dieux de l'Olympe, les Amazones, les Atlantes, l'humanité et le Green Lantern Corps. Après avoir repoussé l'armée de Steppenwolf, les Mother Boxes sont séparées et cachées dans des endroits de la planète. Dans le présent, l'humanité est en deuil de Superman, dont la mort déclenche la réactivation des boîtes mères et le retour de Steppenwolf sur Terre dans le but de regagner les faveurs de son maître, Darkseid. Steppenwolf vise à rassembler les artefacts pour former "The Unity", qui détruira l'écologie de la Terre et la terraformera à l'image de…

Si vous ne l'aviez pas deviné, c'est l'intrigue de la Justice League — un film américain.

Les resultats

Nous avons formé un ensemble diversifié de paramètres pour comprendre comment les résultats ont répondu à différentes quantités de données et de tailles de modèles. Comme nous l'avons dit, la valeur ajoutée la plus importante du BERT est le besoin de beaucoup moins de données.

Pour le modèle LSTM, nous avons formé le plus grand modèle possible sur notre GPU et fait varier la taille du vocabulaire et la longueur des mots pour trouver le modèle le plus performant. Pour le modèle BERT, nous n'avions rien de plus qu'une seule couche.

Nous avons fixé notre ensemble de tests sur tous ces échantillons, nous évaluons donc systématiquement le même ensemble de formation.

Résultats lors de l'utilisation de BERT NLP

Sur cette tâche, le modèle entraîné à l'aide des encodages de phrases BERT atteint un impressionnant score F1 de 0,84 après seulement 1000 échantillons. Le réseau LSTM ne dépasse jamais 0,60. Encore plus impressionnant, la formation des modèles BERT a pris en moyenne 1/20e du temps que la préparation des modèles LSTM.

Conclusion

Quelle que soit la métrique, ces résultats indiquent une révolution dans la PNL. En utilisant 100 fois moins de données et 20 fois moins de temps de formation, nous avons obtenu des résultats de classe mondiale. La possibilité de former des modèles de haute qualité en quelques secondes ou minutes au lieu d'heures ou de jours ouvre la PNL dans des domaines où elle ne pouvait pas être offerte auparavant.

BERT a beaucoup plus d'utilisations que celle de cet article. Il existe des modèles multilingues. Il peut être utilisé pour résoudre de nombreuses tâches PNL différentes, soit individuellement comme dans cet article, soit simultanément en utilisant plusieurs sorties. Les encodages de phrases BERT sont appelés à devenir la pierre angulaire de nombreux projets NLP à l'avenir.

Le code derrière ce post est disponible sur Github. J'encourage également les lecteurs à consulter Bert-as-a-service, qui était la pierre angulaire de la construction des encodages de phrases BERT pour cet article.

En relation : Tirer le meilleur parti des modèles pré-formés