Histoire de l’IA

Que se passe-t-il dans ChatGPT entre votre prompt et sa réponse?

· Par Robert Scales · 5 min de lecture

Réponse courte

Votre prompt est découpé en jetons, chaque jeton devient une liste de nombres appelée plongement, et une pile de couches Transformer utilise l’attention pour déterminer comment chaque jeton se rapporte aux autres. Le modèle produit ensuite une probabilité pour chaque jeton suivant possible, en choisit un, l’ajoute au texte et recommence, un jeton à la fois, jusqu’à ce que la réponse soit complète.

Quand vous appuyez sur Entrée dans ChatGPT, la réponse semble arriver d’un seul coup, comme un acte de compréhension unique. En dessous, c’est une boucle qui tourne de nombreuses fois par seconde : lire tout ce qui précède, prédire le prochain petit morceau de texte, l’ajouter, et recommencer. Les mots qui apparaissent l’un après l’autre à votre écran donnent une image assez fidèle de cette boucle.

Les étapes ci-dessous décrivent la recette générale que suivent les modèles de type GPT. Les tailles et les réglages exacts des modèles derrière ChatGPT diffèrent des versions publiées dans la recherche, mais les étapes sont les mêmes.

Étape 1 : le prompt devient des jetons

Un modèle de langage ne lit ni des lettres ni des mots entiers. Il lit des jetons : des morceaux de texte qui peuvent être un mot court entier, une partie d’un mot plus long, une espace suivie d’un mot, ou un signe de ponctuation. La règle approximative d’OpenAI pour l’anglais est qu’un jeton fait environ quatre caractères, soit à peu près les trois quarts d’un mot. D’autres langues ont souvent besoin de plus de jetons pour la même quantité de texte.

Chaque jeton a un numéro d’identification dans le vocabulaire du modèle, alors après cette étape, votre phrase est une liste de nombres entiers. ChatGPT inclut aussi les échanges précédents de la conversation et les éventuelles consignes cachées, ce qui explique pourquoi les longues conversations finissent par manquer d’espace : tout doit tenir dans la fenêtre de contexte du modèle, mesurée en jetons.

Étape 2 : les jetons deviennent des plongements

Le numéro d’un jeton, à lui seul, n’est qu’une étiquette. Le modèle cherche chaque numéro dans une grande table et le remplace par un plongement (embedding), une longue liste de nombres apprise pendant l’entraînement. Les jetons utilisés de façon semblable finissent avec des listes semblables, de sorte que « chat » et « chaton » sont plus proches l’un de l’autre que « chat » et « facture ».

Le modèle doit aussi connaître l’ordre des mots. La conception originale du Transformer ajoute une information de position à chaque plongement, de sorte que « le chien mord l’homme » et « l’homme mord le chien » paraissent différents aux couches qui suivent.

Étape 3 : les couches d’attention construisent le contexte

Ensuite, les plongements traversent une pile de couches identiques. Dans chacune, l’attention permet à chaque jeton de recueillir de l’information auprès des jetons qui le précèdent. Techniquement, chaque jeton produit une requête (ce qu’il cherche), et chaque jeton offre une clé (ce qu’il contient) et une valeur (l’information qu’il transmet). La correspondance entre une requête et chaque clé détermine quelle part de chaque valeur est transmise. Plusieurs de ces « têtes » d’attention fonctionnent côte à côte, chacune libre de suivre un type de relation différent.

Après l’attention, un petit réseau à propagation avant traite les nombres de chaque jeton séparément. Couche après couche, les nombres d’un jeton passent de la description du jeton lui-même à la description de son sens dans cette phrase précise.

Étape 4 : prédire, choisir, recommencer

Au sommet de la pile, le modèle transforme les nombres du dernier jeton en un score pour chaque jeton de son vocabulaire, puis convertit ces scores en probabilités. Un jeton est choisi, ajouté au texte, et tout le processus recommence avec la séquence légèrement plus longue.

La façon de faire ce choix compte. Un réglage appelé température détermine à quelle fréquence le modèle choisit des jetons moins probables. À 0, il prend presque toujours le premier choix, ce qui convient aux tâches factuelles; des valeurs plus élevées donnent des formulations plus variées et plus créatives. Les conseils d’OpenAI ajoutent une mise en garde utile : le hasard et la véracité sont deux choses différentes.

Enfin, les numéros des jetons choisis sont reconvertis en texte, et vous voyez la réponse.

Un exemple concret

Prenons le court prompt Write a haiku about rain. Le découpage en jetons et les probabilités ci-dessous sont illustratifs, simplifiés pour montrer l’idée; un vrai segmenteur et un vrai modèle donneront d’autres valeurs.

ÉtapeCe qui se passe (illustratif)
JetonsWrite · a · ha · iku · about · rain · . (7 jetons)
NumérosChaque jeton devient un nombre, comme 8144, 264, 6520…
PlongementsChaque numéro devient une liste de milliers de nombres, plus la position
Attention rain porte une forte attention à ha et iku, alors le modèle « sait » qu’on veut un poème
Scores du jeton suivantSoft 18 %, Gray 12 %, Drops 9 %, Silver 6 %…
ChoixAvec une part de hasard, Soft est choisi et ajouté
RecommencerLa boucle repart sur 8 jetons, puis 9, jusqu’à la fin du haïku

À essayer : posez à ChatGPT le même prompt créatif trois fois, dans de nouvelles conversations, et comparez les premiers mots de chaque réponse. Posez ensuite une question factuelle trois fois. Les réponses créatives varient habituellement davantage : c’est l’étape d’échantillonnage à l’œuvre.

Quelle est la place des jetons, des plongements et de l’attention?

Les jetons sont les points d’entrée et de sortie. Ils déterminent comment votre texte est découpé à l’entrée, comment la réponse est assemblée à la sortie, et ce qui tient dans une conversation. Ils expliquent aussi certains comportements étranges : un modèle peut trébucher quand il compte les lettres d’un mot parce qu’il ne voit jamais les lettres une à une, seulement des morceaux.

Les plongements sont la langue de travail du modèle. Chaque jeton est représenté par des nombres, et toute la « réflexion » dans les couches est de l’arithmétique sur ces nombres. Quand on dit qu’un modèle a appris le sens, on décrit des régularités dans ces listes apprises.

L’attention est l’étape qui apporte le contexte à chaque jeton. C’est elle qui permet au modèle de relier un pronom au bon nom plusieurs phrases plus tôt, ou de garder en vue un format demandé pendant qu’il écrit. L’article de 2017 qui a présenté le Transformer a montré que l’attention seule, sans les anciennes conceptions qui traitaient le texte pas à pas, pouvait bien gérer la langue et s’entraîner efficacement en parallèle. Chaque réponse que vous obtenez de ChatGPT passe par cette même idée, une fois pour chaque jeton qu’il écrit.

Sources

  1. What are tokens and how to count them? — OpenAI Help Center, 21 mars 2022
  2. Attention Is All You Need — Vaswani et al., Google Brain / Google Research (arXiv), 12 juin 2017
  3. Best practices for prompt engineering with OpenAI API — OpenAI Help Center

Recevez gratuitement le Guide de l’intelligence artificielle

Abonnez-vous à l’infolettre hebdomadaire et recevez le guide gratuit : ce qui a changé en IA cette semaine, une leçon, un prompt à essayer. Désabonnement en un clic.

Ce que nous faisons de votre adresse

Retour en haut

Affichage

Vos choix sont enregistrés dans ce navigateur seulement. Aucune donnée n’est transmise.

Taille du texte
100 %
Couleurs
Lecture
Autres réglages
Déclaration d’accessibilité