Qu'est-ce qu'un modèle de langage ?
Un modèle de langage estime la probabilité qu'un jeton ou une séquence de jetons se produisent dans une séquence de jetons plus longue. Un jeton peut être un mot, un sous-mot (un sous-ensemble d'un mot) ou même un seul caractère.
Considérez la phrase suivante et les jetons qui pourraient la compléter :
When I hear rain on my roof, I _______ in my kitchen.
Un modèle de langage détermine les probabilités de différents jetons ou séquences de jetons pour compléter cet espace vide. Par exemple, le tableau de probabilités suivant identifie certains jetons possibles et leurs probabilités :
| Probabilité | Jeton(s) |
|---|---|
| 9,4 % | préparer une soupe |
| 5,2 % | faire chauffer une bouilloire |
| 3,6 % | cower |
| 2,5 % | sieste |
| 2,2 % | détends-toi |
Dans certaines situations, la séquence de jetons peut être une phrase entière, un paragraphe ou même un essai entier.
Une application peut utiliser le tableau de probabilités pour faire des prédictions. La prédiction peut être le jeton ayant la probabilité la plus élevée (par exemple, "faire de la soupe") ou une sélection aléatoire de jetons ayant une probabilité supérieure à un certain seuil.
L'estimation de la probabilité de ce qui remplit le vide dans une séquence de texte peut être étendue à des tâches plus complexes, y compris :
- Génération du texte.
- Traduire du texte d'une langue à une autre.
- Résumer des documents
En modélisant les schémas statistiques des jetons, les modèles de langage modernes développent des représentations internes extrêmement puissantes du langage et peuvent générer un langage plausible.
Modèles de langage N-gram
Les N-grammes sont des séquences ordonnées de mots utilisées pour créer des modèles de langage, où N correspond au nombre de mots dans la séquence. Par exemple, lorsque N est égal à 2, le N-gramme est appelé 2-gramme (ou bigramme). Lorsque N est égal à 5, le N-gramme est appelé 5-gramme. Prenons l'expression suivante dans un document d'entraînement :
you are very nice
Les bigrammes obtenus sont les suivants :
- vous êtes
- sont très
- très bien
Lorsque N est égal à 3, le N-gramme est appelé 3-gramme (ou trigramme). Pour cette même expression, les trigrammes obtenus sont les suivants :
- vous êtes très
- sont très gentils
Étant donné deux mots en entrée, un modèle de langage basé sur des trigrammes peut prédire la probabilité du troisième mot. Par exemple, prenons les deux mots suivants :
orange is
Un modèle de langage examine tous les différents trigrammes dérivés de son corpus d'entraînement qui commencent par orange is pour déterminer le troisième mot le plus probable.
Des centaines de trigrammes peuvent commencer par les deux mots orange is, mais vous pouvez vous concentrer uniquement sur les deux possibilités suivantes :
orange is ripe orange is cheerful
La première possibilité (orange is ripe) concerne l'orange, le fruit, tandis que la seconde (orange is cheerful) concerne la couleur orange.
Contexte
Les humains peuvent retenir des contextes relativement longs. Lorsque vous regardez l'acte 3 d'une pièce de théâtre, vous conservez les connaissances sur les personnages présentés dans l'acte 1. De même, la chute d'une longue blague vous fait rire parce que vous vous souvenez du contexte de la mise en place de la blague.
Dans les modèles de langage, le contexte est une information utile avant ou après le jeton cible. Le contexte peut aider un modèle linguistique à déterminer si "orange" fait référence à un agrume ou à une couleur.
Le contexte peut aider un modèle de langage à faire de meilleures prédictions, mais un 3-gramme fournit-il un contexte suffisant ? Malheureusement, le seul contexte qu'un 3-gramme fournit est celui des deux premiers mots. Par exemple, les deux mots orange is ne fournissent pas suffisamment de contexte pour que le modèle de langage puisse prédire le troisième mot.
En raison du manque de contexte, les modèles de langage basés sur des trigrammes font beaucoup d'erreurs.
Les n-grammes plus longs fournissent certainement plus de contexte que les n-grammes plus courts. Toutefois, à mesure que N augmente, l'occurrence relative de chaque instance diminue. Lorsque N devient très grand, le modèle de langage ne comporte généralement qu'une seule instance de chaque occurrence de N jetons, ce qui n'est pas très utile pour prédire le jeton cible.
Réseaux de neurones récurrents
Les réseaux de neurones récurrents fournissent plus de contexte que les n-grammes. Un réseau de neurones récurrent est un type de réseau de neurones qui s'entraîne sur une séquence de jetons. Par exemple, un réseau de neurones récurrent peut apprendre progressivement (et apprendre à ignorer) le contexte sélectionné de chaque mot d'une phrase, un peu comme vous le feriez en écoutant quelqu'un parler. Un grand réseau de neurones récurrents peut obtenir du contexte à partir d'un passage de plusieurs phrases.
Bien que les réseaux de neurones récurrents apprennent plus de contexte que les N-grammes, la quantité de contexte utile qu'ils peuvent deviner reste relativement limitée. Les réseaux de neurones récurrents évaluent les informations "jeton par jeton". En revanche, les grands modèles de langage, qui seront abordés dans la section suivante, peuvent évaluer l'ensemble du contexte en une seule fois.
Notez que l'entraînement des réseaux de neurones récurrents pour les contextes longs est limité par le problème de disparition du gradient.
Exercice : Vérifier vos connaissances
- Modèle de langage basé sur des 6-grammes
- Modèle de langage basé sur des 5-grammes