SlideShare une entreprise Scribd logo
1  sur  43
Bidirectional Encoder Representations
from Transformers
BERT
Réalisé par :
BABZINE BAHIJA
ER-RAHMOUNY ZOHAYR
Encadré par :
Mr. El-fenaouy Reda
Mr. Gardelle Bertin
INTRODUCTION
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)
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
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
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.
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
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.
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
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.
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
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.
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.
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.
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.
BERT
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
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
Architecture du BERT
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)
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
From Word to Vectors
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:
The Encoders from the transformer
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.
Masked Language Modeling (MLM)
BERT utilise l'activation GELU (Gaussian Error Linear Unit).
Masked Language Modeling (MLM)
MLM dans BERT ressemble à
utiliser la sortie de la position du
mot masqué pour prédire le mot
masqué
Masked Language Modeling (MLM)
MLM dans BERT ressemble à
Bien entrainer le modèle
Masked Language Modeling (MLM)
MLM dans BERT ressemble à
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
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
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
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.
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.
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).
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 :
Pré-entraînement
Si nous voulons utiliser BERT pour la classification des images, le processus d'apprentissage par transfert pour
BERT ressemblera à
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
Conclusion
MERCI POUR VOTRE ATTENTION
Référence
https://ledatascientist.com/a-la-decouverte-de-
bert/#:~:text=BERT%20est%20pr%C3%A9%2Dentra%C3%AEn%C3%A9%20sur,(800%20millions%20de%2
0mots).
https://lbourdois.github.io/blog/nlp/BERT/
https://au1206.github.io/annotated%20paper/BERT/
https://lbourdois.github.io/blog/nlp/RNN-LSTM-GRU-ELMO/
https://jalammar.github.io/illustrated-bert/
https://devopedia.org/bert-language-model
https://pub.towardsai.net/understanding-bert-b69ce7ad03c1
Bidirectional Encoder Representations
from Transformers
BERT
Réalisé par :
BABZINE BAHIJA
ER-RAHMOUNY ZOHAYR
Encadré par :
Mr. El-fenaouy Reda
Mr. Gardelle Bertin

Contenu connexe

Similaire à Bidirectional Encoder Representations from Transformers

GenAI dans les professional services - LLM vs RAG
GenAI dans les professional services - LLM vs RAGGenAI dans les professional services - LLM vs RAG
GenAI dans les professional services - LLM vs RAGSally Laouacheria
 
Projet COM02.ppt
Projet COM02.pptProjet COM02.ppt
Projet COM02.pptPtidej Team
 
le NLP à l'ére de l'IA
le NLP à l'ére de l'IAle NLP à l'ére de l'IA
le NLP à l'ére de l'IAhabib200
 
presentation-compilateur.pptx
presentation-compilateur.pptxpresentation-compilateur.pptx
presentation-compilateur.pptxSaharSarraj
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap IInes Ouaz
 
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcoursedu
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptxMED B
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimLaurent Broudoux
 
Compilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
CompilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnCompilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Compilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsaraayoub440
 
cours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdfcours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdfKamalZeghdar
 
Modèles de données et langages de description ouverts 2021-2022 - 1
Modèles de données et langages de description ouverts   2021-2022 - 1Modèles de données et langages de description ouverts   2021-2022 - 1
Modèles de données et langages de description ouverts 2021-2022 - 1François-Xavier Boffy
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)mahbouba
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyGuillaume Laforge
 
Samar - Premier bilan d'étape - Oct. 2010
Samar - Premier bilan d'étape - Oct. 2010Samar - Premier bilan d'étape - Oct. 2010
Samar - Premier bilan d'étape - Oct. 2010Stefane Fermigier
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdfGhassenHaamdi
 

Similaire à Bidirectional Encoder Representations from Transformers (20)

GenAI dans les professional services - LLM vs RAG
GenAI dans les professional services - LLM vs RAGGenAI dans les professional services - LLM vs RAG
GenAI dans les professional services - LLM vs RAG
 
Projet COM02.ppt
Projet COM02.pptProjet COM02.ppt
Projet COM02.ppt
 
le NLP à l'ére de l'IA
le NLP à l'ére de l'IAle NLP à l'ére de l'IA
le NLP à l'ére de l'IA
 
presentation-compilateur.pptx
presentation-compilateur.pptxpresentation-compilateur.pptx
presentation-compilateur.pptx
 
LMO02.ppt
LMO02.pptLMO02.ppt
LMO02.ppt
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap I
 
Algorithme chap 1
Algorithme chap 1Algorithme chap 1
Algorithme chap 1
 
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptx
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - Ensim
 
Lmo02.ppt
Lmo02.pptLmo02.ppt
Lmo02.ppt
 
Compilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
CompilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnCompilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Compilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
cours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdfcours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdf
 
Modèles de données et langages de description ouverts 2021-2022 - 1
Modèles de données et langages de description ouverts   2021-2022 - 1Modèles de données et langages de description ouverts   2021-2022 - 1
Modèles de données et langages de description ouverts 2021-2022 - 1
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec Groovy
 
Samar - Premier bilan d'étape - Oct. 2010
Samar - Premier bilan d'étape - Oct. 2010Samar - Premier bilan d'étape - Oct. 2010
Samar - Premier bilan d'étape - Oct. 2010
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdf
 
Cours compilation
Cours compilationCours compilation
Cours compilation
 

Plus de bahija babzine

Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
Recurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxRecurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxbahija babzine
 
Introduction aux systèmes de recommandation part 3.pptx
Introduction aux systèmes  de recommandation part 3.pptxIntroduction aux systèmes  de recommandation part 3.pptx
Introduction aux systèmes de recommandation part 3.pptxbahija babzine
 
Introduction aux systèmes de recommandation part 2.pptx
Introduction aux systèmes  de recommandation part 2.pptxIntroduction aux systèmes  de recommandation part 2.pptx
Introduction aux systèmes de recommandation part 2.pptxbahija babzine
 
Introduction aux systèmes de recommandation.pptx
Introduction aux systèmes  de recommandation.pptxIntroduction aux systèmes  de recommandation.pptx
Introduction aux systèmes de recommandation.pptxbahija babzine
 

Plus de bahija babzine (6)

Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
Recurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxRecurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptx
 
Introduction aux systèmes de recommandation part 3.pptx
Introduction aux systèmes  de recommandation part 3.pptxIntroduction aux systèmes  de recommandation part 3.pptx
Introduction aux systèmes de recommandation part 3.pptx
 
Introduction aux systèmes de recommandation part 2.pptx
Introduction aux systèmes  de recommandation part 2.pptxIntroduction aux systèmes  de recommandation part 2.pptx
Introduction aux systèmes de recommandation part 2.pptx
 
Introduction aux systèmes de recommandation.pptx
Introduction aux systèmes  de recommandation.pptxIntroduction aux systèmes  de recommandation.pptx
Introduction aux systèmes de recommandation.pptx
 

Bidirectional Encoder Representations from Transformers

  • 1. Bidirectional Encoder Representations from Transformers BERT Réalisé par : BABZINE BAHIJA ER-RAHMOUNY ZOHAYR Encadré par : Mr. El-fenaouy Reda Mr. Gardelle Bertin
  • 2.
  • 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.
  • 17. BERT
  • 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
  • 23. From Word to Vectors
  • 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:
  • 25. The Encoders from the transformer
  • 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.
  • 27. Masked Language Modeling (MLM) BERT utilise l'activation GELU (Gaussian Error Linear Unit).
  • 28. Masked Language Modeling (MLM) MLM dans BERT ressemble à utiliser la sortie de la position du mot masqué pour prédire le mot masqué
  • 29. Masked Language Modeling (MLM) MLM dans BERT ressemble à Bien entrainer le modèle
  • 30. Masked Language Modeling (MLM) MLM dans BERT ressemble à
  • 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
  • 41. MERCI POUR VOTRE ATTENTION
  • 43. Bidirectional Encoder Representations from Transformers BERT Réalisé par : BABZINE BAHIJA ER-RAHMOUNY ZOHAYR Encadré par : Mr. El-fenaouy Reda Mr. Gardelle Bertin

Notes de l'éditeur

  1. 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
  2. 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
  3. 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 !
  4. 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 !
  5. 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
  6. 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 :
  7. 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
  8. 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 "''".
  9. Le codage positionnel est conçu pour aider le modèle à apprendre une notion de séquences et de position relative des tokens
  10. 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
  11. 1 Contrairement à l'entraînement préalable d'un modèle de langage de gauche à droite
  12. 𝑤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.
  13. 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é.
  14. 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é.
  15. 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.
  16. 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 :
  17. 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 :
  18. 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.
  19. 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.
  20. 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.
  21. 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
  22. 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
  23. 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
  24. 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