XYZNOT

Articles · arXiv 1810.04805

BERT : Pré-entraînement de Transformers bidirectionnels profonds pour la compréhension du langage

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

Publié le cs.CL arXivPDF

Lire avec traduction et IA

Résumé en trois lignes

  1. 🎯 Le pré-entraînement standard des modèles de langue est limité par un contexte unidirectionnel (de gauche à droite), ce qui est sous-optimal pour les tâches au niveau de la phrase et pénalisant pour les tâches au niveau du token comme les questions-réponses.
  2. 🔧 Introduction de BERT, qui pré-entraîne un encodeur Transformer bidirectionnel multicouche à l'aide d'un objectif de modèle de langue masqué (Masked Language Model ou tâche de Cloze) et de la prédiction de phrase suivante (Next Sentence Prediction).
  3. 📈 Obtention de résultats à l'état de l'art sur 11 tâches de TAL, incluant un score GLUE de 80,5 (+7,7 points absolus) et une exactitude de 86,7 % sur MultiNLI (+4,6 % absolus).

Résumé

Nous introduisons un nouveau modèle de représentation du langage appelé BERT, acronyme de Bidirectional Encoder Representations from Transformers. Contrairement aux modèles récents de représentation linguistique, BERT est conçu pour pré-entraîner des représentations bidirectionnelles profondes à partir de texte non étiqueté en conditionnant conjointement le contexte gauche et droit à toutes les couches. Par conséquent, le modèle BERT pré-entraîné peut être affiné avec une seule couche de sortie supplémentaire pour créer des modèles à l'état de l'art sur un large éventail de tâches, telles que les systèmes de questions-réponses et l'inférence textuelle, sans modifications substantielles de l'architecture dédiée à la tâche. BERT est conceptuellement simple et empiriquement puissant. Il obtient de nouveaux résultats à l'état de l'art sur onze tâches de traitement du langage naturel, notamment en portant le score GLUE à 80,5 % (amélioration absolue de 7,7 points), l'exactitude sur MultiNLI à 86,7 % (gain absolu de 4,6 %), le F1 de test sur les questions-réponses de SQuAD v1.1 à 93,2 (gain absolu de 1,5 point) et le F1 de test de SQuAD v2.0 à 83,1 (gain absolu de 5,1 points).

Résumé original (anglais)

We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly conditioning on both left and right context in all layers. As a result, the pre-trained BERT model can be fine-tuned with just one additional output layer to create state-of-the-art models for a wide range of tasks, such as question answering and language inference, without substantial task-specific architecture modifications. BERT is conceptually simple and empirically powerful. It obtains new state-of-the-art results on eleven natural language processing tasks, including pushing the GLUE score to 80.5% (7.7% point absolute improvement), MultiNLI accuracy to 86.7% (4.6% absolute improvement), SQuAD v1.1 question answering Test F1 to 93.2 (1.5 point absolute improvement) and SQuAD v2.0 Test F1 to 83.1 (5.1 point absolute improvement).

Guide de lecture

Problème et motivation

Les modèles de représentation linguistique antérieurs reposaient soit sur des approches basées sur l'extraction de caractéristiques (telles que ELMo), soit sur des approches avec fine-tuning (comme OpenAI GPT). Bien qu'efficaces, ces deux paradigmes étaient restreints par des objectifs de modélisation linguistique unidirectionnels : les modèles autorégressifs standards traitent le texte strictement de gauche à droite (ou de droite à gauche). Dans les modèles unidirectionnels, les tokens ne peuvent prêter attention qu'aux tokens précédents dans les couches d'auto-attention pour éviter que les mots ne « se voient eux-mêmes » trivialement à travers les contextes multicouches. ELMo a tenté d'apporter de la bidirectionnalité en concaténant superficiellement des LSTM de gauche à droite et de droite à gauche entraînés séparément, mais cela ne permet pas de capturer un conditionnement conjoint et profond sur un contexte bidirectionnel à chaque couche. Cette unidirectionnalité limite les représentations au niveau de la phrase et s'avère particulièrement néfaste pour les tâches en aval au niveau du token, telles que les questions-réponses, où la compréhension simultanée des contextes gauche et droit est essentielle.

Idées clés

  • Architecture Transformer bidirectionnelle profonde : BERT utilise un encodeur Transformer bidirectionnel multicouche, permettant aux couches d'auto-attention de se conditionner conjointement sur les contextes gauche et droit à travers toutes les couches.
  • Masked Language Model (MLM) : Inspiré du test de Cloze, BERT masque aléatoirement 15 % des tokens d'entrée et entraîne le modèle à prédire les tokens masqués à l'aide de leur contexte, résolvant ainsi le problème trivial où le token « se voit lui-même ».
  • Atténuation de l'écart pré-entraînement/fine-tuning : Étant donné que les tokens [MASK] n'apparaissent pas lors du fine-tuning, les 15 % de tokens sélectionnés sont remplacés par [MASK] 80 % du temps, par un token aléatoire 10 % du temps, et laissés inchangés 10 % du temps.
  • Next Sentence Prediction (NSP) : Pour capturer les relations entre paires de phrases, critiques pour l'inférence en langage naturel (NLI) et les questions-réponses (QA), BERT effectue un pré-entraînement sur une tâche binaire prédisant si la phrase suit logiquement la phrase () ou s'il s'agit d'une phrase aléatoire provenant du corpus ().
  • Architecture unifiée pour les tâches en aval : La même architecture pré-entraînée est réutilisée pour les tâches en aval avec un ajout minimal de paramètres (par exemple, une simple tête de classification linéaire ou des pointeurs d'empan de début/fin).

Méthode

Configuration du modèle

BERT est évalué principalement sur deux tailles :

  • : couches, dimension cachée , têtes d'attention, total des paramètres = .
  • : couches, dimension cachée , têtes d'attention, total des paramètres = . La taille des filtres feed-forward est de .

Représentations d'entrée et de sortie

Les entrées peuvent représenter une séquence de texte unique ou une paire de phrases regroupées ensemble. Les plongements sont construits en sommant :

  1. Les plongements de tokens WordPiece (vocabulaire de 30 000 tokens).
  2. Les plongements de segments (plongement appris indiquant si un token provient de la phrase ou de la phrase ).
  3. Les plongements positionnels appris.

Chaque séquence commence par [CLS]. Son vecteur caché final représente l'agrégat de la séquence. Les paires de phrases sont séparées par [SEP]. Les représentations cachées finales des tokens sont notées .

Objectifs de pré-entraînement

  1. Masked LM : Étant donné le token masqué , la représentation est injectée dans un softmax sur le vocabulaire avec une perte d'entropie croisée :
  2. Next Sentence Prediction : Le vecteur agrégé alimente une classification binaire : La perte totale de pré-entraînement est la somme de la vraisemblance moyenne du Masked LM et de la vraisemblance moyenne de la prédiction de phrase suivante.

Adaptations pour le fine-tuning

  • Classification (GLUE) : Ajout d'une matrice de projection , la perte étant calculée comme .
  • Extraction d'empans (SQuAD v1.1) : Apprentissage d'un vecteur de début et d'un vecteur de fin . La probabilité que le token soit le début de l'empan de réponse est : Le score pour l'empan est , maximisé pour .
  • Questions sans réponse (SQuAD v2.0) : Extension permettant au token [CLS] de servir d'empan de réponse nulle, avec un score , et en prédisant une réponse non nulle seulement lorsque .

Résultats

BERT a été évalué sur 11 tâches de TAL :

  • Classement GLUE : a atteint un score GLUE moyen de 80,5 % (une amélioration absolue de 7,7 % par rapport à l'état de l'art précédent) et une exactitude de 86,7 % sur MNLI (un gain absolu de 4,6 %).
  • SQuAD v1.1 : a obtenu 84,1 en EM et 90,9 en F1 sur l'ensemble Dev en tant que modèle unique ; un ensemble avec pré-entraînement sur TriviaQA a atteint 87,4 en EM et 93,2 en F1 sur le jeu de test, surpassant la performance humaine (82,3 EM / 91,2 F1).
  • SQuAD v2.0 : a atteint 80,0 en EM et 83,1 en F1 sur l'ensemble de test, devançant le meilleur système précédent de +5,1 points de F1.
  • SWAG : a obtenu une exactitude de 86,3 % sur le test, surpassant OpenAI GPT (78,0 %) et la référence d'experts humains (85,0 %).
  • Résultats de l'ablation : La suppression de NSP a dégradé les performances sur MNLI (-0,5 %), QNLI (-3,5 %) et SQuAD F1 (-0,6 %). Le remplacement de MLM par un modèle de langue standard de gauche à droite (LTR) a provoqué de fortes baisses sur SQuAD (-10,7 F1) et MRPC (-9,2 % d'exactitude).

Limites et questions ouvertes

  • Écart pré-entraînement / fine-tuning : Le token artificiel [MASK] n'apparaît jamais durant le fine-tuning, nécessitant des règles de remplacement heuristiques (80/10/10) pour limiter ce décalage.
  • Efficacité du pré-entraînement : Comme BERT ne prédit que 15 % des tokens par batch au lieu de 100 % des tokens comme dans les modèles autorégressifs standards, il nécessite plus d'étapes de pré-entraînement (1 000 000 d'étapes avec 128 000 tokens/batch) pour converger.
  • Goulot d'étranglement quadratique de l'attention : L'attention standard des Transformers évolue de manière quadratique () avec la longueur de séquence, rendant les longues séquences coûteuses et nécessitant une stratégie de pré-entraînement en deux phases (90 % des étapes à une longueur de séquence de 128, 10 % à 512).
  • Inapplicabilité à la génération de texte : En tant qu'encodeur bidirectionnel, BERT est directement structuré pour les tâches de représentation et les tâches discriminatives en aval, et ne peut pas effectuer directement de génération autorégressive de gauche à droite sans modifications architecturales.

Termes clés

Masked Language Model (MLM)
Objectif de pré-entraînement inspiré du test de Cloze où des tokens d'entrée aléatoires sont remplacés par un masque, le modèle étant entraîné à reconstruire le token original à partir du contexte bidirectionnel profond.
Next Sentence Prediction (NSP)
Tâche de pré-entraînement binaire où le modèle prédit si un second segment de phrase donné suit logiquement le premier segment ou s'il a été échantillonné aléatoirement dans le corpus.
[CLS]
Token de classification spécial placé au début de chaque séquence, dont l'état caché final est utilisé comme représentation agrégée de la séquence pour les tâches de classification.
[SEP]
Token spécial utilisé pour séparer des segments de phrases non consécutifs ou distincts au sein d'une même séquence d'entrée combinée.
WordPiece
Algorithme de tokenisation en sous-mots utilisé par BERT avec un vocabulaire de 30 000 tokens pour gérer les mots hors vocabulaire et découper les mots en unités sous-lexicales.
Segment Embeddings
Plongements appris ajoutés aux plongements de tokens d'entrée pour distinguer si un token appartient à l'empan de la phrase A ou à celui de la phrase B dans les paires combinées.
Fine-tuning
Stratégie d'apprentissage en aval où tous les paramètres pré-entraînés de BERT sont mis à jour de bout en bout conjointement avec des couches de sortie minimales dédiées à la tâche, à l'aide de données étiquetées.
Feature-based approach
Stratégie alternative dans laquelle des représentations contextuelles fixes sont extraites des couches de BERT sans mettre à jour ses paramètres, puis injectées dans des architectures spécifiques à la tâche.

Questions

Pourquoi BERT remplace-t-il les tokens masqués par des tokens aléatoires ou les conserve-t-il inchangés au lieu de toujours utiliser [MASK] ?

Puisque le token [MASK] n'apparaît jamais lors du fine-tuning, remplacer chaque token cible par [MASK] créerait un décalage entre le pré-entraînement et le fine-tuning. BERT atténue ce problème en remplaçant les tokens sélectionnés par [MASK] 80 % du temps, par un token aléatoire 10 % du temps, et par le token original non modifié 10 % du temps, ce qui force le modèle à conserver une représentation distribuée de tous les tokens.

Quelle est la différence entre BERT et OpenAI GPT ?

Bien que tous deux soient des modèles basés sur des Transformers utilisant le fine-tuning, OpenAI GPT emploie un décodeur Transformer de gauche à droite où l'attention est contrainte afin que chaque token ne puisse s'attarder qu'aux tokens précédents. BERT utilise un encodeur Transformer bidirectionnel où l'attention s'applique à la fois sur le contexte gauche et droit dans toutes les couches, ce qui est rendu possible par son objectif de pré-entraînement de modèle de langue masqué.

BERT peut-il être utilisé comme un extracteur de caractéristiques au lieu d'être affiné de bout en bout ?

Oui. Sur la tâche de reconnaissance d'entités nommées CoNLL-2003, extraire et concaténer les activations de tokens des quatre dernières couches cachées de BERT pour les injecter dans un BiLSTM à 2 couches a permis d'atteindre un F1 de 96,1 sur Dev, soit seulement 0,3 point de F1 derrière le fine-tuning complet de l'ensemble du modèle (96,4 F1).

Pourquoi BERT a-t-il utilisé une planification de longueur de séquence en deux phases lors du pré-entraînement ?

La complexité computationnelle de l'auto-attention est quadratique par rapport à la longueur de la séquence. Pour réduire le temps de calcul, BERT a été pré-entraîné avec une longueur de séquence de 128 pour les 900 000 premières étapes (90 % de l'entraînement), puis entraîné avec une longueur de séquence de 512 pour les 100 000 étapes restantes afin d'apprendre les plongements positionnels.

La présentation de cette page a été rédigée par une IA à partir de l'article et peut contenir des erreurs. Consultez l'article pour les détails.

Lire avec traduction et IA