LLM: qu'est-ce qu'un grand modèle de langage ?

Une technologie plus récente, les grands modèles de langage (LLM), prédit un jeton ou une séquence de jetons, parfois plusieurs paragraphes de jetons prédits. N'oubliez pas qu'un jeton peut être un mot, un sous-mot (un sous-ensemble d'un mot) ou même un seul caractère. Les LLM génèrent des prédictions bien meilleures que les modèles de langage N-gramme ou les réseaux de neurones récurrents, car:

  • Les LLM contiennent beaucoup plus de paramètres que les modèles récurrents.
  • Les LLM collectent beaucoup plus de contexte.

Cette section présente l'architecture la plus efficace et la plus utilisée pour créer des LLM: le Transformer.

Qu'est-ce qu'un Transformer ?

Les Transformers sont l'architecture de pointe pour une grande variété d'applications de modèles de langage, telles que la traduction:

Figure 1. L'entrée est : "Je suis un bon chien." Un traducteur basé sur Transformer transforme cette entrée en sortie: Je suis un bon chien, qui est la même phrase traduite en français.
Image 1. Application basée sur Transformer qui traduit de l'anglais vers le français.

 

Les transformateurs complets se composent d'un encodeur et d'un décodeur:

  • Un encodeur convertit le texte d'entrée en représentation intermédiaire. Un encodeur est un réseau de neurones énorme.
  • Un décodeur convertit cette représentation intermédiaire en texte utile. Un décodeur est également un réseau de neurones énorme.

Par exemple, dans un traducteur:

  • L'encodeur transforme le texte d'entrée (par exemple, une phrase en anglais) en une représentation intermédiaire.
  • Le décodeur convertit cette représentation intermédiaire en texte de sortie (par exemple, la phrase française équivalente).
Figure 2. Le traducteur basé sur Transformer commence par un encodeur, qui génère une représentation intermédiaire d'une phrase en anglais. Un décodeur convertit cette représentation intermédiaire en phrase de sortie en français.
Figure 2 : Un Transformer complet contient à la fois un encodeur et un décodeur.

 

Ce module se concentre sur les Transformer complets, qui contiennent à la fois un encodeur et un décodeur. Toutefois, des architectures uniquement encodeur et uniquement décodeur existent également:

  • Les architectures à encodeur uniquement mappent le texte d'entrée dans une représentation intermédiaire (généralement une couche d'embedding). Voici quelques cas d'utilisation des architectures encodeur uniquement :
    • Prédire n'importe quel jeton de la séquence d'entrée (qui est le rôle conventionnel des modèles de langage).
    • Créer une représentation vectorielle continue sophistiquée, qui peut servir d'entrée pour un autre système, tel qu'un classificateur.
  • Les architectures de décodeur uniquement génèrent de nouveaux jetons à partir du texte déjà généré. Les modèles de décodeur uniquement excellent généralement dans la génération de séquences. Les modèles modernes de décodeur uniquement peuvent utiliser leur puissance de génération pour créer des suites d'historiques de boîtes de dialogue et d'autres requêtes.

Qu'est-ce que l'auto-attention ?

Pour améliorer le contexte, les modèles Transformer s'appuient fortement sur un concept appelé attention automatique. En effet, pour chaque jeton d'entrée, l'attention automatique pose la question suivante:

"Dans quelle mesure chaque autre jeton d'entrée affecte-t-il l'interprétation de ce jeton ?"

Le "self" dans "auto-attention" fait référence à la séquence d'entrée. Certains mécanismes d'attention pondèrent les relations entre les jetons d'entrée et les jetons d'une séquence de sortie, comme une traduction, ou les jetons d'une autre séquence. Cependant, l'auto-attention ne pèse que l'importance des relations entre les jetons dans la séquence d'entrée.

Pour simplifier les choses, supposons que chaque jeton soit un mot et que le contexte complet ne soit qu'une seule phrase. Considérons la phrase suivante:

The animal didn't cross the street because it was too tired.

La phrase précédente contient onze mots. Chacun des onze mots prête attention aux dix autres, se demandant à quel point chacun de ces dix mots compte pour lui-même. Par exemple, notez que la phrase contient le pronom it. Les pronoms sont souvent ambigus. Le pronom il fait généralement référence à un nom ou à une phrase nominale récents, mais dans l'exemple de phrase, à quel nom récent il fait-il référence : à l'animal ou à la rue ?

Le mécanisme d'auto-attention détermine la pertinence de chaque mot proche par rapport au pronom il. La figure 3 montre les résultats. Plus la ligne est bleue, plus ce mot est important pour le pronom it. Autrement dit, animal est plus important que rue pour le pronom il.

Figure 3. Pertinence de chacun des onze mots de la phrase : "L'animal n'a pas traversé la rue, car il était trop fatigué" par rapport au pronom "il". Le mot "animal" est le plus pertinent pour le pronom "il".
Figure 3 : Auto-attention pour le pronom it. Extrait de Transformer: une nouvelle architecture de réseau de neurones pour la compréhension du langage.

 

À l'inverse, supposons que le dernier mot de la phrase change comme suit:

The animal didn't cross the street because it was too wide.

Dans cette phrase révisée, l'auto-attention devrait classer rue comme plus pertinent que animal par rapport au pronom il.

Certains mécanismes d'auto-attention sont bidirectionnels, ce qui signifie qu'ils calculent des scores de pertinence pour les jetons antérieurs et postérieurs au mot auquel on s'intéresse. Par exemple, dans la figure 3, notez que les mots de chaque côté de it sont examinés. Ainsi, un mécanisme d'auto-attention bidirectionnel peut recueillir le contexte des mots de chaque côté du mot auquel il est attentif. En revanche, un mécanisme d'auto-attention unidirectionnel ne peut recueillir le contexte que des mots d'un côté du mot auquel il est attentif. L'auto-attention bidirectionnelle est particulièrement utile pour générer des représentations de séquences entières, tandis que les applications qui génèrent des séquences par jeton nécessitent une auto-attention unidirectionnelle. C'est pourquoi les encodeurs utilisent l'auto-attention bidirectionnelle, tandis que les décodeurs utilisent l'auto-attention unidirectionnelle.

Qu'est-ce que l'auto-attention multitête ?

Chaque couche d'auto-attention est généralement composée de plusieurs têtes d'auto-attention. La sortie d'une couche est une opération mathématique (par exemple, une moyenne pondérée ou un produit scalaire) de la sortie des différentes têtes.

Étant donné que chaque couche d'attention automatique est initialisée avec des valeurs aléatoires, différentes têtes peuvent apprendre différentes relations entre chaque mot auquel on accorde de l'attention et les mots à proximité. Par exemple, la couche d'auto-attention décrite dans la section précédente se concentrait sur la détermination du nom auquel le pronom il faisait référence. Toutefois, d'autres couches d'auto-attention peuvent apprendre la pertinence grammaticale de chaque mot par rapport à tous les autres mots, ou apprendre d'autres interactions.

L'auto-attention oblige chaque mot du contexte à apprendre la pertinence de tous les autres mots du contexte. Il est donc tentant de déclarer qu'il s'agit d'un problème O(N2), où:

  • N correspond au nombre de jetons dans le contexte.

Comme si la complexité de la fonction Big O précédente n'était pas assez dérangeante, les Transformers contiennent plusieurs couches d'auto-attention et plusieurs têtes d'auto-attention par couche d'auto-attention. La complexité de la fonction Big O est donc la suivante:

O(N2 · S · D)

où :

  • S est le nombre de couches d'auto-attention.
  • D correspond au nombre de têtes par couche.

Vous n'entraînerez probablement jamais un LLM à partir de zéro. L'entraînement d'un LLM de qualité industrielle nécessite d'énormes quantités d'expertise en ML, de ressources de calcul et de temps. Quoi qu'il en soit, vous avez cliqué sur l'icône pour en savoir plus. Nous vous devons donc une explication.

L'ingrédient principal de la création d'un LLM est une quantité phénoménale de données d'entraînement (texte), généralement quelque peu filtrées. La première phase d'entraînement consiste généralement en une forme d'apprentissage non supervisé sur ces données d'entraînement. Plus précisément, le modèle s'entraîne sur des prédictions masquées, ce qui signifie que certains jetons des données d'entraînement sont intentionnellement masqués. Le modèle s'entraîne en essayant de prédire ces jetons manquants. Par exemple, supposons que la phrase suivante fasse partie des données d'entraînement:

The residents of the sleepy town weren't prepared for what came next.

Les jetons aléatoires sont supprimés, par exemple:

The ___ of the sleepy town weren't prepared for ___ came next.

Un LLM n'est qu'un réseau de neurones. La perte (nombre de jetons masqués que le modèle a correctement pris en compte) guide donc le degré auquel la rétropropagation met à jour les valeurs des paramètres.

Un modèle basé sur Transformer entraîné pour prédire les données manquantes apprend progressivement à détecter des tendances et des structures d'ordre supérieur dans les données afin d'obtenir des indices sur le jeton manquant. Prenons l'exemple d'instance masquée suivant:

Oranges are traditionally ___ by hand. Once clipped from a tree, __ don't ripen.

Un entraînement approfondi sur un nombre énorme d'exemples masqués permet à un LLM d'apprendre que "récolté" ou "cueilli" sont des correspondances à forte probabilité pour le premier jeton, et que "oranges" ou "ils" sont de bons choix pour le deuxième jeton.

Une autre étape d'entraînement facultative appelée ajustement des instructions peut améliorer la capacité d'un LLM à suivre les instructions.

Pourquoi les transformateurs sont-ils si grands ?

Les transformateurs contiennent des centaines de milliards, voire des milliers de milliards de paramètres. Dans ce cours, nous avons généralement recommandé de créer des modèles avec un nombre de paramètres inférieur à ceux avec un nombre de paramètres plus élevé. Après tout, un modèle avec un nombre de paramètres inférieur utilise moins de ressources pour effectuer des prédictions qu'un modèle avec un nombre de paramètres plus élevé. Toutefois, les recherches montrent que les Transformers avec plus de paramètres surpassent systématiquement les Transformers avec moins de paramètres.

Mais comment un LLM génère-t-il du texte ?

Vous avez vu comment les chercheurs entraînent des LLM pour prédire un ou deux mots manquants, et vous n'êtes peut-être pas impressionné. Après tout, la prédiction d'un ou deux mots est essentiellement la fonctionnalité de saisie semi-automatique intégrée à divers logiciels de texte, d'e-mail et de création. Vous vous demandez peut-être comment les LLM peuvent générer des phrases, des paragraphes ou des haïkus sur l'arbitrage.

En fait, les LLM sont essentiellement des mécanismes de saisie semi-automatique qui peuvent prédire automatiquement (compléter) des milliers de jetons. Prenons l'exemple d'une phrase suivie d'une phrase masquée:

My dog, Max, knows how to perform many traditional dog tricks.
___ (masked sentence)

Un LLM peut générer des probabilités pour la phrase masquée, y compris:

Probabilité Mot(s)
3,1 % Par exemple, il peut s'asseoir, rester immobile et se retourner.
2,9 % Par exemple, il sait s'asseoir, rester immobile et se retourner.

Un LLM suffisamment volumineux peut générer des probabilités pour des paragraphes et des essais entiers. Vous pouvez considérer les questions d'un utilisateur à un LLM comme la phrase "donnée" suivie d'un masque imaginaire. Exemple :

User's question: What is the easiest trick to teach a dog?
LLM's response:  ___

Le LLM génère des probabilités pour différentes réponses possibles.

Autre exemple : un LLM entraîné sur un nombre massif de "problèmes mathématiques" peut donner l'impression de mener un raisonnement mathématique sophistiqué. Toutefois, ces LLM ne font que compléter automatiquement une invite de problème de texte.

Avantages des LLM

Les LLM peuvent générer un texte clair et facile à comprendre pour une grande variété d'audiences cibles. Les LLM peuvent effectuer des prédictions sur les tâches pour lesquelles ils sont explicitement entraînés. Certains chercheurs affirment que les LLM peuvent également effectuer des prédictions pour des entrées sur lesquelles ils n'ont pas été explicitement entraînés, mais d'autres chercheurs ont réfuté cette affirmation.

Problèmes liés aux LLM

L'entraînement d'un LLM implique de nombreux problèmes, dont les suivants:

  • Rassembler un ensemble d'entraînement énorme
  • Cela prend plusieurs mois et nécessite d'énormes ressources de calcul et d'électricité.
  • Résoudre les défis liés au parallélisme.

L'utilisation de LLM pour inférer des prédictions entraîne les problèmes suivants:

  • Les LLM hallucinatent, ce qui signifie que leurs prédictions contiennent souvent des erreurs.
  • Les LLM consomment d'énormes quantités de ressources de calcul et d'électricité. L'entraînement des LLM sur des ensembles de données plus volumineux réduit généralement la quantité de ressources requises pour l'inférence, bien que les ensembles d'entraînement plus volumineux nécessitent plus de ressources d'entraînement.
  • Comme tous les modèles de ML, les LLM peuvent présenter toutes sortes de biais.

Exercice: Vérifiez votre compréhension

Supposons qu'un Transformer soit entraîné sur un milliard de documents, dont des milliers contenant au moins une instance du mot éléphant. Parmi les affirmations suivantes, lesquelles sont probablement vraies ?
Le Transformer apprendra progressivement à ignorer toute utilisation sarcastique ou ironique du mot éléphant dans les données d'entraînement.
Les arbres d'acacia, qui constituent une part importante du régime alimentaire des éléphants, obtiendront progressivement un score d'auto-attention élevé avec le mot éléphant.
Le Transformer associera le mot éléphant à divers expressions idiomatiques contenant le mot éléphant.