Transcription de la conférence d'Andrej Karpathy « Introduction aux grands modèles de langage » Traduit en français par Bertrand Formet pour uneIAparjour.fr, avec l'aide de Claude (Anthropic). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Bonjour à tous. Je voulais faire cette vidéo depuis un moment — c'est une introduction complète, accessible à tous, aux grands modèles de langage comme ChatGPT. Ce que j'espère accomplir ici, c'est vous donner des modèles mentaux pour comprendre ce qu'est cet outil. Il est évidemment magique et étonnant à certains égards, vraiment très bon dans certaines choses, moins bon dans d'autres, et il y a aussi beaucoup d'aspérités dont il faut être conscient. Alors, qu'y a-t-il derrière cette zone de texte ? On peut y mettre n'importe quoi et appuyer sur Entrée, mais qu'est-ce qu'on devrait y mettre ? Comment ces mots sont-ils générés en retour ? Comment ça marche ? Et à quoi parle-t-on exactement ? J'espère aborder tous ces sujets dans cette vidéo. Nous allons parcourir l'ensemble du pipeline de construction de ces systèmes, mais je vais garder le tout accessible à un public général. Voyons d'abord comment on construit quelque chose comme ChatGPT, et en chemin, je parlerai aussi de certaines implications cognitives et psychologiques de ces outils. Très bien, construisons ChatGPT. Il y aura plusieurs étapes enchaînées séquentiellement. La première s'appelle la phase de pré-entraînement, et la première étape de cette phase consiste à télécharger et traiter Internet. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ÉTAPE 1 : LA COLLECTE DES DONNÉES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Pour avoir une idée de ce à quoi ça ressemble, je recommande de regarder cette URL. Une entreprise appelée Hugging Face a collecté, créé et curé un jeu de données appelé FineWeb. Ils entrent dans beaucoup de détails sur ce billet de blog pour expliquer comment ils ont construit ce jeu de données. Tous les grands fournisseurs de LLM — OpenAI, Anthropic, Google, etc. — disposent en interne d'un équivalent de FineWeb. Qu'est-ce qu'on cherche à accomplir ici ? On veut une énorme quantité de texte provenant de sources publiques sur Internet. On veut une grande quantité de documents de très haute qualité, et on veut aussi une grande diversité de documents, parce qu'on veut intégrer beaucoup de connaissances dans ces modèles. Donc : grande diversité de documents de haute qualité, en très grand nombre. Y parvenir est assez complexe et, comme vous pouvez le voir, nécessite plusieurs étapes pour être bien fait. Pour donner une idée des volumes : le jeu de données FineWeb, assez représentatif d'une application en production, ne représente finalement qu'environ 44 téraoctets d'espace disque. On peut trouver facilement une clé USB d'un téraoctet, et ça pourrait presque tenir sur un seul disque dur aujourd'hui. Ce n'est pas une quantité astronomique de données au final, même si Internet est immense — on travaille avec du texte et on filtre agressivement, ce qui aboutit à environ 44 téraoctets dans cet exemple. Le point de départ de beaucoup de ces efforts, et la source qui contribue la majorité des données, c'est Common Crawl — une organisation qui parcourt Internet depuis 2007. En 2024, Common Crawl avait indexé 2,7 milliards de pages web. Leurs robots parcourent Internet, partent de quelques pages de départ, suivent tous les liens, continuent à suivre les liens, et indexent toutes les informations au fil du temps. C'est généralement le point de départ de beaucoup de ces efforts. Ces données Common Crawl sont assez brutes et sont filtrées de nombreuses façons : 1. FILTRAGE DES URL. Il existe des listes noires de domaines indésirables : sites malveillants, spam, marketing, contenu raciste, sites pour adultes, etc. Des domaines entiers sont éliminés à ce stade. 2. EXTRACTION DU TEXTE. Ces pages web, ce sont des fichiers HTML bruts. Quand on inspecte une page, on voit tout le balisage, les listes, le CSS, etc. — presque du code informatique pour ces pages web. Mais ce qu'on veut, c'est juste le texte de la page, sans la navigation et le reste. Beaucoup de filtrage et d'heuristiques sont nécessaires pour n'extraire que le contenu pertinent. 3. FILTRAGE LINGUISTIQUE. FineWeb, par exemple, utilise un classificateur de langue pour estimer la langue de chaque page, et ne conserve que les pages avec plus de 65 % d'anglais. C'est un choix de conception — les différentes entreprises décident de la proportion des différentes langues à inclure. Si on filtre tout l'espagnol, le modèle sera mauvais en espagnol. FineWeb est assez centré sur l'anglais. 4. DÉDUPLICATION et autres étapes de filtrage. 5. SUPPRESSION DES DCP (données à caractère personnel) : adresses, numéros de sécurité sociale, etc. On tente de détecter et filtrer ces informations. On finit avec, par exemple, le jeu de données FineWeb. Quand on clique dessus, on voit des exemples concrets : un article sur des tornades en 2012, un article médical sur les glandes surrénales... Pensez à ça comme des pages web filtrées pour n'en garder que le texte. On a maintenant 44 téraoctets de texte brut d'Internet — c'est le point de départ de l'étape suivante. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ÉTAPE 2 : LA TOKENISATION ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Avant de brancher du texte dans des réseaux de neurones, il faut décider comment représenter ce texte et comment le lui faire ingérer. Notre technologie s'attend à une séquence unidimensionnelle de symboles, avec un ensemble fini de symboles possibles. Il faut donc décider quels sont les symboles, puis représenter nos données comme une séquence unidimensionnelle de ces symboles. Bien sûr, il y a une représentation sous-jacente. Si on encode ce texte en UTF-8, on obtient les bits bruts — des zéros et des uns. C'est une représentation valide : deux symboles possibles, séquence très longue. Mais en pratique, cette longueur de séquence est une ressource précieuse dans notre réseau de neurones, et on ne veut pas de séquences extrêmement longues avec seulement deux symboles. On préfère faire un compromis : plus de symboles, séquences plus courtes. Une première façon naïve de compresser : regrouper 8 bits consécutifs en un octet. Avec 8 bits, il y a 256 combinaisons possibles — donc 256 symboles (0 à 255). La séquence est 8 fois plus courte. Pensez à ces nombres non pas comme des chiffres, mais comme des identifiants uniques — presque comme des emojis uniques. Mais en production, pour les modèles à l'état de l'art, on va encore plus loin. On fait tourner l'algorithme de Byte Pair Encoding (BPE). Le principe : on cherche des paires d'octets consécutifs très fréquentes. Par exemple, si la séquence 116 suivi de 32 est très fréquente, on crée un nouveau symbole avec l'ID 256 et on remplace chaque occurrence de cette paire. On répète cet algorithme autant de fois que souhaité — à chaque fois, on réduit la longueur et on agrandit le vocabulaire. En pratique, une bonne taille de vocabulaire est d'environ 100 000 symboles. GPT-4 utilise exactement 100 277 symboles. Ce processus — convertir du texte brut en ces symboles appelés tokens — s'appelle la tokenisation. Pour explorer les représentations en tokens, j'aime utiliser le site Tiktokenizer. En sélectionnant le tokeniseur de base de GPT-4 (cl100k_base) et en entrant « Hello world », on obtient exactement deux tokens : « Hello » (ID 15339) et « world » avec espace (ID 11917). La tokenisation est sensible à la casse, aux espaces, etc. À la fin, un exemple de texte du jeu de données FineWeb sera représenté comme une séquence de tokens. FineWeb représente environ 15 000 milliards de tokens. Ces nombres ne veulent rien dire en eux-mêmes — ce sont juste des identifiants uniques. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ÉTAPE 3 : L'ENTRAÎNEMENT DU RÉSEAU DE NEURONES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ C'est là que se passe l'essentiel du travail computationnel. On veut modéliser les relations statistiques entre les tokens dans la séquence. On prend des fenêtres de tokens depuis les données, de longueur variable — en pratique jusqu'à 8 000 tokens — et on essaie de prédire le token suivant. Ces quatre tokens constituent le contexte, qui est fourni en entrée au réseau de neurones. En sortie, le réseau produit une prédiction de ce qui vient ensuite. Comme le vocabulaire comporte 100 277 tokens possibles, le réseau produit exactement autant de nombres — les probabilités de chaque token en tant que prochain de la séquence. Au départ, le réseau est initialisé aléatoirement, donc ses prédictions sont aléatoires. Mais on sait ce qui vient réellement ensuite dans nos données — c'est l'étiquette. On dispose d'une méthode mathématique pour calculer comment ajuster le réseau afin que la bonne réponse ait une probabilité légèrement plus élevée. Ce processus se répète en parallèle sur tous les tokens du jeu de données — c'est l'entraînement. Pensez aux paramètres comme des boutons sur une table de mixage. En les ajustant, on obtient des prédictions différentes pour chaque séquence de tokens en entrée. Entraîner un réseau de neurones, c'est découvrir un réglage de ces paramètres cohérent avec les statistiques du jeu de données d'entraînement. L'ARCHITECTURE TRANSFORMER Le réseau de neurones utilisé en production s'appelle le Transformer. Les inputs — des séquences de tokens — sont d'abord intégrés dans ce qu'on appelle des embeddings (représentations distribuées). Chaque token possible a un vecteur qui le représente à l'intérieur du réseau. Ces valeurs circulent ensuite à travers le diagramme, avec des normalisations de couches, des multiplications matricielles, des softmax, des blocs d'attention, des blocs perceptrons multicouches (MLP), etc. Ce sont individuellement des expressions mathématiques simples, mais leur combinaison produit quelque chose de remarquable. Je ne vais pas entrer dans les détails mathématiques précis — ce n'est pas le plus important. Ce qui compte, c'est de comprendre que c'est une fonction mathématique paramétrée par un ensemble fixe de paramètres, qui transforme des entrées en sorties. On optimise ces paramètres pour que les prédictions correspondent aux patterns du jeu de données d'entraînement. UN EXEMPLE CONCRET : GPT-2 GPT-2, publié par OpenAI en 2019, est le premier modèle où une pile modernement reconnaissable s'est assemblée. Quelques chiffres : - 1,6 milliard de paramètres (les modèles modernes : plusieurs centaines de milliards à un billion) - Contexte maximal de 1 024 tokens (aujourd'hui : des centaines de milliers, voire un million) - Entraîné sur ~100 milliards de tokens (FineWeb en a 15 000 milliards) - Coût estimé en 2019 : ~40 000 $. Aujourd'hui : ~100 $ pour reproduire un résultat équivalent La raison principale de cette baisse de coût ? Le matériel informatique a énormément progressé — les GPU, et en particulier les H100 de Nvidia, sont parfaitement adaptés à l'entraînement de ces réseaux grâce à leur parallélisme massif. On empile 8 GPU dans un seul nœud, puis on regroupe des nœuds dans des centres de données entiers. C'est ce qui a propulsé la capitalisation boursière de Nvidia à 3 400 milliards de dollars. Concrètement, lors de l'entraînement, on surveille le « loss » — une valeur unique mesurant les performances du réseau (plus c'est bas, mieux c'est). À chaque mise à jour, on traite 1 million de tokens, et on répète ça 32 000 fois. On boit son café et on surveille que le loss diminue bien. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ÉTAPE 4 : L'INFÉRENCE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Une fois entraîné, on peut générer de nouvelles données depuis le modèle — c'est l'inférence. On part d'un token de départ, on l'envoie au réseau, qui produit une distribution de probabilités. On tire au sort (on « échantillonne ») un token selon cette distribution — les tokens à haute probabilité sont plus susceptibles d'être tirés. On ajoute ce token à la séquence, et on recommence. Ces systèmes sont stochastiques : pour le même prompt, on obtient des sorties différentes à chaque fois, parce qu'on tire au sort dans ces distributions de probabilités. On obtient des sorties statistiquement similaires aux données d'entraînement, mais pas identiques — plutôt des « remixes » inspirés par ces données. En pratique, le téléchargement d'Internet et la tokenisation sont des étapes de prétraitement effectuées une seule fois. Ensuite, on entraîne beaucoup de réseaux différents. Une fois qu'on a un ensemble de paramètres satisfaisant, on peut faire de l'inférence. Quand vous interagissez avec ChatGPT, le modèle est entraîné depuis des mois — ses paramètres sont figés — et vous ne faites que de l'inférence. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ LE MODÈLE DE BASE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Le résultat de tout ça s'appelle un modèle de base. C'est un simulateur de tokens de documents Internet. Ce n'est pas encore un assistant — il ne répond pas aux questions, il continue des séquences de tokens selon ce qu'il a vu dans ses données d'entraînement. Les modèles de base sont rarement publiés, parce qu'ils ne sont qu'une étape. Mais il y a eu quelques publications. GPT-2 (1,5 milliard de paramètres, 2019) en est un exemple. Llama 3 de Meta en est un autre — 405 milliards de paramètres, entraîné sur 15 000 milliards de tokens. Que publie-t-on exactement lors d'une publication de modèle ? Deux choses : le code Python décrivant le réseau (quelques centaines de lignes), et les paramètres — des milliards de nombres représentant le réglage optimal de tous les boutons. EXPÉRIMENTER AVEC UN MODÈLE DE BASE Pour interagir avec le modèle de base Llama 3.1 405B, j'aime utiliser Hyperbolic. Ce modèle ne répond pas aux questions — il continue la séquence de tokens. Si on lui demande « Combien font 2+2 ? », il ne va pas répondre « 4 » : il va continuer le texte de façon stochastique, potentiellement partir dans toutes les directions. Quelques comportements remarquables : MÉMORISATION. Si on colle la première phrase de l'article Wikipédia sur le zèbre, le modèle va réciter la suite presque verbatim — il a probablement vu cette page plusieurs fois et l'a mémorisée dans ses paramètres. C'est ce qu'on appelle la régurgitation. HALLUCINATION. Si on lui donne un prompt sur les élections 2024 (après sa coupure de connaissance), il va continuer la séquence avec sa meilleure estimation — et inventer des choses plausibles mais fausses. APPRENTISSAGE EN CONTEXTE. Même sans être un assistant, on peut utiliser des « prompts à quelques exemples ». Par exemple, 10 paires mot anglais / traduction coréenne, et le modèle comprend le pattern et traduit le 11e mot correctement. C'est ce qu'on appelle l'apprentissage en contexte — le modèle infère une tâche algorithmique depuis le pattern de son contexte. On peut même créer un assistant en structurant un prompt qui ressemble à une page web présentant une conversation entre un assistant IA et un humain. Le modèle va alors continuer dans ce rôle. Les 405 milliards de paramètres constituent une sorte de compression du web — une compression avec perte, comme un fichier zip qui approxime plutôt que stocke exactement l'information. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ LE POST-ENTRAÎNEMENT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Le modèle de base est un simulateur de tokens. Pour en faire un assistant, il faut une deuxième grande phase : le post-entraînement. C'est beaucoup moins coûteux computationnellement, mais tout aussi crucial. Le pré-entraînement peut prendre environ 3 mois sur des milliers de machines. Le post-entraînement dure plutôt 3 heures — parce que le jeu de données de conversations est bien plus petit que le corpus d'Internet. Mais algorithmiquement, c'est la même chose : on continue d'ajuster le modèle, on change juste les données. 1. L'AFFINAGE SUPERVISÉ (SFT — Supervised Fine-Tuning) Des annotateurs humains créent un jeu de données de conversations idéales, en suivant des instructions d'annotation détaillées rédigées par l'entreprise (être utile, honnête, inoffensif). Ces instructions font généralement des centaines de pages. Les annotateurs rédigent les prompts et les réponses idéales. Un exemple de conversation d'entraînement : Humain : Combien font 2+2 ? Assistant : 2+2 = 4. Puis-je vous aider avec autre chose ? Humain : Et si c'était une multiplication ? Assistant : 2×2 = 4 aussi — même résultat ! Ces conversations doivent être encodées en séquences de tokens. Un protocole spécifique est utilisé. Pour GPT-4, ça ressemble à : <|im_start|>user<|im_sep|> Combien font 2+2 ? <|im_end|> <|im_start|>assistant<|im_sep|> 2+2 = 4. <|im_end|> Les tokens spéciaux comme <|im_start|> sont de nouveaux tokens introduits dans la phase de post-entraînement. À qui parle-t-on vraiment dans ChatGPT ? À une simulation statistique d'un annotateur humain embauché par OpenAI, suivant les instructions d'annotation. Ce n'est pas une IA magique — c'est une imitation d'une personne qualifiée qui aurait passé 2 heures à rédiger la réponse idéale. Les jeux de données SFT modernes (comme UltraChat) comportent des millions de conversations, en grande partie synthétiques (générées par LLM, avec révision humaine). 2. LE RLHF (Reinforcement Learning from Human Feedback) Des évaluateurs humains classent plusieurs réponses du modèle par ordre de qualité. Un modèle de récompense — un réseau de neurones séparé — apprend à simuler ces jugements humains. On fait ensuite de l'apprentissage par renforcement contre ce simulateur. L'avantage : on n'a pas besoin de demander aux humains de générer des réponses idéales (tâche difficile), juste de classer des réponses existantes (tâche beaucoup plus facile). Le RLHF améliore empiriquement les modèles. L'inconvénient : le RL est extrêmement bon à trouver des failles dans le modèle de récompense. Si on le fait tourner trop longtemps, le modèle va apprendre à « tricher » — produire des réponses qui obtiennent de hauts scores du modèle de récompense mais sont en réalité aberrantes. Le RLHF est utile pour quelques centaines de mises à jour, puis il faut s'arrêter. Ce n'est pas du RL magique comme ce qu'on verra ensuite — c'est plutôt un léger affinage. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ LA PSYCHOLOGIE DES LLM ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ LES HALLUCINATIONS Les modèles inventent des informations avec confiance. Pourquoi ? Parce que dans les données d'entraînement, les questions « Qui est X ? » sont toujours suivies de réponses confiantes — même pour des personnes fictives. Le modèle ne sait pas dire « je ne sais pas » parce que ce n'est pas ce que son jeu d'entraînement lui a appris à faire. Remède : ajouter au jeu de données des exemples où la bonne réponse est « je ne sais pas ». Comment savoir ce que le modèle connaît ou non ? On l'interroge empiriquement. Par exemple : - On prend un document du jeu d'entraînement - On génère des questions sur ce document avec un LLM - On interroge notre modèle sur ces questions - Si le modèle donne des réponses incorrectes (détectables automatiquement par comparaison), c'est qu'il ne sait pas - On ajoute une conversation dans le jeu d'entraînement où, pour cette question, la bonne réponse est « je ne sais pas » Quelques exemples de ce traitement font une grande différence — le modèle apprend à connecter son « neurone d'incertitude » interne à une expression verbale de l'incertitude. LES DEUX TYPES DE MÉMOIRE La connaissance dans les paramètres du réseau est un souvenir vague — comme quelque chose qu'on a lu il y a un mois. La connaissance dans les tokens formant la fenêtre de contexte est la mémoire de travail — directement accessible, précise. Pour rappeler des informations spécifiques, il vaut toujours mieux les coller dans le contexte plutôt que compter sur la « mémoire » du modèle. L'UTILISATION D'OUTILS Les modèles peuvent émettre des tokens spéciaux qui déclenchent des outils externes. Par exemple : requête de recherche Le programme qui génère les tokens voit ce token, met la génération en pause, ouvre une session avec Bing ou Google, colle la requête, récupère les résultats, et les insère dans la fenêtre de contexte. Le modèle peut alors générer une réponse basée sur ces résultats. La fenêtre de contexte = mémoire de travail. Ce qui est dans le contexte est directement accessible au modèle, comme quelque chose qu'on vient de lire il y a quelques secondes. PAS DE SELF PERSISTANT Ce système n'est pas une personne. Il n'a pas d'existence persistante — il démarre, traite des tokens, s'arrête, pour chaque utilisateur, chaque conversation. Il n'a pas de sense de soi stable. Quand il dit « Je suis ChatGPT, créé par OpenAI », c'est son meilleure estimation statistique basée sur les données d'entraînement — pas une vraie connaissance de soi. On peut le programmer explicitement avec des réponses codées en dur sur son identité. LES TOKENS ONT BESOIN DE PLACE POUR RÉFLÉCHIR À chaque token, il n'y a qu'une quantité finie et plutôt faible de calcul disponible. On ne peut pas demander trop de calcul dans un seul token. Exemple concret. Pour résoudre « Emily achète 3 pommes et 2 oranges, chaque orange coûte 2 €, le total est 13 €, quel est le prix d'une pomme ? » : Mauvaise réponse pour un entraînement : « La réponse est 3 € » → Tout le calcul doit tenir dans un seul token. Ça ne marche pas. Bonne réponse pour un entraînement : « Les oranges coûtent 2×2 = 4 €. Donc les pommes coûtent 13−4 = 9 €. Il y a 3 pommes, donc chacune coûte 9÷3 = 3 €. » → Le calcul est réparti sur plusieurs tokens, chaque étape est simple. Si on demande au modèle de répondre en un seul token sur un problème complexe, il se trompe. Si on lui donne de l'espace pour réfléchir, il réussit. C'est pourquoi ChatGPT définit toujours des variables intermédiaires et décompose les problèmes — ces étapes ne sont pas pour vous, elles sont pour le modèle. On peut aussi demander au modèle d'utiliser du code plutôt que de faire l'arithmétique mentalement — le code est exécuté par un interpréteur Python, ce qui est bien plus fiable. AUTRES LACUNES - Mauvais en comptage : même logique, demander combien de points sont affichés dans une seule passe est trop exigeant. - Mauvais en épellation et tâches au niveau des caractères : le modèle voit des tokens, pas des caractères. « Ubiquitous » est 3 tokens — le modèle ne « voit » pas les lettres individuelles. - Le fameux « combien de R dans strawberry ? » : longtemps, les modèles répondaient 2 au lieu de 3. Combinaison de la difficulté de voir les caractères et de compter. - 9.11 vs 9.9 : certains modèles se trompent encore — probablement parce que dans les données d'entraînement, 9.11 ressemble à une référence biblique (verset) où 9:11 vient bien après 9:9. La leçon : ces modèles sont des systèmes stochastiques — magiques sur beaucoup de sujets, mais avec des lacunes imprévisibles. Ne les traitez pas comme infaillibles. Vérifiez leur travail. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ L'APPRENTISSAGE PAR RENFORCEMENT (RL) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ L'apprentissage par renforcement est la troisième grande étape, encore sous la catégorie du post-entraînement. Analogie avec la scolarité : - Lire les exposés et le texte des manuels → Pré-entraînement (acquisition de connaissances) - Lire les solutions d'exemples travaillés par des experts → SFT (imitation des experts) - Faire les exercices pratiques → RL (pratiquer et découvrir par soi-même) LA DIFFÉRENCE FONDAMENTALE AVEC LE SFT Pour le SFT, un annotateur humain doit écrire la « bonne réponse ». Mais pour un problème de mathématiques, quelle solution est la meilleure pour le modèle ? On ne sait pas. Notre façon de penser n'est pas celle du modèle. Ce qui est facile pour nous peut être trop complexe à envisager en un seul token pour le modèle, et vice-versa. On n'est pas bien placés pour créer ces séquences idéales. LA SOLUTION : LAISSER LE MODÈLE EXPLORER Principe du RL : 1. Donner un prompt 2. Générer de nombreuses solutions différentes (le modèle est stochastique — à chaque fois on obtient quelque chose de différent) 3. Évaluer quelles solutions aboutissent à la bonne réponse 4. Encourager les solutions qui ont fonctionné — mettre à jour le modèle pour qu'il soit plus susceptible de suivre ces chemins à l'avenir On peut générer des milliers, voire des millions de solutions pour un même prompt. C'est un processus d'essais et erreurs à grande échelle. L'ÉMERGENCE DES CHAÎNES DE RAISONNEMENT Ce qui est fascinant dans le papier DeepSeek R1 (qui a relancé l'intérêt public pour le RL appliqué aux LLM) : dans le processus d'optimisation, les modèles apprennent spontanément à produire des raisonnements plus longs. Ils se disent : « Attendez... laissez-moi réévaluer ça étape par étape. » « Essayons depuis une autre perspective. » « Vérifions mon calcul. » « Est-ce qu'il y a une autre façon d'aborder ce problème ? » Ces comportements émergent naturellement dans l'optimisation — personne n'a codé ça. Le modèle découvre que ça améliore sa précision. Ce sont des stratégies cognitives découvertes par le RL, pas enseignées par un humain. Comparaison avec AlphaGo : AlphaGo a appris à jouer au jeu de Go en jouant contre lui-même via RL. En SFT seul, on peut imiter les experts humains mais jamais les surpasser. En RL, on peut les dépasser — le système découvre des stratégies que les humains ne connaissent pas, comme le fameux « coup 37 » d'AlphaGo (probabilité 1/10 000 pour un joueur humain, mais brillant en rétrospective). Les modèles de raisonnement (DeepSeek R1, GPT-o1, GPT-o3) sont des modèles entraînés avec RL. Les modèles comme GPT-4o sont principalement des modèles SFT avec un peu de RLHF — pas du « vrai RL » au sens magique. LES DOMAINES VÉRIFIABLES VS NON VÉRIFIABLES Le RL fonctionne parfaitement dans les domaines vérifiables : mathématiques, code — on peut vérifier automatiquement si la réponse est correcte. On peut faire tourner le RL indéfiniment et continuer à progresser. Dans les domaines non vérifiables (écriture créative, humour, résumé...), c'est plus compliqué — d'où le RLHF, qui utilise un modèle de récompense entraîné à simuler les préférences humaines. Mais ce modèle est gameable, donc on ne peut pas faire tourner le RLHF indéfiniment. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ET APRÈS : LES CAPACITÉS FUTURES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. MULTIMODALITÉ Très bientôt, les LLM géreront nativement l'audio, les images et le texte. En réalité, ce n'est pas fondamentalement différent : on peut tokeniser l'audio (tranches de spectrogramme) et les images (patches), et les ajouter au contexte. Un modèle unique gèrera tout simultanément. 2. LES AGENTS Actuellement, on confie des tâches individuelles aux modèles sur un plateau d'argent. Bientôt, des agents exécuteront des tâches autonomes sur de longues durées, rapporteront des progrès, et corrigeront leurs erreurs — avec supervision humaine. Le ratio humain/agent dans le numérique sera analogue au ratio humain/robot dans les usines. 3. L'UTILISATION DE L'ORDINATEUR Des modèles comme l'Operator de ChatGPT peuvent prendre des actions en votre nom — clavier, souris, navigation. 4. L'ENTRAÎNEMENT À L'INFÉRENCE Actuellement, les paramètres sont figés après l'entraînement. À l'avenir, les modèles pourraient apprendre de ce qu'ils font en temps réel — un peu comme nous apprenons pendant notre sommeil. La fenêtre de contexte est une ressource limitée ; de nouvelles idées seront nécessaires pour les tâches très longues. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ OÙ TROUVER CES MODÈLES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - Modèles propriétaires : chat.openai.com (OpenAI), gemini.google.com (Google) - Modèles open weights : together.ai (DeepSeek, Llama et autres) - Modèles de base : hyperbolic.xyz (Llama 3.1 405B base) - En local : LM Studio (modèles distillés, faible précision, sur MacBook) - Classement : LMSYS Chatbot Arena (comparaisons humaines) - Veille : AI News (newsletter), X/Twitter ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SYNTHÈSE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Quand vous allez sur ChatGPT et entrez une requête : 1. Votre texte est découpé en tokens 2. Ces tokens sont insérés dans le format de protocole de conversation 3. Le tout devient une séquence unidimensionnelle de tokens 4. Le modèle continue cette séquence — un token à la fois 5. Ce que vous recevez est la simulation statistique d'un annotateur humain d'OpenAI, suivant les instructions d'annotation Pour les modèles de raisonnement (o1, o3, DeepSeek R1) : ce n'est plus seulement une imitation d'humain — c'est quelque chose de nouveau, émergent du processus de RL. Ces modèles ont développé des stratégies cognitives que les humains n'auraient pas pu coder explicitement. CE QU'IL FAUT RETENIR - Ces modèles sont des outils extraordinaires qui accélèrent énormément le travail - Mais ce sont des systèmes stochastiques avec des lacunes imprévisibles - Ils hallucinnt encore - Ils ont un modèle de capacités « gruyère » : brillants sur beaucoup de sujets, des trous aléatoires sur d'autres - Utilisez-les comme outils, vérifiez leur travail, soyez responsables du résultat final - Utilisez-les pour l'inspiration, le premier jet, les questions — mais vérifiez et validez toujours Et chaque mot généré est un tirage au sort probabiliste — un tirage biaisé, à l'échelle de 100 000 possibilités, des milliards de fois. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Fin de la transcription traduite Source originale : Andrej Karpathy, « Intro to Large Language Models » https://www.youtube.com/watch?v=zjkBMFhNj_g Traduction : Bertrand Formet pour uneIAparjour.fr, avec Claude (Anthropic) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━