4. Les travaux ayant aboutis aux raisonnements utilisés dans BERT
Le transformer (aller au-
delà des LSTMs)
ULM-FiT
Le transformer (aller au-
delà des LSTMs)
Récapitulatif sur
l’enchâssement de
mots
ELMo (Embeddings
from Language Models)
5. Récapitulatif sur l’enchâssement de mots
Pour que les mots soient traités par les modèles d’apprentissage automatique, ils ont besoin d’une représentation numérique.
Word2Vec a montré que nous pouvons utiliser un vecteur (une liste de nombres) pour représenter correctement les mots d’une
manière capturant les relations sémantiques ou liées au sens.
EXEMPLE:
Capacité de dire si les mots sont similaires, ou opposés, ou si une
paire de mots comme « rabat » et « Maroc » ont la même relation
entre eux que « Le Caire » et « Egypte »
01
Relations syntaxiques, ou grammaticales comme la relation
entre « avait » et « a » est la même que celle entre « était »
et « est »)
02
les modèles d'apprentissage automatique nécessitent des représentations numériques des mots, et Word2Vec et GloVe ont
montré l'efficacité des embeddings pré-entraînés sur de grandes quantités de données textuelles pour capturer les
relations sémantiques et grammaticales
6. Les travaux ayant aboutis aux raisonnements utilisés dans BERT
ELMo (Embeddings
from Language Models)
Le transformer (aller au-
delà des LSTMs)
ULM-FiT
Le transformer (aller au-
delà des LSTMs)
Récapitulatif sur
l’enchâssement de
mots
7. ELMo (Embeddings from Language Models)
ELMo (Embeddings from Language Models) est un modèle d'enchâssement de langage qui génère des
représentations vectorielles de mots en utilisant des réseaux de neurones bi-directionnels, capturant ainsi le sens
contextuel des mots.
8. Les travaux ayant aboutis aux raisonnements utilisés dans BERT
ELMo (Embeddings
from Language Models)
Le transformer (aller au-
delà des LSTMs)
ULM-FiT
Le transformer (aller au-
delà des LSTMs)
Récapitulatif sur
l’enchâssement de
mots
9. ULM-FiT
ULM-FiT a introduit des méthodes permettant d’utiliser efficacement une grande partie de ce que le modèle apprend au
cours du pré-entrainement (plus que de simples embedding et plus que des embedding contextualisés). ULM-FiT est
ainsi un moyen de transférer l’apprentissage probablement aussi bien que ce qui se faisait alors en vision par
ordinateur.
10. Les travaux ayant aboutis aux raisonnements utilisés dans BERT
ELMo (Embeddings
from Language Models)
Transformer
ULM-FiT
Le transformer (aller au-
delà des LSTMs)
Récapitulatif sur
l’enchâssement de
mots
11. Transformer
Un Transformer est une architecture de modèle encodeur-décodeur qui utilise également le codage de
position, l'auto-attention, l'attention multi-têtes et la connexion résiduelle.
12. Les travaux ayant aboutis aux raisonnements utilisés dans BERT
ELMo (Embeddings
from Language Models)
Transformer
ULM-FiT
Open AI Transformer :
le GPT
Récapitulatif sur
l’enchâssement de
mots
13. Open AI Transformer : le GPT
Pas besoin d’un transformer complet pour adopter l’apprentissage par transfert dans le cadre de taches de NLP. ILs
peuvent contenter de la partie decodeur du transformer. Le modèle empile 12 couches décodeur. Puisqu’il n’y a pas
d’encodeur, les couches décodeur n’ont pas la sous-couche d’attention encodeur-décodeur comme dans
le transformer classique. Ils ont cependant toujours la couche d’auto-attention.
14. Open AI Transformer : le GPT
Pas besoin d’un transformer complet pour adopter l’apprentissage par transfert dans le cadre de taches de NLP. ILs
peuvent contenter de la partie decodeur du transformer. Le modèle empile 12 couches décodeur. Puisqu’il n’y a pas
d’encodeur, les couches décodeur n’ont pas la sous-couche d’attention encodeur-décodeur comme dans
le transformer classique. Ils ont cependant toujours la couche d’auto-attention.
15. Bidirectional Encoder Representations from Transformers est une avancée
remarquable dans le domaine du traitement du langage naturel (NLP) publiée par des
chercheurs de Google AI Language en 2018. Elle a suscité beaucoup d'enthousiasme dans
la communauté de l'apprentissage automatique en présentant des résultats de pointe dans
une grande variété de tâches de NLP, notamment la traduction neuronale, la question-
réponse (SQuAD v1.1), la classification de paires de phrases (MNLI), l'analyse de
sentiment, la génération de résumés de texte, et bien d'autres.
BERT
À partir de l'abréviation de BERT, nous pouvons comprendre certains aspects de ses
fonctionnalités :
1.Il est bidirectionnel.
2.Il utilise une représentation d'encodeur.
3.Il a une architecture basée sur les Transformers.
16. BERT
BERT, qui signifie Bidirectional Encoder Representations from Transformers, repose sur une architecture
de réseau de neurones appelée Transformer. Son innovation principale réside dans l'utilisation d'un
entraînement bidirectionnel pour la modélisation du langage. Contrairement aux approches précédentes
qui se concentraient soit sur la direction de gauche à droite, soit sur une combinaison de l'entraînement
dans les deux directions, BERT prend en compte le contexte à la fois avant et après chaque mot. Cela lui
permet d'obtenir une meilleure compréhension du contexte et du flux linguistique. les chercheurs
GOOGLE décrivent une nouvelle technique appelée "Masked Language Modeling" (MLM) qui permet
l'entraînement bidirectionnel dans des modèles de langage. Cette approche a permis à BERT d'obtenir des
performances remarquables dans différentes tâches de traitement du langage naturel.
18. Architecture du BERT
Il existe deux types de BERT :
12 couches d'encodeur
12 têtes d'attention
768 unités cachées
110 M PARAMÈTRES
24 couches d'encodeur
16 têtes d'attention
1024 unités cachées
330M PARAMÈTRES
BASE
LARGE
19. pourquoi ils utilisent uniquement l'encodeur ?
1. Utiliser BERT dans toutes sortes de tâches
2. OpenAI GPT-2 utilise que décodeurs
Pour construire une architecture de transformateur
bidirectionnelle, BERT utilise l'encodeur du transformateur au
lieu des décodeurs. Ainsi, BERT construit un modèle non
seulement de gauche à droite, mais aussi de droite à gauche
Architecture du BERT
21. Architecture du BERT
A l'intérieur de BERT ce n'est pas seulement l'empilement d'encodeurs, mais bien plus que
cela. BERT introduit également la modélisation du langage masqué et la prédiction de la
phrase suivante. Il y a quatre parties principales de BERT.
1. From Word to Vectors
2. The Encoders from the transformer
3. Masked Language Modeling (MLM)
4. Next Sentence Prediction (NSP)
22. From Word to Vectors
chaque mot de la séquence est mappé sur un
vecteur dimensionnel emb_dim que le modèle
apprendra pendant le training. Les éléments de ces
vecteurs sont traités comme des paramètres de
modèle et sont optimisés avec rétro-propagation
comme n'importe quel autre poids
24. From Word to Vectors
Embedding des phrases représentent des phrases entières et leur information sémantique sous forme de vecteurs. Cela aide la machine
à comprendre le contexte, l'intention et d'autres nuances dans l'ensemble du texte. Elle observe simplement quel mot appartient à quelle
phrase. Un marqueur indiquant la phrase A ou la phrase B est ajouté à chaque jeton. Cela permet au modèle de faire la distinction entre
les phrases.
Après la première étape, nous avons effectué notre étape d'intégration et d'encodage comme:
26. Masked Language Modeling (MLM)
L'un des points forts de BERT est le modèle de langage masqué (MLM). Le modèle de langage masqué
masque aléatoirement certains des token de l'entrée, et l'objectif est de prédire l'identifiant original du
vocabulaire du mot masqué uniquement en fonction de son contexte 1 , l'objectif du MLM permet à la
représentation de fusionner le contexte gauche et droit, ce qui nous permet de pré-entraîner un transformateur
bidirectionnel profond.
Avant de fournir des séquences de mots à BERT, 15% des mots de chaque séquence sont remplacés par un
jeton [MASK]. Le modèle tente ensuite de prédire la valeur d'origine des mots masqués, en se basant sur le
contexte fourni par les autres mots non masqués de la séquence. En termes techniques, la prédiction des mots
de sortie nécessite :
1. L'ajout d'une couche de classification par-dessus la sortie de l'encodeur.
2. La multiplication des vecteurs de sortie par la matrice d'embedding, les transformant ainsi en
dimension de vocabulaire.
3. Le calcul de la probabilité de chaque mot dans le vocabulaire avec la fonction softmax.
31. Next Sentence Prediction (NSP)
Pour permettre à BERT de mieux gérer les relations entre plusieurs phrases, le processus de pré-entraînement comprend
une tâche supplémentaire : étant donné deux phrases (A et B), il s'agit de prédire si B est susceptible d'être la phrase qui suit
A ou non.
Pour aider le modèle à distinguer les deux phrases lors de l'entraînement, l'entrée est traitée de la manière suivante avant
d'être entrée dans le modèle :
• [CLS] est inséré au début de
la première phrase
• [SEP] est inséré à la fin de
chaque phrase
32. Next Sentence Prediction (NSP)
Pour prédire si la deuxième phrase est effectivement liée à la première, les étapes suivantes sont
effectuées :
1. L'ensemble de la séquence d'entrée passe à travers le modèle Transformer. (La taille du vecteur d'entrée est de 768 pour
chaque mot dans BERT base) Chaque position produit en sortie un vecteur de taille hidden_size (768 dans BERT Base).
2. La sortie du token [CLS] est transformée en un vecteur de forme 2x1, en utilisant une simple couche de classification
(matrices de poids et biais appris).
3. Calcul de la probabilité de IsNextSequence (étiquettes IsNext et NotNext) avec softmax.
Par exemple,
Input = [CLS] the man went to [MASQUE] store [SEP] he bought a gallon [MASQUE] milk [SEP]
label = IsNext
Input = [CLS] the man [MASQUE] to the store [SEP] penguins [MASQUE] are flight ##less birds [SEP]
label = NotNext
Séquence A : Il va pleuvoir.
Séquence B : Je prends mon parapluie.
Prédiction : IsNext
Séquence A : Il va pleuvoir.
Séquence B : C’est bientôt les élections présidentielles américaines.
Prédiction : NotNext
01
02
03
04
33. Next Sentence Prediction (NSP)
Pour prédire si la deuxième phrase est effectivement liée à la première, les étapes suivantes sont
effectuées :
767
0
34. Next Sentence Prediction (NSP)
Pourquoi l'entrée et la sortie d'un seul mot contiennent un
vecteur de dimension 764 dans le modèle BERT_base ?
Dans le modèle BERT_base, chaque mot utilise 12 têtes d'attention pour l'attention multi-tête.
Ainsi, lors de la création de l'attention multi-tête, nous utilisons 12 têtes pour un seul mot.
Chaque tête contient un vecteur clé, un vecteur de requête et un vecteur de valeur de
dimension 64, à partir desquels nous obtenons un vecteur de dimension 64 avec le score d'auto-
attention pour un seul mot.
Donc, le vecteur d'entrée et de sortie d'un seul jeton/mot sera de dimension 12 x 64 = 768.
35. Fine-Tuning
fine-tuning est une technique utilisée dans le domaine de l'apprentissage automatique pour adapter un modèle pré-
entraîné à une tâche spécifique. Dans le contexte du traitement du langage naturel (NLP), cela implique de prendre
un modèle pré-entraîné tel que BERT, qui a été entraîné sur une grande quantité de données textuelles pour capturer
les connaissances générales du langage, et de l'ajuster sur un jeu de données spécifique à une tâche donnée.
Le processus de fine-tuning consiste à ré-entraîner le modèle pré-entraîné en utilisant des données spécifiques à la
tâche, souvent avec un jeu de données plus restreint et étiqueté. Cela permet au modèle d'adapter ses paramètres pour
répondre aux exigences spécifiques de la tâche, telle que la classification de texte, la traduction ou la génération de
réponses.
36. Pré-entraînement
BERT se différencie de ses prédécesseurs (modèles de NLP pré-entraînés), par la façon dont il est pré-
entraîné. Ce pré-entraînement est non-supervisé c’est-à-dire qu’il ne nécessite pas de jeu de données
labellisé. BERT est pré-entraîné sur un grand jeu de données constitué de textes des pages Wikipédia en
anglais (2 500 millions de mots) ainsi qu’un ensemble de livres (800 millions de mots).
37. Pré-entraînement
Utilisons BERT en tant que modèle pré-entraîné dans une tâche supervisée en aval (par exemple, une tâche de
question-réponse) ressemblera à ceci :
38. Pré-entraînement
Si nous voulons utiliser BERT pour la classification des images, le processus d'apprentissage par transfert pour
BERT ressemblera à
39. BERT pour différentes tâches en NLP
Tâche de classification
de paires de phrases
01 Tâche de classification
d'une seule phrase
02 Tâche question
reponce
03
le developpemennt dans le traitement automatique du langage naturel (NLP) ont été marqués par un changement fondamental dans la façon dont nous représentons les mots et les phrases. En 2018, ils ont atteint un point d'inflexion où une compréhension conceptuelle a évolué rapidement, qui permettant de capturer plus efficacement les significations et les relations sous-jacentes.
Une application pratique de cette évolution est l'utilisation de modèles pré-entraînés en NLP. Ces modèles sont préalablement formés sur de grandes quantités de données et ont la capacité de fournir de bons résultats même avec peu de données supplémentaires.
Est parmi ces modele il ya transformer ,open ia ,ulmfit,elmo, et bert dans cette seance nous allons à la decouverte de BERT : ce modèle de NLP implémenté par Google. Donc c’est quoi berte et comme construire bert premier fois
Le GPT est un modèle pré-entraîné basé sur le transformer. Cependant il manque quelque chose dans cette transition entre les LSTMs le transformer.
Le modèle linguistique d’ELMo est bidirectionnel alor que le GPT n’entraîne qu’un modèle linguistique prédictif. Pourrions-nous construire un modèle basé sur un transformer dont le modèle linguistique regarde à la fois vers l’avant et vers l’arrière (c’est-à-dire conditionné à la fois par le contexte gauche et droit) ? BERT a été conçu pour réaliser cela ! Donc c’est quoi bert
Le GPT est un modèle pré-entraîné basé sur le transformer. Cependant il manque quelque chose dans cette transition entre les LSTMs le transformer.
Le modèle linguistique d’ELMo est bidirectionnel alor que le GPT n’entraîne qu’un modèle linguistique prédictif. Pourrions-nous construire un modèle basé sur un transformer dont le modèle linguistique regarde à la fois vers l’avant et vers l’arrière (c’est-à-dire conditionné à la fois par le contexte gauche et droit) ? BERT a été conçu pour réaliser cela !
Le GPT est un modèle pré-entraîné basé sur le transformer. Cependant il manque quelque chose dans cette transition entre les LSTMs le transformer.
Le modèle linguistique d’ELMo est bidirectionnel alor que le GPT n’entraîne qu’un modèle linguistique prédictif. Pourrions-nous construire un modèle basé sur un transformer dont le modèle linguistique regarde à la fois vers l’avant et vers l’arrière (c’est-à-dire conditionné à la fois par le contexte gauche et droit) ? BERT a été conçu pour réaliser cela !
Le GPT est un modèle pré-entraîné basé sur le transformer. Cependant il manque quelque chose dans cette transition entre les LSTMs le transformer.
Le modèle linguistique d’ELMo est bidirectionnel alor que le GPT n’entraîne qu’un modèle linguistique prédictif. Pourrions-nous construire un modèle basé sur un transformer dont le modèle linguistique regarde à la fois vers l’avant et vers l’arrière (c’est-à-dire conditionné à la fois par le contexte gauche et droit) ? BERT a été conçu pour réaliser cela !
Le GPT est un modèle pré-entraîné basé sur le transformer. Cependant il manque quelque chose dans cette transition entre les LSTMs le transformer.
Le modèle linguistique d’ELMo est bidirectionnel alor que le GPT n’entraîne qu’un modèle linguistique prédictif. Pourrions-nous construire un modèle basé sur un transformer dont le modèle linguistique regarde à la fois vers l’avant et vers l’arrière (c’est-à-dire conditionné à la fois par le contexte gauche et droit) ? BERT a été conçu pour réaliser cela !
Le GPT est un modèle pré-entraîné basé sur le transformer. Cependant il manque quelque chose dans cette transition entre les LSTMs le transformer.
Le modèle linguistique d’ELMo est bidirectionnel alor que le GPT n’entraîne qu’un modèle linguistique prédictif. Pourrions-nous construire un modèle basé sur un transformer dont le modèle linguistique regarde à la fois vers l’avant et vers l’arrière (c’est-à-dire conditionné à la fois par le contexte gauche et droit) ? BERT a été conçu pour réaliser cela ! Donc c’est quoi bert
Nous avons déjà vu que bert est un ensemble d'Encodeurs. Maintenant, il est grand temps d'expliquer pourquoi ils utilisent uniquement l'encodeur. C'est parce qu'ils veulent utiliser BERT dans toutes sortes de tâches. Une autre raison est que nous avons vu que OpenAI GPT-2 utilise que décodeurs. Par conséquent, ils ont construit leur modèle sous la forme d'un modèle auto-régressif (prédiction du mot suivant). Ainsi, ils ont pu définir une architecture de transformateur unidirectionnelle (de gauche à droite). Pour construire une architecture de transformateur bidirectionnelle, BERT utilise l'encodeur du transformateur au lieu des décodeurs. Ainsi, BERT construit un modèle non seulement de gauche à droite, mais aussi de droite à gauche. Un aperçu simple de BERT est le suivant :
Le GPT est un modèle pré-entraîné basé sur le transformer. Cependant il manque quelque chose dans cette transition entre les LSTMs le transformer.
Le modèle linguistique d’ELMo est bidirectionnel alor que le GPT n’entraîne qu’un modèle linguistique prédictif. Pourrions-nous construire un modèle basé sur un transformer dont le modèle linguistique regarde à la fois vers l’avant et vers l’arrière (c’est-à-dire conditionné à la fois par le contexte gauche et droit) ? BERT a été conçu pour réaliser cela ! Donc c’est quoi bert
La tokenisation consiste à diviser le texte en morceaux appelés "tokens", tout en éliminant éventuellement certains caractères tels que la ponctuation..
L'utilisation des "wordpieces" (par exemple, "playing" devient "play" + "##ing") plutôt que des mots complets. Cela permet de réduire la taille du vocabulaire et d'augmenter la quantité de données disponibles pour chaque mot.
La numerisation vise à attribuer à chaque token un entier unique dans le vocabulaire du corpus.
L'encodage des tokens consiste à obtenir l'encodage (c'est-à-dire un vecteur de nombres réels) pour chaque mot de la séquence. Chaque mot de la séquence est mappé vers un vecteur de dimension emb_dim que le modèle apprendra pendant l'entraînement. On peut le considérer comme une recherche vectorielle pour chaque token. Les éléments de ces vecteurs sont traités comme des paramètres du modèle et sont optimisés avec la rétropropagation, tout comme les autres poids.
padding"est utilisé pour que les séquences d'entrée de même longueur. Ainsi, nous augmentons la longueur de certaines séquences en ajoutant des tokens "''".
Le codage positionnel est conçu pour aider le modèle à apprendre une notion de séquences et de position relative des tokens
Le GPT est un modèle pré-entraîné basé sur le transformer. Cependant il manque quelque chose dans cette transition entre les LSTMs le transformer.
Le modèle linguistique d’ELMo est bidirectionnel alor que le GPT n’entraîne qu’un modèle linguistique prédictif. Pourrions-nous construire un modèle basé sur un transformer dont le modèle linguistique regarde à la fois vers l’avant et vers l’arrière (c’est-à-dire conditionné à la fois par le contexte gauche et droit) ? BERT a été conçu pour réaliser cela ! Donc c’est quoi bert
1 Contrairement à l'entraînement préalable d'un modèle de langage de gauche à droite
𝑤1,...𝑤5 e sont les word embedding
𝑤1,...𝑤5 are the word embedding
La fonction de perte BERT ne prend en considération que la prédiction des valeurs masquées et ignore la prédiction des mots non masqués. En conséquence, le modèle converge plus lentement que les modèles directionnels, une caractéristique qui est compensée par sa sensibilité accrue au contexte.
Comme BERT masque de manière aléatoire les mots du texte d'entrée et apprend à prédire les mots masqués, il n'est pas nécessaire d'utiliser des données supervisées avec des étiquettes. Ainsi, nous pouvons utiliser à la fois des données non supervisées et supervisées pour entraîner BERT. Comme les données semi-supervisées peuvent être utilisées pour l'entraînement de BERT, nous disposons d'une grande quantité de données pour l'entraînement. Cela nous permet de construire un modèle plus robuste et contextualisé.
Comme BERT masque de manière aléatoire les mots du texte d'entrée et apprend à prédire les mots masqués, il n'est pas nécessaire d'utiliser des données supervisées avec des étiquettes. Ainsi, nous pouvons utiliser à la fois des données non supervisées et supervisées pour entraîner BERT. Comme les données semi-supervisées peuvent être utilisées pour l'entraînement de BERT, nous disposons d'une grande quantité de données pour l'entraînement. Cela nous permet de construire un modèle plus robuste et contextualisé.
Dans le processus d'entraînement de BERT, le modèle reçoit des paires de phrases en entrée et apprend à prédire si la deuxième phrase de la paire est la phrase suivante dans le document d'origine. Lors de l'entraînement, 50% des entrées sont une paire dans laquelle la deuxième phrase est la phrase suivante dans le document d'origine, tandis que dans les 50% restants, une phrase aléatoire du corpus est choisie comme deuxième phrase. L'hypothèse est que la phrase aléatoire sera déconnectée de la première phrase.
Un encodage de phrase indiquant la phrase A ou la phrase B est ajouté à chaque token. Les encodages de phrase sont similaires en concept aux encodages de token, avec un vocabulaire de 2.
Un encodage positionnel est ajouté à chaque jeton pour indiquer sa position dans la séquence. Le concept et la mise en œuvre de l'encodage positionnel sont présentés dans l'article sur le Transformer.
Lors de l'entraînement du modèle BERT, le Masked LM et la Next Sentence Prediction sont entraînés ensemble, dans le but de minimiser la fonction de perte combinée des deux stratégies. Maintenant, l'ensemble du modèle BERT ressemble à ça :
Lors de l'entraînement du modèle BERT, le Masked LM et la Next Sentence Prediction sont entraînés ensemble, dans le but de minimiser la fonction de perte combinée des deux stratégies. Maintenant, l'ensemble du modèle BERT ressemble à ça :
pré-entraînement de BERT se fait sur des données non supervisées pour capturer les connaissances générales du langage, puis le fine-tuning est utilisé pour adapter le modèle à des tâches spécifiques en utilisant des données supervisées. Les paramètres du modèle pré-entraîné sont initialisés dans le modèle de fine-tuning, qui est ensuite ajusté pour la tâche spécifique en utilisant des techniques d'optimisation et de rétropropagation du gradient.
pré-entraînement de BERT se fait sur des données non supervisées pour capturer les connaissances générales du langage, puis le fine-tuning est utilisé pour adapter le modèle à des tâches spécifiques en utilisant des données supervisées. Les paramètres du modèle pré-entraîné sont initialisés dans le modèle de fine-tuning, qui est ensuite ajusté pour la tâche spécifique en utilisant des techniques d'optimisation et de rétropropagation du gradient.
pré-entraînement de BERT se fait sur des données non supervisées pour capturer les connaissances générales du langage, puis le fine-tuning est utilisé pour adapter le modèle à des tâches spécifiques en utilisant des données supervisées. Les paramètres du modèle pré-entraîné sont initialisés dans le modèle de fine-tuning, qui est ensuite ajusté pour la tâche spécifique en utilisant des techniques d'optimisation et de rétropropagation du gradient.
Nous avons déjà mentionné que le transformer ne peut pas être directement utilisé pour différentes tâches, mais BERT le peut. Comment pouvons-nous utiliser BERT pour différentes tâches en traitement du langage naturel
Nous avons déjà mentionné que le transformer ne peut pas être directement utilisé pour différentes tâches, mais BERT le peut. Comment pouvons-nous utiliser BERT pour différentes tâches en traitement du langage naturel
Nous avons déjà mentionné que le transformer ne peut pas être directement utilisé pour différentes tâches, mais BERT le peut. Comment pouvons-nous utiliser BERT pour différentes tâches en traitement du langage naturel
Nous avons déjà mentionné que le transformer ne peut pas être directement utilisé pour différentes tâches, mais BERT le peut. Comment pouvons-nous utiliser BERT pour différentes tâches en traitement du langage naturel