Comprendre

Les Transformers

L'architecture de réseau de neurones appelée Transformer et ses nombreuses variantes dont le nom rappelle un jouet célèbre des années 80 sont à l'origine de GPT et de progrès fulgurants dans le domaine.

Raphaël d'Assignies
12 mai 2023

L’Attention est tout ce qu’il vous faut

Les architectures de type transformers ont constitué une avancée très importante en résolvant notamment les problèmes de mémoire. Cette architecture et ses nombreuses variantes dont le nom rappelle un jouet célèbre des années 80 sont à l’origine de GPT et de progrès fulgurants dans le domaine.

L’architecture des Transformers utilise plusieurs mécanismes, parmi lesquels :

  • Un mécanisme d’attention, déjà conceptualisé auparavant, permet aux mots d’une phrase d’apprendre l’importance des autres dans la même phrase (self attention) ou dans une autre séquence (attention) comme une phrase à traduire. Pour augmenter, pour un même mot, le nombre de dimensions contextuelles, on empile les têtes d’attention (multihead attention) sur plusieurs couches. Cette technique permet d’enrichir considérablement les contextes appris par le modèle.

Deux blocs :

  • encoder : il prend en entrée une phrase d’une longueur variable et l’encode sous forme d’un vecteur de longueur fixe qui varie en fonction du contexte (principe du plongement lexical). Dans cette phase, le mécanisme d’attention se fait sur tous les mots de la phrase à la fois : chaque mot peut ‘regarder’ tous les autres avant ou après lui. Cette caractéristique se retrouve dans le nom des encoder qui ont comme prefix B pour Bidirectionnel.
  • decoder : dans cette phase, chaque mot ne peut ‘regarder’ qu’en arrière ; les mots qui le suivent sont exclus du mécanisme d’attention.

Ces blocs peuvent être utilisés séparément ou ensemble (encoder-decoder ou sequence to sequence model). L’utilisation de ces différentes parties obéit à des traitements particuliers :

Type Tâches Models
Encoder ou Autoencoder Classification, reconnaissance d’entités nommées, analyse de sentiment, questions-réponses (extractive) BERT, ROBERTA
Decoder Génération de séquences de mots GPT x, BLOOM
Encoder/Decoder ou Sequence to sequence Résumé, traduction, questions-réponses (génération) T5

L’entraînement

Les Transformers sont entraînés avec plusieurs approches :

  • Encoder ou Autoencoder : un mot (token) est masqué aléatoirement au milieu d’une phrase (Masked Language Modeling), il doit être découvert. Le modèle regarde avant et après le token masqué (Encoder Bidirectionnel) ;
  • Decoder : le mot (token) suivant une séquence doit être découvert (Causal Language Modeling). Le modèle ne regarde que la séquence d’avant (Decoder Unidirectionnel) ;
  • Sequence-to-sequence : plusieurs mots sont masqués (span corruption) et remplacés par un token spécial (sentinel token), le modèle doit trouver les mots manquants.

Cet entraînement de base, dont le principal objectif est d’apprendre la représentation des mots, peut être poursuivi partiellement à partir d’une couche supplémentaire comme indiqué dans l’article consacré à l’entraînement des modèles.