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 transformateur ?
Les Transformers sont l'architecture de pointe pour une grande variété d'applications de modèles de langage, telles que la traduction:
Les Transformer 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).
Qu'est-ce que l'auto-attention ?
Pour améliorer le contexte, les transformateurs s'appuient fortement sur un concept appelé auto-attention. 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 "self-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'attention automatique ne pèse que sur 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 fait attention aux dix autres et se demande dans quelle mesure chacun de ces dix mots est important pour lui-même. Par exemple, notez que la phrase contient le pronom it. Les pronoms sont souvent ambigus. Le pronom it fait généralement référence à un nom récent ou à un syntagme nominal, mais dans la phrase d'exemple, à 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 le mot est important pour le pronom it. Autrement dit, animal est plus important que street pour le pronom it.
À 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 les scores de pertinence des jetons précédant et suivant le mot recherché. 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 du contexte à partir de mots situés de chaque côté du mot concerné. 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 visait à déterminer à quel nom le pronom auquel elle 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.
Pourquoi les transformateurs sont-ils si grands ?
Les transformateurs contiennent des centaines de milliards, voire des milliers de milliards de paramètres. Ce cours a 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 constitue essentiellement la fonctionnalité de saisie semi-automatique intégrée à divers logiciels de création de texte, d'e-mails 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 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 requête contenant un problème de mots.
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 générer des prédictions sur les tâches sur lesquelles ils sont entraînés explicitement. 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 déduire des prédictions entraîne les problèmes suivants:
- Les LLM hallucinent, ce qui signifie que leurs prédictions contiennent souvent des erreurs.
- Les LLM consomment énormément 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.