Du modèle de base à l’assistant.
La leçon précédente nous a laissés avec un modèle pré-entraîné : il a lu des montagnes de texte et sait très bien deviner le token suivant. Mais ce talent ne suffit pas pour discuter. Posez-lui une question, et il risque de la prolonger au lieu d’y répondre. Entre ce modèle de base et l’assistant que vous utilisez tous les jours, il y a une deuxième phase d’entraînement, plus courte mais décisive, que l’on appelle souvent l’alignement. C’est elle qui apprend au modèle à suivre des instructions, à répondre dans un format de conversation et à savoir s’arrêter.
Un modèle de base complète, il ne répond pas
Un modèle de base (base model) a appris une seule chose : continuer un texte de la façon la plus vraisemblable. Si le prompt ressemble au début d’une liste de questions d’examen, la suite la plus vraisemblable… c’est une autre question.
Quelle est la capitale de la France ?
Quelle est la capitale de l’Espagne ?
Quelle est la capitale de l’Italie ?Dans le laboratoire, notre modèle de base, entraîné sur Jules Verne, fait exactement cela : à la question « Qui est Passepartout ? », il répond par un morceau de roman, et il ne s’arrête jamais de lui-même. Les premiers grands modèles, comme GPT-3 en 2020, étaient des modèles de base. Pour obtenir une réponse, il fallait ruser : écrire le début d’un document dont la suite logique était la réponse, ou donner quelques exemples questions-réponses dans le prompt. On parle de few-shot prompting.
Le fine-tuning supervisé : apprendre par l’exemple
La solution est de poursuivre l’entraînement sur un jeu de données très différent : des milliers de conversations, souvent écrites ou vérifiées par des humains, où chaque instruction est suivie d’une bonne réponse. C’est le fine-tuning supervisé (supervised fine-tuning, ou SFT), aussi appelé instruction tuning. Les modèles qui en sortent portent souvent le mot « Instruct » dans leur nom.
La loss ne change pas : c’est toujours l’entropie croisée de la leçon 10, sur le token suivant. Une seule différence : on ne compte que les tokens de la réponse. Le modèle n’a pas à apprendre à écrire les questions de l’utilisateur, seulement à y répondre. On parle de masquage de la loss (loss masking).
Attention à ne pas le confondre avec le masque causal de la leçon 06. Pendant le SFT, le modèle lit bien tous les tokens de la question : grâce à l’attention, chaque token de la réponse s’appuie sur ce contexte. Le masquage de la loss ne cache rien au modèle ; il décide seulement où l’on calcule la punition, la loss et donc le gradient : sur les tokens de la réponse de l’assistant, y compris le token spécial de fin de tour (<|im_end|>, que nous verrons à la section suivante). C’est en étant puni quand il oublie ce token que le modèle apprend quand s’arrêter.
Les volumes sont sans commune mesure : des milliers de milliards de tokens pour le pré-entraînement, quelques dizaines de milliers d’exemples pour le SFT. Les connaissances viennent surtout du pré-entraînement ; le fine-tuning apprend surtout un comportement et un format.
Le chat template : donner une forme à la conversation
Pour que le modèle sache qui parle, chaque conversation d’entraînement est mise en forme toujours de la même façon, avec des rôles : le système (system), l’utilisateur (user) et l’assistant (assistant). Des tokens spéciaux, qui n’apparaissent jamais dans un texte normal, marquent le début et la fin de chaque tour de parole. Ce format s’appelle le chat template.
<|im_start|>user
Qui est Passepartout ?<|im_end|>
<|im_start|>assistant
C’est le domestique de Phileas Fogg.<|im_end|>Le token de fin de tour joue le rôle du token de fin de la leçon 09 : en l’apprenant, le modèle apprend enfin à s’arrêter. Notre laboratoire utilise un format minimal, « Utilisateur : … » puis « Assistant : … », où le retour à la ligne marque la fin de la réponse. Nous reverrons le chat template en détail dans la leçon 14, car c’est lui qui transforme votre conversation en tokens.
Les préférences humaines : le RLHF
Le SFT apprend à imiter de bonnes réponses. Mais il est souvent plus facile de juger une réponse que d’en écrire une parfaite. D’où l’idée suivante : on fait générer plusieurs réponses à la même question, et des annotateurs humains indiquent laquelle ils préfèrent. On obtient des paires (réponse préférée, réponse rejetée).
Avec ces paires, on entraîne un second modèle, le modèle de récompense (reward model), qui apprend à noter une réponse comme le ferait un humain. Puis on améliore l’assistant par apprentissage par renforcement (reinforcement learning) : il génère des réponses, le modèle de récompense les note, et l’assistant est ajusté pour obtenir de meilleures notes, sans trop s’éloigner de son comportement après le SFT. Cette « laisse », une pénalité qui grandit quand l’assistant s’écarte de sa version SFT, est indispensable : le modèle de récompense n’est qu’une imitation imparfaite du jugement humain, et sans garde-fou, l’assistant finirait par « tricher », en produisant des tics de langage ou du texte absurde qui exploitent une faille du modèle de récompense pour décrocher une bonne note. On parle de piratage de la récompense (reward hacking). L’ensemble s’appelle le RLHF (Reinforcement Learning from Human Feedback).
C’est la recette décrite par OpenAI en 2022 avec InstructGPT, puis utilisée pour ChatGPT. Résultat frappant : les annotateurs préféraient les réponses d’InstructGPT, avec 1,3 milliard de paramètres, à celles de GPT-3, cent fois plus gros. Une méthode plus simple est apparue en 2023, la DPO (Direct Preference Optimization) : elle apprend directement à partir des paires de préférences, sans modèle de récompense séparé.
Ce que l’alignement change
Ces étapes visent un assistant utile (il suit les instructions), honnête (il évite d’inventer) et inoffensif (il refuse les demandes dangereuses). Elles fixent aussi son ton, sa politesse et sa façon de structurer ses réponses. Des modèles plus récents, dits modèles de raisonnement comme la série o d’OpenAI, sont en plus entraînés par renforcement à « réfléchir » avant de répondre, en produisant des étapes de raisonnement sur des problèmes dont on peut vérifier la solution.
Pour un développeur, une conséquence pratique : on peut soi-même fine-tuner un modèle existant sur ses propres exemples, par exemple pour imposer un format de réponse ou un vocabulaire métier. Les API d’OpenAI et des bibliothèques open source comme TRL de Hugging Face le permettent.
Comment est-ce possible sans supercalculateur ? D’abord, on utilise un taux d’apprentissage très doux, pour ajuster le comportement sans effacer les connaissances du pré-entraînement. Ensuite, on gèle le plus souvent les milliards de poids d’origine, et l’on n’entraîne qu’une poignée de petites matrices ajoutées à côté d’eux : c’est la méthode LoRA (Low-Rank Adaptation), qui ne règle souvent qu’une petite fraction de pour cent des paramètres.
Répondre avec assurance… même faux : les hallucinations
Revers de la médaille : un assistant entraîné à toujours répondre dans le bon format peut répondre avec aplomb à une question dont il ignore la réponse. Le texte produit est fluide, plausible… et faux. C’est une hallucination.
Le laboratoire le montre de façon caricaturale. Demandez à notre assistant « Quel temps fait-il ? », une question absente de ses données : il répond, sûr de lui, « Il parie vingt mille livres qu’il fera le tour du monde en quatre-vingts jours. » Il a appris le format d’une réponse, pas à dire « je ne sais pas ».
La cause profonde est double. Dès le pré-entraînement, un LLM est un moteur de vraisemblance statistique, pas une base de connaissances vérifiées : prédire le token le plus vraisemblable ne garantit pas de dire vrai. Le fine-tuning d’assistant amplifie ensuite le piège : il lui apprend à toujours répondre dans un style fluide et affirmatif, même quand l’information est absente de ses poids, et un entraînement qui récompense les réponses assurées encourage à deviner. Les remèdes : apprendre au modèle à exprimer son incertitude, et lui fournir les bonnes informations dans le prompt, par exemple avec le RAG, que nous évoquerons à la leçon 14.
Observez par vous-même
Dans le laboratoire, tapez Qui est Passepartout ?. Comparez les deux colonnes : le modèle de base écrit un morceau de roman jusqu’à la limite de tokens, l’assistant répond en une phrase puis s’arrête. Regardez ensuite, dans la carte des données, quelle partie de l’exemple compte dans la loss.
Essayez enfin une question qu’il ne connaît pas, comme Quel temps fait-il ?, et jouez l’annotateur : choisissez la meilleure des deux réponses proposées.
Les limites de notre exemple
Notre « assistant » est un modèle par comptage, fine-tuné sur seulement 24 conversations écrites à la main. Pour qu’il voie la question, nous lui avons donné un contexte de 40 caractères, contre 5 pour le modèle de base. Il ne comprend rien : il récite les réponses qu’il connaît, et recolle des morceaux pour les autres. Et le choix de préférence du laboratoire ne réentraîne rien : il montre seulement à quoi ressemblent les données du RLHF.
Vous connaissez maintenant le modèle de l’intérieur, et la façon dont il devient un assistant. Il reste à suivre le trajet complet d’une vraie requête, du champ de saisie jusqu’à l’écran. Première étape : le découpage du texte. Les vrais modèles ne découpent pas par caractère, comme nous depuis la leçon 01, mais en sous-mots. C’est le sujet de la prochaine leçon : la tokenisation BPE.
Un modèle de base, issu du pré-entraînement, continue un texte. Le fine-tuning supervisé (SFT, instruction tuning) poursuit l’entraînement sur des conversations (instruction, réponse) mises en forme par un chat template avec des rôles (system, user, assistant) et des tokens spéciaux de fin de tour ; la loss n’est calculée que sur la réponse (loss masking). Le SFT apprend surtout un comportement et un format ; les connaissances viennent du pré-entraînement.
Le RLHF collecte des préférences humaines entre deux réponses, entraîne un modèle de récompense, puis optimise l’assistant par apprentissage par renforcement en restant proche du modèle SFT (InstructGPT, OpenAI, 2022). La DPO apprend directement des paires de préférences. Un assistant aligné reste sujet aux hallucinations : une réponse fluide et assurée n’est pas forcément vraie.
Training language models to follow instructions with human feedback (InstructGPT) · OpenAI, arXiv ↗
Chat templates · Hugging Face Transformers ↗