Le préentraînement et l’affinage
Comment la prédiction du mot suivant transforme du texte non annoté en supervision, pourquoi l’entropie croisée n’est que l’opposé de la log-probabilité moyenne, ce que mesure vraiment la perplexité, et pourquoi un modèle qui complète le texte avec fluidité ne sait toujours pas suivre une instruction.
Prérequis : L’architecture du transformeur
À la fin de L’architecture du transformeur nous avions 124 millions de paramètres initialisés au hasard, disposés dans la bonne forme et ne prédisant rien. Passer de là à un modèle qui écrit une prose fluide, puis à un modèle qui fait ce qu’on lui dit, demande deux étapes d’entraînement distinctes, avec des données, des coûts et des finalités différents.
Cet article couvre les deux, ainsi que la mesure qui vous dit si la première fonctionne.
A. Le problème de l’annotation, et comment il se dissout
L’apprentissage supervisé a besoin d’étiquettes, et les étiquettes coûtent cher. Raschka dit explicitement que c’est la contrainte habituelle des modèles d’apprentissage automatique traditionnels et des réseaux profonds entraînés selon le paradigme supervisé conventionnel - et que l’étape de préentraînement d’un LLM y échappe entièrement.
L’échappatoire est l’apprentissage auto-supervisé, où le modèle engendre ses propres étiquettes à partir des données d’entrée. Pour la langue, l’astuce est la prédiction du mot suivant : utiliser le mot qui suit dans une phrase ou un document comme l’étiquette que le modèle est censé prédire. Raschka appelle cela une forme d’auto-étiquetage, et la conséquence est l’essentiel - puisque les étiquettes sont créées à la volée, d’immenses jeux de texte non annoté deviennent utilisables comme données d’entraînement.
Le corpus n’est alors que du texte : textes d’internet, livres, Wikipédia, articles de recherche, de l’ordre de milliers de milliards de mots.
Le remarquable, c’est que cela fonctionne du tout. Raschka note qu’il est réellement frappant que les modèles GPT acquièrent les capacités qu’ils acquièrent à partir d’une tâche aussi simple que prédire le mot suivant. Rien dans l’objectif ne mentionne la grammaire, les faits ou le raisonnement. Ceux-ci se révèlent instrumentalement utiles pour deviner ce qui vient ensuite, ils sont donc appris comme effet de bord.
Chaque position fournit un signal d’entraînement d’un coup. Comme l’attention est masquée causalement, une seule passe avant sur une séquence de longueur 1 024 produit une prédiction aux 1 024 positions, chacune supervisée par le token qui a effectivement suivi.
B. Décodeur seul
Raschka consigne une simplification structurelle qu’il vaut la peine d’énoncer clairement : comparée au transformeur originel, l’architecture GPT générale est relativement simple - essentiellement la seule partie décodeur, sans l’encodeur. Il n’y a pas de composant séparé pour encoder une séquence source, parce qu’il n’y a pas de séquence source. Le modèle lit un préfixe et le prolonge, ce qui est tout ce qu’exige la prédiction du mot suivant.
C. Noter une prédiction
Le modèle produit une distribution de probabilité sur tout le vocabulaire à chaque position. Il nous faut un nombre disant à quel point cette distribution est bonne.
La quantité naturelle est la probabilité que le modèle a attribuée au token effectivement apparu. Raschka construit la perte exactement à partir de là, par étapes : prendre la probabilité du modèle pour chaque token cible, prendre les logarithmes, les moyenner, et changer le signe. Il note que l’objectif n’est pas de faire monter la log-probabilité moyenne jusqu’à mais de faire descendre son opposé jusqu’à , et que cette valeur opposée est ce que l’apprentissage profond appelle la perte d’entropie croisée.
Déroulé, sur trois prédictions. Supposons que le modèle ait attribué les probabilités , et aux trois tokens réellement apparus.
Leur moyenne vaut
la perte d’entropie croisée est donc .
Ce sont les logarithmes qui font que cela se comporte correctement. Une probabilité de sur le vrai token contribue , tandis que contribue - se tromper dix fois plus coûte une pénalité additive fixe, et les erreurs confiantes sont punies sans borne.
Raschka observe aussi que « entropie croisée » et « opposé de la log-probabilité
moyenne » s’emploient de façon interchangeable en pratique, et que la fonction
cross_entropy de PyTorch exécute toutes ces étapes d’un coup.
S'exécute dans votre navigateur. La première exécution télécharge l'environnement Python (~10 Mo), puis il est mis en cache.
D. La perplexité, et un contrôle de cohérence
L’entropie croisée est en unités logarithmiques, difficiles à ressentir. La perplexité en est l’exponentielle, , et Raschka la décrit comme une façon plus interprétable de comprendre l’incertitude du modèle dans la prédiction du token suivant - une perplexité plus basse signifiant des prédictions plus proches de la distribution réelle.
L’interprétation : la perplexité est en gros le nombre d’options également probables entre lesquelles le modèle choisit effectivement. Notre perte de donne - le modèle est à peu près aussi incertain que quelqu’un qui devinerait uniformément parmi quatre possibilités.
Cela fournit un véritable contrôle sur un modèle non entraîné. Le réseau non entraîné de Raschka donne une perte de . Un modèle qui n’a rien appris devrait être proche de l’uniforme sur le vocabulaire, et une distribution uniforme sur issues a pour entropie croisée exactement :
Le mesuré se situe en dessous, et l’exponentielle donne une perplexité d’environ pour un vocabulaire de . Le modèle non entraîné devine, comme attendu, presque uniformément parmi tous les tokens qu’il connaît.
Cela vous donne un plancher de référence. Tout modèle de langue doit battre , sinon il n’a rien appris du tout - et l’écart entre la perte d’un modèle et ce plafond mesure directement la structure qu’il a extraite du texte.
Interactif : le plancher, et comment y lire un nombre
La perplexité en part du vocabulaire, voilà la forme transposable.
- Plancher uniforme, log V
- 10.8249
- Options effectives
- 48,726
- Part du vocabulaire
- 97.0%
- Ce que cela dit
- indécis, comme doit l’être un modèle neuf
Un modèle indécis répartit la probabilité uniformément et paie pour cela log V = 10.8249. Le modèle non entraîné de la leçon rapporte 10,7940, soit 48 726 options effectives pour un vocabulaire de 50 257, autrement dit 96,95 % encore en jeu. Voilà à quoi ressemble « vraiment indécis » en chiffres, et voilà la lecture dont a besoin la vérification de la leçon : « bien en dessous » et « bien au-dessus » sont difficiles à appliquer, une part ne l’est pas. Vous êtes à 10.7940 sur un vocabulaire de 50,257, ce qui laisse 97.0% en jeu, et la lecture est donc indécis. Une part un peu supérieure à un n’est pas un bogue : l’entropie croisée n’a pas de borne supérieure, et un modèle qui tire au hasard sans être tout à fait uniforme paie cette irrégularité - le modèle non entraîné de la leçon lui-même lit 1,18 sur les chargeurs complets. Seule une part très supérieure à un, deux ou dix fois le vocabulaire, signale un bogue dans la perte ou la tokenisation. La part est aussi la forme transposable. La moitié du vocabulaire en jeu se lit pareil à mille jetons et à cinquante mille, là où les deux pertes brutes diffèrent de près de quatre et où ni l’une ni l’autre ne signifie rien seule.
E. Ce que le préentraînement produit, et ce qu’il ne produit pas
Le résultat est un modèle de fondation, et Raschka est précis sur sa capacité : le préentraînement apprend au modèle à engendrer un mot à la fois, si bien que le LLM préentraîné est capable de compléter du texte - terminer des phrases ou écrire des paragraphes à partir d’un fragment - ainsi que de capacités en few-shot.
Il est tout aussi précis sur la limite. Les LLM préentraînés peinent souvent avec des instructions spécifiques, avec des exemples tels que « Corrige la grammaire de ce texte » ou « Convertis ce texte à la voix passive ».
La raison découle de l’objectif. Le modèle a appris quel texte suit typiquement un autre texte. Étant donné « Corrige la grammaire de ce texte : … », une suite plausible dans la nature est une autre consigne d’exercice, ou une liste de consignes semblables - ce genre de texte tend à apparaître près de ce genre de texte. Produire la phrase corrigée est une suite parmi bien d’autres, et rien dans le préentraînement ne l’a désignée comme la bonne.
F. L’affinage
L’affinage part des poids préentraînés et poursuit l’entraînement sur un jeu de données annoté pour une finalité précise. Raschka distingue deux sortes :
- L’affinage de classification - adapter le modèle pour attribuer des étiquettes, son exemple travaillé étant un classifieur de courriels indésirables. La pile de transformeur est conservée et la tête de sortie est remplacée par une tête dimensionnée au nombre de classes.
- L’affinage par instructions, dit aussi affinage supervisé par instructions - entraîner sur des paires d’instructions et de réponses souhaitées pour que le modèle apprenne à suivre des instructions et à produire la réponse voulue. Il l’identifie comme l’une des principales techniques derrière les agents conversationnels, les assistants personnels et les systèmes de dialogue.
L’économie de tout cela est l’essentiel. Le préentraînement consomme des milliers de milliards de mots non annotés ; l’affinage par instructions utilise un ensemble annoté comparativement minuscule. Presque tout ce que le modèle sait a été appris à la première étape - la seconde lui apprend surtout laquelle de ses nombreuses suites plausibles est celle qu’on lui demande.
La progression complète exposée par Raschka :
la complétion de texte et l’aptitude en few-shot arrivant à l’étape médiane, et la classification, le résumé, la traduction ou le comportement d’assistant à la dernière.
À retenir
- L’apprentissage auto-supervisé dissout le problème de l’annotation : le mot suivant est l’étiquette, donc le texte non annoté devient de la supervision et des milliers de milliards de mots deviennent utilisables.
- GPT n’est que le décodeur - pas d’encodeur, parce qu’il n’y a pas de séquence source à encoder.
- L’entropie croisée est l’opposé de la log-probabilité moyenne des vrais tokens ; notre exemple donne à partir des probabilités .
- La perplexité est - en gros le nombre d’options entre lesquelles le modèle choisit effectivement.
- Un modèle non entraîné score environ : le de Raschka contre , soit une perplexité proche de la taille du vocabulaire. C’est le plancher que tout modèle réel doit battre.
- Le préentraînement produit de la complétion de texte, pas de l’obéissance ; les modèles préentraînés échouent couramment sur des instructions comme « Corrige la grammaire de ce texte ».
- L’affinage sur un petit jeu annoté fournit ce que le préentraînement ne peut pas - soit une tête de classification, soit un comportement de suivi d’instructions.
La suite
Ceci complète le chemin des caractères bruts à un modèle qui suit des instructions : La tokenisation et les plongements a transformé le texte en tenseurs, L’attention et l’auto-attention et L’architecture du transformeur ont construit le modèle, et cet article l’a entraîné. Pour l’autre tradition de l’intelligence artificielle - celle qui cherche et raisonne au lieu de prédire le token suivant - voyez La recherche adversariale et le minimax.
Références et lectures complémentaires
- Sebastian Raschka, Build a Large Language Model (From Scratch), Manning, 2025· Bibliothèque de référence Kudos AI
Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.