Le mécanisme central des Transformers
Comprendre en profondeur le mécanisme d’Attention, l’architecture encodeur-décodeur, les réseaux de neurones feed-forward et les connexions résiduelles, et maîtriser le fonctionnement des Transformers.
Mécanisme d’attention : l’âme des Transformers
Le mécanisme d’Attention est au cœur du Transformer ; il permet au modèle de « prêter attention » à différentes parties de la séquence d’entrée et de comprendre les relations entre elles.
Self-Attention : auto-attention
Le Self-Attention permet à chaque position d’une séquence de prêter directement attention à toutes les autres positions :
Multi-Head Attention : attention multi-têtes
Plusieurs têtes d'attention fonctionnent en parallèle pour comprendre l'information sous différents angles :
- • Calcul parallèle: plusieurs têtes calculent simultanément sans interférer entre elles
- • Différents points de vue: chaque tête se concentre sur différentes relations (syntaxe, sémantique, position, etc.)
- • Fusion d’informations : concatène les sorties de plusieurs têtes puis applique une transformation linéaire
- • Capacité d'expression: Le mécanisme multi-tête améliore considérablement la capacité d’expression du modèle
Encodage positionnel
Le mécanisme d’Attention lui-même ne contient pas d’information de position et doit être injecté via un encodage de position :
- • Encodage positionnel sinusoïdal:utiliser les fonctions sin/cos pour générer l’encodage positionnel
- • Encodage positionnel apprenable: Les modèles tels que BERT utilisent des embeddings apprenables
- • Codage de position relative: se concentrer sur la position relative plutôt que sur la position absolue
- • Limitations : L’encodage positionnel fixe gère difficilement les séquences très longues (par exemple 1M+ tokens)
Théorie du surligneur : une manière intuitive de comprendre l’Attention
La métaphore du surlignage des points clés aide à comprendre le fonctionnement du mécanisme d’Attention.
Expliquer par analogie
Imaginez que vous lisez un article et surlignez les passages importants avec un surligneur :
Exemple concret
Architecture encodeur-décodeur
L’architecture originale du Transformer comprend un encodeur et un décodeur, mais de nombreuses variantes sont apparues dans les applications pratiques.
Encoder(encodeur)
Comprendre la séquence d’entrée et générer une représentation intermédiaire :
- • Self-Attention: Comprendre les relations internes au sein de la séquence d’entrée
- • Feed-Forward: transformation non linéaire
- • Sortie: représentation codée de chaque position
- • Application:tâches de compréhension comme BERT, RoBERTa, etc.
Decoder(décodeur)
Générer la séquence cible à partir de la sortie de l’encodeur :
- • Masked Self-Attention: seule la partie générée est visible
- • Cross-Attention : Se concentrer sur la sortie de l’Encoder
- • Générer: générer le jeton de la séquence cible un par un
- • Application:tâches de génération telles que GPT, T5
Variantes d’application concrètes
GPT(Decoder Only)
Architecture : uniquement le décodeur, suppression de la couche Cross-Attention
Caractéristiques: génération auto-régressive, génération de texte de gauche à droite
Application: Génération de texte, dialogue, génération de code
BERT(Encoder Only)
Architecture: Encodeur uniquement, compréhension bidirectionnelle
Caractéristiques: Voir toute la séquence d’entrée à la fois, avec un contexte bidirectionnel
Application : classification de texte, questions-réponses, reconnaissance d’entités nommées
T5(Encoder-Decoder)
Architecture: Structure Encoder-Decoder complète
Caractéristiques : un cadre unifié dans lequel toutes les tâches NLP sont converties en texte-à-texte
Application: Diverses tâches telles que la traduction, le résumé et les questions-réponses
Réseaux de feedforward et connexions résiduelles
Le Feed-Forward Network, la Residual Connection et la Layer Normalization sont des composants clés pour l’entraînement stable des Transformers.
Feed-Forward Network (FFN)
Le réseau feedforward effectue des transformations non linéaires indépendamment à chaque position :
- • Structure:Un réseau entièrement connecté à deux couches avec une fonction d’activation entre les deux (généralement ReLU ou GELU)
- • Rôle: renforcer la capacité d’expression non linéaire du modèle
- • Caractéristiques: Chaque position est traitée indépendamment, ce qui permet un calcul parallèle
- • Paramètre: Le FFN représente généralement la majeure partie des paramètres du modèle (par ex. 66 % dans GPT-3)
Residual Connection (connexion résiduelle)
Ajouter l’entrée directement à la sortie, ce qui résout le problème de disparition du gradient dans les réseaux profonds :
- • Formule:output = input + sublayer(input)
- • Rôle:Fournir une « autoroute » pour la propagation du gradient
- • Effet : permet au modèle d’entraîner des réseaux plus profonds (par exemple, GPT-3 comporte 96 couches)
- • Source: s’inspirer du succès de ResNet
Layer Normalization
Normaliser la sortie de chaque couche pour stabiliser le processus d’entraînement :
- • Position: après Attention et FFN, avant la connexion résiduelle
- • Rôle: Des distributions stables des valeurs d’activation accélèrent la convergence de l’entraînement
- • Effet: permet d’utiliser un taux d’apprentissage plus élevé, rendant l’entraînement plus stable
- • Variante: Pre-LN (normalisation avant la sous-couche) vs Post-LN (normalisation après la sous-couche)
Structure complète du Transformer Block
Plusieurs Transformer Blocks sont empilés pour former un réseau profond, et chaque Block contient la structure ci-dessus
Résultats d’apprentissage
À la fin de ce chapitre, vous pourrez :
- 1Comprendre en profondeur les principes mathématiques du mécanisme d’Attention (Query, Key, Value) et son processus de calcul
- 2Comprendre comment le Multi-Head Attention interprète l’information sous plusieurs angles, ainsi que le rôle de l’encodage positionnel
- 3Comprendre les différences d’architecture et les cas d’usage de GPT (Decoder only) et BERT (Encoder only)
- 4Comprendre le rôle de Feed-Forward Network, Residual Connection et Layer Normalization