Une brève introduction au modèle BART

Table des matières

1. Résumé

2. Expansion en profondeur

2.1 Tâche de pré-formation

2.2 Ajustement du modèle


1. Résumé

Le modèle BART (Transformateurs bidirectionnels et auto-régressifs) utilise une structure séquence à séquence standard basée sur Transformer. La principale différence est que le ReLU dans la structure d'origine est remplacé par la fonction d'activation GeLU (Gaussian Error Linerar Units), et les paramètres sont initialisés selon la loi normale. . BART combine un encodeur Transformer bidirectionnel et un décodeur Transformer autorégressif unidirectionnel. Il s'agit d'un autoencodeur de débruitage typique (Denoising autoencoder) en pré-formant la reconstruction de débruitage du texte d'entrée contenant du bruit . La structure de base du modèle BART est illustrée dans la figure ci-dessous.
Le processus de pré-formation du BART peut être résumé en deux étapes. Dans un premier temps, du bruit est introduit dans le texte d'entrée et le texte brouillé est encodé à l'aide d'un encodeur bidirectionnel, puis le texte original est reconstruit à l'aide d'un décodeur autorégressif unidirectionnel. Il est à noter que la dernière couche cachée de représentation du codeur servira de "mémoire" pour participer au calcul de chaque couche du décodeur. Le modèle BART prend en compte un certain nombre de façons différentes d'introduire du bruit, y compris les masques de mots utilisés par le modèle BERT. Il convient de noter que le modèle BERT prédit indépendamment les mots de la position du masque, tandis que le modèle BART est généré séquentiellement par des moyens autorégressifs .   Au-delà de cela, le modèle BART est également applicable à toute autre forme de bruit de texte.

2. Expansion en profondeur

2.1 Tâche de pré-formation

Le modèle BART prend en compte les cinq méthodes d'introduction de bruit suivantes :
(1) Masque de mots . Semblable au modèle BERT, échantillonnez au hasard une partie des mots dans le texte d'entrée et remplacez-les par des balises de masque (telles que [MASK]);
(2) Suppression de mots . Échantillonnez quelques mots au hasard et supprimez-les. Pour faire face à ce type de bruit, le modèle doit non seulement prédire les mots manquants, mais doit également déterminer l'emplacement des mots manquants ;
(3) Transformation de l'arrangement des phrases . Divisez le texte d'entrée en plusieurs phrases basées sur des périodes et mélangez au hasard l'ordre des phrases. Afin de restaurer l'ordre des phrases, le modèle doit avoir une certaine compréhension de la sémantique de l'ensemble du texte d'entrée ;
(4) Transformation de la rotation des documents . Sélectionne au hasard un mot dans le texte saisi et fait pivoter le document pour commencer par ce mot. Afin de reconstruire le texte original, le modèle doit trouver le début du texte original à partir du texte perturbé ;
(5) Remplissage de texte . Échantillonnez au hasard plusieurs fragments de texte, et la longueur des fragments est échantillonnée selon la distribution de Poisson (λ=3). Remplacez chaque fragment de texte par un jeton de masque unique. Lorsque la longueur du segment est 0, cela signifie insérer un marqueur de masque. Pour supprimer ce bruit, le modèle doit avoir la capacité de prédire la longueur des segments de texte manquants.
La figure ci-dessous résume les cinq types de bruit :

On peut voir que les tâches de pré-formation comprennent non seulement des tâches au niveau du mot, mais également des tâches de débruitage au niveau de la phrase et du document. Ces tâches s'exécutent différemment pour différentes tâches en aval. Les expériences montrent que les modèles pré-entraînés basés sur des tâches de remplissage de texte fonctionnent généralement mieux dans les tâches en aval, et l'ajout de tâches de permutation de phrases et de débruitage sur cette base peut apporter une petite amélioration supplémentaire. Ensuite, démontrez la capacité de remplissage de texte du modèle BART avec un code spécifique. Ici, nous utilisons le modèle BART pré-formé (bart-base) publié par Facebook et l'interface d'appel BartForConditionalGeneration fournie par la bibliothèque de transformateurs. Le code spécifique est le suivant :
from transformers import BartTokenizer, BartForConditionalGeneration
model = BartForConditionalGeneration.from_pretrained('facebook/bart-base')
tokenizer = BartTokenizer.from_pretrained("facebook/bart-base")
input = "UN Chief Says There Is <mask> in Syria"
batch = tokenizer(input, return_tensors = 'pt')
output_ids = model.generate(input_ids=batch['input_ids'], attention_mask = batch['attention_mask'])
output = tokenizer.batch_decode(output_ids, skip_special_tokens = True)
print(output)

# 输出:['UN Chief Says There Is No War in Syria']
Dans cet exemple, la marque de masque (<mask>) dans le texte d'entrée est remplie avec "No War", ce qui est raisonnable dans la structure de la phrase et la sémantique.

2.2 Ajustement du modèle

Le modèle BART pré-formé possède à la fois des capacités de représentation et de génération de texte, il convient donc à différents types de tâches en aval telles que la compréhension du langage et la génération de texte. Pour différentes tâches, le modèle BART est affiné de différentes manières.
(1) Classification des séquences et étiquetage des séquences . Pour les tâches de classification de séquences (telles que la classification des sentiments de texte), l'encodeur et le décodeur du modèle BART utilisent la même entrée, et l'état de la couche cachée au dernier moment du décodeur est représenté sous la forme d'une représentation vectorielle du texte d'entrée et de l'entrée à le classificateur linéaire multi-catégories, puis utilisez les données étiquetées de la tâche pour affiner les paramètres du modèle. Semblable à la balise [CLS] du modèle BERT, le modèle BART ajoute une balise spéciale au dernier moment du décodeur et utilise l'état de la couche cachée de la balise comme représentation textuelle, de sorte que l'état complet du décodeur puisse être utilisé. .
De même, pour la tâche d'étiquetage de séquence, l'encodeur et le décodeur utilisent la même entrée. À ce moment, l'état de la couche cachée du décodeur à chaque instant sera utilisé comme représentation vectorielle du mot à cet instant pour la prédiction de catégorie.
(2) Génération de texte . Le modèle BART peut être directement utilisé pour les tâches de génération de texte conditionnel, telles que la réponse aux questions abstraites et la synthèse abstraite. Dans ces tâches, l'entrée de l'encodeur est le texte d'entrée comme condition, et le décodeur génère le texte cible correspondant de manière autorégressive.
(3) Traduction automatique . Lorsqu'il est utilisé pour des tâches de traduction automatique, le modèle BART ne peut pas être directement ajusté en raison des différents ensembles de vocabulaire utilisés dans les langues source et cible. Par conséquent, les chercheurs proposent de remplacer la couche de représentation d'entrée (couche d'intégration) de l'encodeur du modèle BART par un petit encodeur Transformer, qui est utilisé pour mapper le vocabulaire de la langue source à l'espace de représentation d'entrée de la langue cible, de manière à adapter la prédiction du modèle BART Environnement d'entraînement (voir Figure 8-25). Étant donné que les paramètres de l'encodeur de langue source nouvellement introduit sont initialisés de manière aléatoire et que la plupart des autres paramètres du modèle BART ont été pré-formés, l'utilisation du même optimiseur pour former les deux en même temps entraînera des "étapes incohérentes" et peut ne pas être en mesure d'obtenir efficace. Par conséquent, les chercheurs ont divisé le processus de formation en deux étapes. Tout d'abord, la plupart des paramètres du modèle BART sont fixes, et seuls l'encodeur de langue source, le vecteur de position du modèle BART et la matrice de projection d'entrée d'auto-attention de la première couche de l'encodeur pré-entraîné BART sont entraînés ; ensuite, un un petit nombre d'entraînements itératifs est effectué sur tous les paramètres.

Il convient de noter que bien que le modèle BART soit conçu pour générer des tâches, il fonctionne également très bien sur des tâches discriminantes, même à égalité avec RoBERTa. Pour plus de détails sur le modèle BART et ses performances sur les tâches connexes, les lecteurs intéressés doivent se référer à la littérature par eux-mêmes, et cet article ne s'étendra pas.

 

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45684362/article/details/130161755
conseillé
Classement