Accélérer la PNL avec BERT: des résultats de classe mondiale avec 100 fois moins de données
Il existe deux principales difficultés lors de la création de modèles de classification de traitement du langage naturel (PNL) d'apprentissage en profondeur.
Notre capacité à créer des modèles d'apprentissage profond complexes 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 production est diversifiée, plus vous devez consacrer de temps à chacune de ces étapes.
La collecte de données est lourde, longue, coûteuse et constitue le principal facteur limitant pour la réussite des projets de PNL. La préparation des données, la construction de pipelines résilients, le choix parmi des centaines d'options de préparation potentielles et la préparation du modèle peuvent facilement prendre des mois d'efforts, même avec 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 de capacité à gérer un problème.
Dans cet article, nous couvrirons
Naturellement, l'optimisation de ce processus a commencé avec une précision croissante. Les réseaux LSTM (mémoire à long-court 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 de création de complexité, le domaine de la vision par ordinateur utilise depuis longtemps l'apprentissage par transfert. L'apprentissage par transfert est la possibilité 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 recycler un modèle qui peut déjà catégoriser les arbres que pour former un nouveau modèle à reconnaître les buissons à partir de zéro.
Imaginez un scénario où quelqu'un n'avait jamais vu un buisson mais avait vu de nombreux arbres dans sa vie. Vous trouveriez beaucoup plus facile de leur expliquer à quoi ressemble un buisson en termes de ce qu'ils savent des arbres plutôt que de décrire un buisson à partir de zéro. L'apprentissage par transfert est une manière très humaine d'apprendre, il est donc intuitif 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 vous obtenez plus de valeur commerciale. La qualité des produits PNL que toute entreprise peut construire est devenue de classe mondiale.
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 spécifique d'apprentissage en profondeur. 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 peu profond 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 être capable de construire des modèles autour d'ensembles de données dont vous n'auriez autrement jamais assez de données pour créer un modèle LSTM. Le nombre de tâches PNL qui seraient ouvertes à une entreprise qui, auparavant, ne pouvait pas se permettre le temps de développement et l'expertise requis est stupéfiant.
Dans la PNL traditionnelle, le point de départ de la formation des modèles 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 des vecteurs de mots), mais il crée une représentation numérique d'une ou plusieurs phrases d'entrée.
Par rapport aux modèles LSTM, BERT fait beaucoup de choses différemment.
comment trouver les anciens numéros de carte de crédit
La convergence est lente et le BERT prend 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 ont utilisé plusieurs GPU et ont mis des jours à se former à leur application. Il existe peu de cas où les modèles BERT existants ne peuvent pas être utilisés en 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 commerciale, à la construction d'une preuve de concept et enfin à la mise en production de ce concept en une fraction du temps.
É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.
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, ainsi que 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 de code d'un graphique.
Il y a des milliers d'années, Steppenwolf et ses légions de Parademons tentent de conquérir la Terre avec les énergies combinées de trois boîtes mères. Ils sont déjoués par une armée unifiée qui comprend les dieux olympiens, les Amazones, les Atlantes, l'humanité et le Green Lantern Corps. Après avoir repoussé l'armée de Steppenwolf, les boîtes mères sont séparées et cachées dans des endroits de la planète. Dans le présent, l'humanité est en deuil sur 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 la faveur de son maître, Darkseid. Steppenwolf vise à rassembler les artefacts pour former «l’unité», 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.
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 tailles de modèles. Comme nous l'avons dit, la valeur ajoutée la plus significative 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 avons varié 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 qu'une seule couche.
Nous avons corrigé notre ensemble de tests sur tous ces échantillons, de sorte que nous notons systématiquement le même ensemble d'entraînement.
Pour cette tâche, le modèle entraîné à l'aide des encodages de phrases BERT atteint un score F1 impressionnant 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 de préparer les modèles LSTM.
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 auparavant pas être financée.
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 ce post, soit en utilisant simultanément plusieurs sorties. Les encodages de phrases BERT sont en passe de devenir la pierre angulaire de nombreux projets de PNL à venir.
Le code derrière cet article est disponible sur Github . J'encourage également les lecteurs à consulter Bert en tant que service , qui était la pierre angulaire de la construction des encodages de phrases BERT pour ce poste.
En relation: Tirer le meilleur parti des modèles pré-formésL'apprentissage par transfert est une méthode d'apprentissage automatique dans laquelle un modèle est construit et entraîné sur une tâche qui sert de point de départ. Il s'agit d'une méthode d'apprentissage automatique dans laquelle un modèle développé pour une tâche est utilisé comme point de départ pour un problème similaire et connexe (par exemple, la classification NLP à la reconnaissance d'entités nommées).
BERT est un puissant modèle d'apprentissage en profondeur développé par Google basé sur l'architecture du transformateur. BERT a montré des résultats de pointe et un certain nombre des tâches PNL les plus courantes et peut être utilisé comme point de départ pour créer des modèles PNL dans de nombreux domaines.
Le BERT fait abstraction de certains des aspects les plus compliqués et les plus chronophages de la construction d'un PNL et des preuves ont montré que le BERT peut être utilisé pour réduire la quantité de données requise pour entraîner un modèle hautement performant de plus de 90%. BERT réduit également la complexité de la production, le temps de développement et augmente la précision.
Le meilleur endroit pour commencer avec BERT est de se familiariser avec Bert-as-a-service. Le code derrière cet article est disponible sur Github et peut également être utilisé pour démarrer un nouveau projet NLP.