Architecture des transformateurs

  • Mise à jour le 5 février 2025
  • 2 min. à lire

L'architecture des transformateurs est une conception révolutionnaire en apprentissage automatique, introduite pour la première fois dans le papier "Attention Is All You Need" par Vaswani et al. en 2017. Voici un aperçu détaillé de cette architecture :

Composants Clés des Transformateurs :

  1. Encodage et Décodage :
    • Encodeur : Transforme la séquence d'entrée en une représentation vectorielle. Il contient plusieurs couches identiques où chaque couche est composée de deux sous-couches : une sous-couche de l'auto-attention et une sous-couche de réseau neuronal entièrement connecté (feed-forward).
    • Décodeur : Génère la séquence de sortie à partir de la représentation de l'encodeur. Il a également plusieurs couches avec trois sous-couches : l'auto-attention, l'attention sur l'encodeur, et une sous-couche feed-forward.
  2. Mécanisme d'Attention :
    • Auto-Attention (Self-Attention) : Permet à chaque position de la séquence d'entrer en relation avec toutes les autres positions, permettant au modèle de peser l'importance de différentes parties de la séquence.
      • Q (Query), K (Key), V (Value) : Les éléments clés de l'attention où Q est utilisé pour interroger les autres positions, K pour comparer avec Q, et V pour fournir le contenu qui sera aggrégé.
    • Attention Multi-Têtes : Pour capturer des informations à partir de différentes perspectives, l'attention est divisée en plusieurs "têtes" qui apprennent des représentations différentes et sont ensuite concaténées.
  3. Position Encoding : Puisque les transformateurs n'ont pas de notion de séquence (contrairement aux RNNs), des informations de position sont ajoutées aux embeddings des mots pour que le modèle puisse comprendre l'ordre des mots dans la séquence.
  4. Feed-Forward Networks : Chaque position passe par un réseau feed-forward entièrement connecté, qui est appliqué indépendamment à chaque position.
  5. Layer Normalization et Residual Connections : Utilisés pour stabiliser l'apprentissage et pour permettre un flux de gradient plus fluide à travers le réseau.

Étapes du Processus :

  • Input : La séquence d'entrée est tokenisée et convertie en vecteurs (embeddings).
  • Position Encoding : Addition des encodages de position aux embeddings.
  • Encodeur : La séquence passe par plusieurs couches d'encodeur, où l'auto-attention et les sous-couches feed-forward modifient la représentation de la séquence.
  • Décodeur : En utilisant la sortie de l'encodeur, le décodeur génère une séquence de sortie, masque les futures positions pour l'auto-attention afin de ne pas "tricher" en regardant les tokens futurs.
  • Output : Les embeddings de sortie sont passés à travers une couche linéaire et une softmax pour produire les probabilités de chaque mot dans le vocabulaire.

Applications :

  • Traduction Automatique : Les transformateurs (comme BERT, GPT, T5) ont révolutionné la traduction en fournissant des traductions plus contextuelles et précises.
  • Génération de Texte : Utilisés pour la génération de texte, la complétion automatique, et d'autres tâches de NLP.
  • Résumé de Texte : Réduction de textes longs en versions plus courtes tout en conservant le sens principal.

⠀ L'architecture des transformateurs a permis des progrès significatifs dans le traitement du langage naturel, en grande partie grâce à sa capacité à capturer des dépendances à longue distance dans les séquences textuelles de manière efficace.

tracking-thumb