Vous avez utilisé ChatGPT. Peut-être tous les jours. Mais comment ça marche, vraiment ?
La réponse honnête implique beaucoup de calcul matriciel, quelques astuces d’ingénierie sorties en 2017, et un processus d’entraînement qui repose sur des humains qui évaluent des réponses. La technologie est remarquable. Elle est aussi plus mécanique que la plupart des gens ne l’imaginent, ce qui rend à la fois ses capacités et ses ratés plus faciles à comprendre une fois qu’on voit la machinerie.
Ouvrons le capot.
Le socle : prédire le mot suivant
Au cœur du système, ChatGPT fait une seule chose. Il prédit le prochain mot d’une séquence de texte, puis utilise cette prédiction pour générer le mot d’après, puis celui d’après, jusqu’à atteindre un point d’arrêt. C’est tout. Chaque essai qu’il écrit, chaque extrait de code qu’il produit, chaque conversation qu’il tient sort de cette unique opération, répétée des milliards de fois.
Comme l’expliquait l’utilisateur akelly sur Hacker News en décrivant l’architecture de ChatGPT : “Start with GPT-3, which predicts the next word in some text and is trained on all the text on the internet.” Voilà le socle. Tout le reste se construit au-dessus de la prédiction du mot suivant.
Le modèle ne « pense » pas au sens humain du terme. Il calcule des distributions de probabilité sur son vocabulaire de jetons (environ 50 000 fragments de mots) et échantillonne à partir de ces distributions. Quand vous lui posez une question, il ne récupère pas des faits stockés dans une base de données. Il génère du texte qui suit statistiquement votre invite, à partir des motifs qu’il a appris pendant l’entraînement.
Ça explique à la fois ses forces et ses modes d’échec bizarres. Il écrit avec fluidité parce qu’il a vu des milliers de milliards de mots organisés en séquences fluides. Il peut halluciner des informations fausses parce qu’un texte statistiquement plausible n’est pas la même chose qu’un texte vrai.
Les transformers : l’architecture qui a tout changé
ChatGPT s’appuie sur une architecture de réseau neuronal appelée transformer. Des chercheurs de Google l’ont introduite dans un article de 2017 intitulé “Attention Is All You Need.” Le titre fait référence à une chanson des Beatles, mais l’article a transformé le traitement automatique du langage plus que n’importe quelle publication unique dans l’histoire du domaine.
Avant les transformers, les modèles de langue traitaient le texte de façon séquentielle. Mot par mot. Ça créait un goulot d’étranglement. L’information du début d’un long passage s’estompait à mesure que le modèle traitait la suite. Les approches plus anciennes à base de réseaux de neurones récurrents pouvaient, techniquement, gérer de longues séquences, mais en pratique elles peinaient.
Les transformers ont réglé ça grâce à un mécanisme appelé attention.
L’attention : l’innovation clé
Qu’est-ce que l’attention ? À un niveau simplifié, elle permet à chaque mot d’une séquence de regarder tous les autres mots et de décider lesquels comptent le plus pour comprendre son sens.
Considérez la phrase : “The cat sat on the mat because it was tired.” À quoi renvoie “it” ? Les humains savent instantanément que “it” renvoie au chat, pas au tapis. Mais comment un ordinateur pourrait-il le déduire ?
Avec l’attention, le modèle calcule des scores entre “it” et tous les autres mots de la phrase. Le mot “cat” obtient un score d’attention élevé parce que, sur les milliards d’exemples vus pendant l’entraînement, les pronoms comme “it” dans des positions similaires renvoyaient le plus souvent à des noms animés comme “cat” plutôt qu’à des noms inanimés comme “mat.”
Dans une discussion Hacker News sur l’architecture de GPT, l’utilisateur yunwal décrivait le mécanisme requête-clé comme ça : “Q (Query) is like a search query. K (Key) is like a set of tags or attributes of each word.” Chaque mot pose une question (la requête) et chaque mot contient des informations descriptives (la clé). Le mécanisme d’attention associe les requêtes aux clés pertinentes, ce qui permet à des mots très éloignés dans une phrase d’influencer directement la représentation les uns des autres.
Ça se produit à travers plusieurs “têtes d’attention” en parallèle, avec différentes têtes qui apprennent à suivre différents types de relations : structure syntaxique, sens sémantique, coréférence, et des motifs que les humains n’ont pas nommés.
L’empilement des transformers
Un transformer complet n’est pas juste une couche d’attention. Les modèles GPT empilent de nombreux blocs transformer les uns sur les autres. GPT-3 a 96 couches. Chaque couche affine la représentation du texte d’entrée, en construisant une compréhension de plus en plus abstraite à mesure que l’information traverse le réseau.
Qu’est-ce qui émerge de toutes ces couches et de ces calculs d’attention ? Quelque chose qui ressemble presque à de la compréhension, même si c’est entièrement construit à partir de motifs statistiques et d’algèbre linéaire. Le modèle développe des représentations internes qui capturent étonnamment bien le sens, alors qu’on ne lui a jamais explicitement dit ce que les mots « veulent dire ».
Dans le même fil Hacker News, chronolitus (qui a écrit une explication visuelle de l’architecture GPT) observait : “After the model is trained it all really boils down to a couple of matrix multiplications!” Techniquement vrai, même si ces multiplications se font à travers des milliards de paramètres, dans des agencements soigneusement conçus qui ont demandé des années de recherche.
Entraînement : d’où viennent les connaissances
Comment ChatGPT apprend-il à faire ce qu’il fait ? En deux phases distinctes, chacune essentielle au produit final.
Phase 1 : pré-entraînement
D’abord, le modèle est entraîné sur des quantités massives de texte. Les données exactes d’entraînement de ChatGPT ne sont pas publiques, mais GPT-3 a été entraîné sur des centaines de milliards de mots provenant de livres, de sites web, de Wikipédia et d’autres sources textuelles. L’objectif est simple : étant donné une séquence de mots, prédire le mot suivant.
On appelle ça l’apprentissage auto-supervisé parce que le signal d’entraînement vient du texte lui-même. Aucun humain n’a besoin d’étiqueter quoi que ce soit. Le modèle lit juste des quantités énormes de texte et apprend à prédire ce qui vient ensuite.
Par ce processus, le modèle acquiert des capacités remarquables. Il apprend la grammaire. Il apprend des faits sur le monde (de façon imparfaite). Il apprend à coder parce qu’il a vu des millions de fichiers de code. Il apprend à écrire de la poésie parce qu’il a vu de la poésie. Il apprend comment les conversations s’enchaînent parce qu’il a vu des conversations.
Comme l’expliquait l’utilisateur ravi-delia dans une discussion sur le fonctionnement de ChatGPT : “In learning to predict the next token, the model has to pick up lots of world knowledge. It has seen lots of python, and in order to predict better, it has developed internal models.”
Mais le pré-entraînement, à lui seul, ne produit pas ChatGPT. Un modèle pré-entraîné est un moteur d’autocomplétion. Posez-lui une question, et il peut compléter votre texte en posant davantage de questions, ou en générant n’importe quel autre type de texte qui suit statistiquement votre entrée. Il ne répondra pas de manière fiable comme le ferait un assistant serviable.
Phase 2 : apprentissage par renforcement à partir de retours humains (RLHF)
C’est là que la sauce secrète d’OpenAI entre en jeu. Après le pré-entraînement, ChatGPT a été ajusté à l’aide de retours humains.
Le processus ressemble grosso modo à ça. D’abord, des humains écrivent des conversations d’exemple montrant comment un assistant IA idéal devrait répondre. Ces exemples apprennent au modèle le format et le style de réponses utiles.
Puis vient la partie maligne. Le modèle génère plusieurs réponses à la même invite. Des évaluateurs humains classent ces réponses de la meilleure à la pire. À partir de ces classements, OpenAI entraîne un “reward model” (modèle de récompense) séparé, qui apprend à prédire comment des humains noteraient n’importe quelle réponse.
Enfin, le modèle de langue est entraîné davantage pour produire des réponses qui obtiennent de bons scores selon le reward model. C’est l’étape d’apprentissage par renforcement : le modèle apprend à maximiser un signal de récompense dérivé des préférences humaines.
Le résultat est un modèle qui ne se contente pas de compléter du texte statistiquement. Il génère des réponses que des humains lui ont appris à rendre utiles, inoffensives et honnêtes. Dans ce même fil Hacker News, l’utilisateur hcks mentionnait : “I personally worked as a ‘human trainer’ for the fine tuning of ChatGPT. The pay was 50$ per hour.”
Des milliers d’heures de jugement humain ont servi à rendre ChatGPT conversationnel plutôt que simplement génératif.
Ce que ChatGPT sait faire (et pourquoi)
Avec cette architecture et cet entraînement, certaines capacités sont logiques.
Générer du texte fluide : Le modèle a vu des milliers de milliards de mots. Il sait à quoi ressemble un anglais fluide. Générer du texte grammatical et cohérent, c’est exactement ce pour quoi il a été optimisé.
Suivre des instructions : Le RLHF l’a spécifiquement entraîné à suivre des demandes de façon utile. Quand vous demandez une liste, il donne une liste. Quand vous demandez du code, il écrit du code. Les évaluateurs humains ont récompensé les réponses qui faisaient ce que l’utilisateur demandait.
Expliquer des concepts : Il a vu des millions d’explications sur des millions de sujets. Quand vous lui demandez d’expliquer la physique quantique, il s’appuie sur les motifs de toutes ces explications pour en générer une nouvelle, adaptée à votre question.
Écrire du code : Même principe. Il a vu énormément de code avec des commentaires expliquant ce que fait le code. Il peut générer du code qui suit ces motifs.
Traduire entre les langues : Le modèle a vu du texte dans beaucoup de langues, souvent avec des traductions parallèles. Il a appris les correspondances entre les langues à partir de ces données.
S’adapter au contexte : Le mécanisme d’attention lui permet de suivre le contexte sur des milliers de jetons. Il « se souvient » de ce que vous avez dit plus tôt dans la conversation parce que cette information influence directement ses prédictions.
Ce que ChatGPT ne peut pas faire (et pourquoi)
Les limites sont tout aussi prévisibles une fois qu’on comprend l’architecture.
Exactitude factuelle garantie : Le modèle génère du texte statistiquement probable, pas des faits vérifiés. Si une affirmation fausse mais plausible colle aux motifs statistiques, le modèle la générera. Il n’a pas de mécanisme distinct de vérification des faits. Pas de base de données de vérités vérifiées. Juste des motifs appris à partir de textes qui contenaient à la fois des informations exactes et inexactes.
Raisonnement mathématique : Les nombres ne sont que des jetons pour le modèle. Comme bagels l’a noté dans une discussion Hacker News sur l’architecture de GPT : “Numbers are just more words to the model.” Il peut reconnaître des motifs d’arithmétique simple qu’il a vus très souvent, mais des calculs nouveaux échouent fréquemment, parce que le modèle génère du texte qui ressemble à des maths correctes, sans vraiment calculer.
Mémoire cohérente à long terme : Dans une conversation, le contexte est limité par la fenêtre de contexte du modèle (le nombre maximal de jetons qu’il peut traiter d’un coup). Entre les conversations, il ne se souvient de rien, sauf si on le lui dit explicitement. Chaque conversation repart de zéro.
Accès à des informations actuelles : Les connaissances du modèle viennent de données d’entraînement avec une date de coupure. Il ne peut pas naviguer sur internet, accéder à des bases de données ou connaître des événements postérieurs à son entraînement, sauf si vous lui fournissez cette information dans l’invite.
Véritable compréhension : C’est la partie philosophique. Le modèle manipule des symboles selon des motifs statistiques appris. La question de savoir si cela constitue une « compréhension » au sens fort est débattue.
Dans un fil sur le battage médiatique autour des LLM, l’utilisateur wan23 l’a dit sans détour : “There is a lot of knowledge encoded into the model, but there’s a difference between knowing what a sunset is because you read about it on the internet vs having seen one.” Le modèle n’a jamais rien vécu. Il n’a vu que des descriptions d’expériences.
Dans le même fil, l’utilisateur Jack000 a comparé les LLM à des extraterrestres dépourvus d’expérience sensorielle, en notant qu’ils ont une reconnaissance de motifs surhumaine mais travaillent avec des informations incomplètes. Ils peuvent traiter le langage mieux que n’importe quel système avant eux, mais il leur manque l’ancrage que donne le fait d’exister réellement dans le monde.
L’échelle qui rend ça possible
Une partie de ce qui rend ChatGPT efficace, c’est l’échelle brute. GPT-3 a 175 milliards de paramètres. GPT-4 est plus grand (taille exacte non divulguée). Chaque paramètre est un nombre ajusté pendant l’entraînement. Plus de paramètres, c’est plus de capacité à stocker et à représenter des motifs.
La puissance de calcul nécessaire à l’entraînement est vertigineuse. L’entraînement de GPT-4 aurait coûté plus de 100 millions de dollars en ressources informatiques. Le modèle a vu plus de texte pendant l’entraînement qu’aucun humain ne pourrait en lire en des milliers de vies.
Cette échelle compte parce que les transformers présentent des capacités émergentes à partir d’une certaine taille. Des aptitudes qui n’existent pas dans les petits modèles apparaissent soudainement dans les grands. Le modèle ne devient pas juste progressivement meilleur aux mêmes tâches. De nouvelles capacités émergent sans avoir été explicitement entraînées.
Pourquoi ça arrive reste une question de recherche ouverte. Mais ça suggère que l’architecture a de la place pour découvrir des motifs et des capacités au-delà de ce que ses concepteurs avaient anticipé.
Le problème de l’arrêt
Une chose intrigue souvent : comment ChatGPT sait-il quand s’arrêter de générer du texte ?
Le vocabulaire du modèle inclut des jetons spéciaux. L’un d’eux représente la “fin de sortie”. Comme l’utilisateur amilios l’a expliqué dans le fil Hacker News sur ChatGPT : “It predicts a special end-output token, something analogous to ‘EOF.’” Quand le modèle prédit ce jeton comme prochain jeton le plus probable, il s’arrête.
Ça s’apprend par des exemples. Pendant l’ajustement, le modèle voit de nombreux exemples de conversations où l’assistant donne une réponse complète puis s’arrête. Il apprend à prédire le jeton de fin de sortie aux bons endroits.
Température : contrôler l’aléatoire
Quand ChatGPT génère du texte, il ne choisit pas toujours le prochain jeton le plus probable. Un paramètre appelé “temperature” contrôle la part d’aléatoire qui entre dans la sélection.
À une température de 0, le modèle choisit toujours le jeton à la probabilité la plus élevée. La sortie est déterministe et répétitive. À des températures plus élevées, des jetons moins probables ont plus de chances d’être sélectionnés. La sortie devient plus créative, mais aussi plus imprévisible.
Comme l’utilisateur doctoboggan l’a expliqué dans un fil Hacker News à propos de GPT : “At temperature of 0 the highest probability token is chosen.”
C’est pour ça que vous pouvez poser la même question deux fois à ChatGPT et obtenir deux réponses différentes. L’aléatoire est intentionnel. Il rend les conversations plus naturelles et les réponses plus variées.
Pourquoi tout ça compte
Comprendre comment ChatGPT fonctionne change la façon dont vous l’utilisez.
Si vous savez que c’est un moteur statistique de reconnaissance de motifs, vous n’attendrez pas de lui des faits fiables sur des sujets obscurs. Vous vérifierez les affirmations importantes. Vous comprendrez qu’« affirmé avec assurance » ne veut pas dire « vrai ».
Si vous savez qu’il a été entraîné sur des retours humains pour être utile, vous comprendrez pourquoi il essaie de vous faire plaisir même quand il devrait vous contredire. Le modèle de récompense a favorisé les réponses que des humains notaient haut, et les humains notaient souvent haut les réponses agréables.
Si vous savez que l’attention lui permet de suivre le contexte, vous utiliserez ce contexte efficacement. Mettez les informations importantes tôt dans de longues invites. Rappelez-lui les contraintes clés. Faites référence aux parties précédentes de la conversation.
La technologie est sincèrement impressionnante. Elle représente une avancée fondamentale dans ce que les ordinateurs peuvent faire avec le langage. Mais ce n’est pas de la magie. C’est de la multiplication de matrices à grande échelle, entraînée sur du texte humain et des retours humains, produisant des sorties qui ressemblent à une communication humaine parce que c’est ce pour quoi elle a été optimisée.
Le moment de bascule
ChatGPT n’était pas le premier grand modèle de langue. GPT-3 est sorti en 2020. Mais comme l’utilisateur herculity275 l’a observé dans un fil Hacker News sur les raisons de la popularité soudaine des LLM : “ChatGPT was the watershed moment for the tech because suddenly anyone in the world could sign up for free.”
Cette accessibilité a compté. L’utilisateur jerpint a ajouté : “Not to mention without needing expertise to deploy the thing.”
La technologie sous-jacente progressait depuis des années. Les transformers sont sortis en 2017. GPT-2 en 2019. GPT-3 en 2020. Mais il fallait des connaissances techniques pour y accéder. ChatGPT a mis la même technologie dans une fenêtre de discussion que tout le monde pouvait utiliser.
L’utilisateur xg15 a capturé pourquoi ça semblait différent des chatbots précédents : “Understanding text in the depth that ChatGPT (and GPT-3) appear to understand the prompts is something entirely different.” Les systèmes plus anciens pouvaient générer du texte fluide. Celui-ci semblait comprendre.
Une machine qui a appris à donner l’impression de penser
La question qui me revient sans cesse : qu’est-ce que ça veut dire qu’un système sans compréhension, sans expérience, sans objectifs au-delà de la prédiction de jetons, puisse produire un texte aussi cohérent ?
Le modèle a été entraîné à prédire des mots probables. Avec cet objectif simple, appliqué à une échelle énorme, il a développé quelque chose qui ressemble de façon frappante à de la compréhension. Il peut expliquer des concepts. Résoudre des problèmes. Écrire dans différents styles. Tenir des conversations qui semblent naturelles.
Mais il n’y a personne à l’intérieur. Pas d’expérience derrière les réponses. Pas de compréhension au sens où on l’entendrait. Juste des motifs statistiques appris à partir de textes écrits par des milliards d’humains qui, eux, comprennent, qui ont vécu, qui savent à quoi ressemblent vraiment des couchers de soleil.
Soit on a sous-estimé ce que l’apprentissage statistique peut accomplir. Soit on a surestimé ce que produire un langage cohérent exige.
Peut-être que la réponse n’est ni l’un ni l’autre.