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.
Le 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ête
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 des relations différentes (syntaxe, sémantique, position, etc.)
- • Fusion d’informations:concaténer les sorties de plusieurs têtes puis appliquer 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 comme BERT utilisent des embeddings apprenables
- • Encodage de position relatif: 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 comprenait un encodeur et un décodeur, mais diverses variantes sont apparues dans les applications réelles.
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, supprimez les couches de Cross-Attention
Caractéristiques:génération autoré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 en même temps, 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 de manière indépendante pour 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 et peut être calculée en parallèle
- • Paramètre: la FFN représente généralement la majeure partie des paramètres du modèle (par exemple 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: fournit 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 :
- • Emplacement: après l’Attention et le 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 Multi-Head Attention interprète les informations 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