Aller au contenu principal

Chapitre 2 : Architecture des Transformers

L'architecture qui a tout changé​

L'architecture Transformer, introduite en 2017, a révolutionné l'IA. Chaque grand modèle de langage (GPT, Claude, Gemini, Llama) est construit sur cette base.


Avant les Transformers : Le problème​

Les approches précédentes pour traiter les données séquentielles (comme le texte) avaient des limitations majeures :

Réseaux de Neurones Récurrents (RNNs)​

Problèmes :

  1. Traitement séquentiel : Un mot à la fois = lent
  2. Oubli : Les relations à longue distance se perdent
  3. Parallélisation limitée : Ne peut pas tirer parti des GPU modernes

Analogie : Comme lire un livre mais ne se souvenir clairement que des dernières pages.


La solution Transformer​

L'article de 2017 "Attention Is All You Need" a proposé une idée radicale : traiter tous les mots simultanément en utilisant un mécanisme "d'attention".

Innovation clé : Chaque mot peut "prêter attention" à chaque autre mot, indépendamment de la position.


Comprendre l'attention​

L'idée centrale​

L'attention permet au modèle de se concentrer sur les parties pertinentes de l'entrée lors du traitement de chaque élément.

Exemple : "L'animal n'a pas traversé la rue parce qu'il était trop fatigué."

À quoi se réfère "il" ? Un humain sait que "il" = "animal" parce que les animaux se fatiguent.

Le mécanisme d'attention apprend ces relations :

Auto-attention expliquée​

Pour chaque mot, le modèle se demande : "À quel point devrais-je prêter attention à chaque autre mot ?"

Étape par étape :

  1. Query (Q) : "Que suis-je en train de chercher ?"
  2. Key (K) : "Que contiens-je ?"
  3. Value (V) : "Quelle information fournis-je ?"

Analogie : Recherche en bibliothèque​

Imaginez que vous faites des recherches sur un sujet :

  • Query : Votre question de recherche
  • Keys : Titres de livres et résumés
  • Values : Le contenu réel des livres
  • Attention : Pertinence de chaque livre par rapport à votre question

Architecture des Transformers​

Structure complète​

Composants clés​

1. Couche d'Embedding​

Convertit les mots en vecteurs numériques (listes de nombres) qui capturent le sens.

"chat" → [0.2, -0.5, 0.8, 0.1, ...]
"chien" → [0.3, -0.4, 0.7, 0.2, ...]

Les mots similaires ont des vecteurs similaires !

2. Encodage positionnel​

Ajoute des informations sur la position des mots puisque l'attention traite tout simultanément.

Sans cela, "Chien mord homme" et "Homme mord chien" sembleraient identiques.

3. Attention multi-tête​

Plusieurs mécanismes d'attention fonctionnant en parallèle, chacun se concentrant sur différents aspects :

  • Une tête pourrait se concentrer sur la grammaire
  • Une autre sur le sens
  • Une autre sur le contexte

4. Réseaux de neurones​

Couches de réseau de neurones standard qui traitent chaque position indépendamment.

5. Normalisation de couche​

Garde les valeurs dans une plage raisonnable, améliorant la stabilité de l'entraînement.


Types de modèles Transformer​

1. Encodeur uniquement (par ex., BERT)​

  • Traite l'entrée pour créer des représentations
  • Bon pour : Classification, tâches de compréhension
  • Peut voir tout le contexte (bidirectionnel)

2. Décodeur uniquement (par ex., GPT, Claude)​

  • Génère la sortie mot par mot
  • Bon pour : Génération de texte
  • Ne voit que le contexte précédent (unidirectionnel)

3. Encodeur-Décodeur (par ex., T5, BART)​

  • L'encodeur traite l'entrée, le décodeur génère la sortie
  • Bon pour : Traduction, résumé

Pourquoi les Transformers excellent​

1. Parallélisation​

Peut traiter toutes les positions simultanément → Entraînement beaucoup plus rapide

2. Dépendances à longue portée​

L'attention connecte directement n'importe quelles deux positions → Meilleure compréhension du contexte

3. Évolutivité​

L'architecture s'adapte bien avec plus de données et de paramètres → Permet des modèles énormes

4. Apprentissage par transfert​

Les modèles pré-entraînés peuvent être adaptés à de nombreuses tâches → Développement plus efficace


Fenêtre de contexte​

La fenêtre de contexte est la quantité maximale de texte qu'un transformer peut traiter à la fois.

ModèleFenêtre de contexte
GPT-34,096 tokens (~3,000 mots)
GPT-4128,000 tokens (~100,000 mots)
Claude 3200,000 tokens (~150,000 mots)
Gemini 1.51,000,000+ tokens

Pourquoi c'est important :

  • Contexte plus large = Meilleure compréhension des longs documents
  • Peut référencer des informations plus tôt dans les conversations
  • Permet de traiter des livres entiers ou des bases de code

Tokens : Comment le texte est traité​

Les Transformers ne traitent pas les mots—ils traitent des tokens.

Qu'est-ce qu'un token ?​

Un token est un morceau de texte, généralement :

  • Un mot courant : "le" = 1 token
  • Une partie de mot : "compréhension" = "compren" + "sion" = 2 tokens
  • Un signe de ponctuation : "." = 1 token

Exemple​

Entrée : "ChatGPT est incroyable !"

Tokens : ["Chat", "G", "PT", " est", " incroyable", "!"]

En gros : 1 token ≈ 4 caractères ou ¾ d'un mot en anglais


Limitations des Transformers​

1. Complexité quadratique​

L'attention compare chaque token à chaque autre token :

  • 1,000 tokens → 1,000,000 comparaisons
  • 10,000 tokens → 100,000,000 comparaisons

Cela limite les tailles de contexte pratiques.

2. Pas de véritable raisonnement​

Les Transformers reconnaissent des motifs ; ils ne comprennent ni ne raisonnent vraiment.

3. Statique après l'entraînement​

Les connaissances du modèle sont figées au moment de l'entraînement (sans augmentation de récupération).

4. Risque d'hallucination​

La nature de reconnaissance de motifs peut produire des sorties confiantes mais incorrectes.


Points clés à retenir​

✅ Les Transformers traitent toutes les entrées simultanément en utilisant l'attention

✅ L'attention permet à chaque élément de se rapporter à chaque autre élément

✅ Cette architecture alimente tous les grands modèles d'IA modernes

✅ La fenêtre de contexte détermine la quantité de texte pouvant être traitée

✅ Le texte est traité sous forme de tokens, pas de mots

✅ Différents types de transformers (encodeur, décodeur) conviennent à différentes tâches


Prochaines étapes​

Maintenant que vous comprenez l'architecture, explorons comment ces modèles sont entraînés dans Chapitre 3 : Entraînement et Apprentissage.