Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Modèles Génératifs Basés sur les Transformers | Fondements Théoriques
Modèles Génératifs Profonds avec Python

Modèles Génératifs Basés sur les Transformers

Glissez pour afficher le menu

Introduction aux Transformers et à l’auto-attention

Les transformers constituent une architecture fondamentale de l’IA moderne, en particulier dans le Traitement Automatique du Langage Naturel (NLP) et la modélisation générative. Présentés pour la première fois dans l’article "Attention is All You Need" (Vaswani et al., 2017), les transformers abandonnent la récurrence au profit d’un mécanisme appelé auto-attention, qui permet aux modèles de prendre en compte toutes les parties de la séquence d’entrée simultanément.

Mécanisme d’auto-attention

Le mécanisme d’auto-attention permet au modèle de pondérer l’importance des différents tokens d’une séquence les uns par rapport aux autres. Cela s’effectue à l’aide de trois matrices dérivées des embeddings d’entrée :

  • Query (Q) ;
  • Key (K) ;
  • Value (V).

La sortie de l’attention est calculée comme suit :

Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax} \left( \frac{QK^T}{\sqrt{d_k}} \right)V

Où :

  • QQ, KK et VV sont des matrices dérivées de l’entrée.
  • dkd_k est la dimension des vecteurs clés.
  • softmax\text{softmax} convertit les scores de similarité en probabilités.

Cela permet à chaque token de s’attarder sur tous les autres tokens et d’ajuster sa représentation en conséquence.

Vue d’ensemble de l’architecture Transformer

Transformeur

Le modèle transformeur se compose de couches d’encodeur et de décodeur empilées :

  • Encodeur convertit l’entrée en une représentation latente contextualisée ;
  • Décodeur génère des jetons de sortie en utilisant la sortie de l’encodeur et les jetons précédents.

Chaque couche comprend :

  • Attention multi-tête auto-référencée ;
  • Réseaux de neurones à propagation avant ;
  • Normalisation de couche ;
  • Connexions résiduelles.

Attention multi-tête auto-référencée

Multi-tête d'attention

Au lieu de calculer une seule fonction d'attention, le transformeur utilise plusieurs têtes d'attention. Chaque tête apprend à se concentrer sur différentes parties de la séquence.

Multi-Head(Q,K,V)=Concat(head1,head2,...,headn)W0\text{Multi-Head}(Q, K, V) = \text{Concat}(\text{head}_1, \text{head}_2, ... , \text{head}_n)W^0

Où chaque tête est calculée comme suit :

headi=Attention(QWiQ,KWiK,VWiV)\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)

Où :

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V sont des matrices de projection pour les requêtes, clés et valeurs ;
  • W0W^0 projette les têtes concaténées vers la dimension d'origine.

Réseaux de neurones feedforward

Chaque bloc de transformeur inclut un réseau feedforward appliqué indépendamment à chaque position :

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Composé de deux couches linéaires avec une non-linéarité (par exemple, ReLU) entre les deux ;
  • Applique la même transformation à toutes les positions.

Normalisation de couche

La normalisation de couche normalise l'entrée à travers les caractéristiques (canaux) au lieu du lot. Elle stabilise l'entraînement et améliore la convergence :

LayerNorm(x)=xμσγ+β\text{LayerNorm}(x) = \frac{x - \mu}{\sigma} \cdot \gamma + \beta

Où :

  • μ\mu est la moyenne des caractéristiques ;
  • σ\sigma est l'écart type ;
  • γ\gamma et β\beta sont des paramètres apprenables.

Connexions résiduelles

Les connexions résiduelles ajoutent l'entrée de chaque sous-couche à sa sortie :

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Facilite la propagation du gradient et permet l'entraînement de modèles plus profonds ;
  • Utilisées autour des couches d'auto-attention et des couches feedforward.

Dans les modèles uniquement décodeurs (comme GPT), seul le décodeur est utilisé avec une auto-attention causale (masquée).

Transformers génératifs pré-entraînés (GPT)

Les modèles GPT sont des transformers uniquement décodeurs entraînés à prédire le prochain jeton de manière autoregressive :

P(x1,x2,...,xn)=t=1nP(xtx<t)P(x_1,x_2,...,x_n)=\prod_{t=1}^n{P(x_t|x_{<t})}

Principales caractéristiques :

  • Entraînés sur de grands ensembles de données textuelles ;
  • Capables de générer un texte cohérent et diversifié ;
  • Largement utilisés dans des applications telles que les chatbots et la génération de code.

BERT et le masquage de langage

BERT (Bidirectional Encoder Representations from Transformers) utilise uniquement l’encodeur. Il est entraîné avec le masquage de langage (MLM) :

  • Des jetons aléatoires sont remplacés par un [MASK] ;
  • Le modèle prédit le jeton original en se basant sur le contexte complet.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Cela rend BERT performant pour des tâches telles que la classification, les questions-réponses et la similarité sémantique.

Transformers et LLMs

Les transformers constituent la base des grands modèles de langage (LLMs) tels que GPT-3, GPT-4, PaLM, LLaMA et Claude.

Les LLMs utilisent de grands ensembles de données et des centaines de milliards de paramètres, ce qui leur permet de :

  • Comprendre et générer le langage humain ;
  • Effectuer la traduction, la synthèse, les questions-réponses, le raisonnement ;
  • Alimenter des chatbots, des analyseurs de documents et des assistants de codage.

L’évolutivité des transformers et leur capacité à modéliser des dépendances à longue portée en font des modèles idéaux pour ces applications.

1. Quelle est l’innovation principale introduite par les transformers ?

2. Qu'est-ce qui distingue BERT de GPT ?

3. Pourquoi les transformers sont-ils idéaux pour les LLM ?

question mark

Quelle est l’innovation principale introduite par les transformers ?

Sélectionnez la réponse correcte

question mark

Qu'est-ce qui distingue BERT de GPT ?

Sélectionnez la réponse correcte

question mark

Pourquoi les transformers sont-ils idéaux pour les LLM ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 8

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 2. Chapitre 8
some-alt