Entraîner un LLM
Atelier LLM (séance 2)
Pré-entraînement, fine-tuning supervisé et renforcementComment passe-t-on d’un modèle qui complète du texte à un assistant ?
Un LLM modélise la distribution du texte
\[p_\theta(x_1,\dots,x_T)\;=\;\prod_{t=1}^{T} p_\theta\!\left(x_t \mid x_{<t}\right)\]
Le modèle apprend ce qui est probable après un texte, pas ce qui est utile pour répondre.
Le problème : compléter ≠ répondre
Même question, deux versions de Qwen3-1.7B : « Quelle est la capitale de la France ? »

Qwen3-1.7B-Base
Pré-entraîné
Quel est le pays le plus peuplé du monde ? Quel est le pays le plus peuplé de l’Europe ? Quel est le pays le plus peuplé du monde ? …

Qwen3-1.7B
Affiné
La capitale de la France est Paris.
Sur le web, une question est souvent suivie… d’autres questions (quiz, FAQ). Le modèle de base prolonge la liste.
Sorties réelles du notebook base_vs_instruct.ipynb.
Trois phases d’entraînement
1Pré-entraînementPrédire le token suivant sur des milliers de milliards de tokens.
2Fine-tuning supervisé (SFT)Imiter des exemples de conversations avec un assistant.
3Apprentissage par renforcement (RL)Préférer les réponses qui obtiennent une bonne récompense.
1 : Pré-entraînement
Maximiser la vraisemblance du corpus
\[\begin{gathered}\max_\theta\;\mathbb{E}_{x\sim p_{\text{data}}}\Big[\sum_{t=1}^{T}\log p_\theta\!\left(x_t \mid x_{<t}\right)\Big]=\max_\theta\;\mathbb{E}_{x\sim p_{\text{data}}}\big[\log p_\theta(x)\big]\\[4pt]\Longleftrightarrow\;\min_\theta\;\mathrm{KL}\big(p_{\text{data}}\,\|\,p_\theta\big)\end{gathered}\]
Maximum de vraisemblance : l’espérance sur \(p_{\text{data}}\) est estimée par une moyenne sur le corpus. Pas de consigne : seulement du texte à prolonger.
Web, code, livres, articles scientifiques, dans une centaine de langues.
Résultat : un modèle de base qui sait beaucoup de choses mais ne fait que compléter.
≈ 36 T tokenscorpus de Qwen3 (15 T pour Llama 3)
≈ 1025 FLOPopérations de calcul (additions, multiplications) pour Llama 3.1 405B : ≈ 6 × paramètres × tokens
des moisLlama 4 : un cluster de plus de 100 000 GPU H100
> 95 %du calcul total d’entraînement
2 : Fine-tuning supervisé (Supervised Fine-Tuning, SFT)
Même vraisemblance, sur les réponses
\[\max_\theta\;\mathbb{E}_{(x,y)\sim p_{\text{SFT}}}\Big[\sum_{t}\log \pi_\theta\!\left(y_t \mid x,\, y_{<t}\right)\Big]\]
Vraisemblance conditionnelle \(\log\pi_\theta(y\mid x)\) : \(p_{\text{SFT}}\) est une loi de paires (instruction \(x\), réponse \(y\)) écrites par des humains ou un modèle plus fort. Seuls les tokens de \(y\) sont appris.
<|im_start|>user
Quelle est la capitale de la France ?<|im_end|>
<|im_start|>assistant
La capitale de la France est Paris.<|im_end|>
104 à 106exemples, contre des milliers de milliards de tokens avant
Le formatrôles user / assistant, fin de tour, appels d’outils
Imiterle modèle ne peut pas faire mieux que les exemples
Rester procheOn part des poids pré-entraînés \(\theta_{\text{PT}}\), avec peu de pas. En alternative, Low-Rank Adaptation (LoRA) : \(\theta=\theta_{\text{PT}}+AB\), avec \(AB\) de rang faible.
3 : Apprentissage par renforcement (RL)
Maximiser une récompense
\[\max_\theta\;\mathbb{E}_{x\sim p_{\text{RL}}}\Big[\,\mathbb{E}_{y\sim\pi_\theta(\cdot\mid x)}\big[r(x,y)\big]-\beta\,\mathrm{KL}\big(\pi_\theta(\cdot\mid x)\,\|\,\pi_{\text{ref}}(\cdot\mid x)\big)\Big]\]
\(p_{\text{RL}}\) : une loi de prompts, sans réponses. Le modèle génère lui-même \(y\sim\pi_\theta(\cdot\mid x)\), puis on renforce les réponses bien notées par \(r\).
Le terme KL l’empêche de trop s’éloigner du modèle SFT \(\pi_{\text{ref}}\), de surapprendre et de « tricher » la récompense.
Pas de réponse modèleseulement un signal : bien ou mal
Explorerpeut trouver de meilleures solutions que les exemples
Raisonnerc’est ici qu’apparaissent les longues chaînes de réflexion
Le gradient de politique (REINFORCE)
L’astuce de la log-dérivée : \(\nabla_\theta \pi_\theta = \pi_\theta\,\nabla_\theta \log \pi_\theta\)
\[\nabla_\theta\,\mathbb{E}_{x\sim p_{\text{RL}}}\Big[\mathbb{E}_{y\sim\pi_\theta(\cdot\mid x)}\big[\,r(x,y)\,\big]\Big]\;=\;\mathbb{E}_{x\sim p_{\text{RL}}}\Big[\mathbb{E}_{y\sim\pi_\theta(\cdot\mid x)}\big[\,\big(r(x,y)-b(x)\big)\,\nabla_\theta\log\pi_\theta(y\mid x)\,\big]\Big]\]
D’où vient la récompense ?
Reinforcement Learning from Human Feedback (RLHF)
Modèle de récompense (Bradley–Terry)
\[\begin{gathered}\mathbb{P}\big(y_+ \succ y_- \mid x\big)=\sigma\big(r_\varphi(x,y_+)-r_\varphi(x,y_-)\big)\\[6pt]\max_\varphi\;\mathbb{E}_{(x,y_+,y_-)\sim p_{\text{pref}}}\Big[\log\sigma\big(r_\varphi(x,y_+)-r_\varphi(x,y_-)\big)\Big]\end{gathered}\]
Pourquoi ? Noter une réponse dans l’absolu est difficile, alors que choisir la meilleure de deux (\(y_+\) préférée, \(y_-\) rejetée) est facile.
RLHFles paires sont annotées par des humains (ChatGPT, 2022)
Juge IAReinforcement Learning from AI Feedback (RLAIF) : un LLM juge remplace les humains, \(r(x,y)=r_{\text{IA}}(x,y;\ \text{constitution})\)
Limite\(r_\varphi\) n’est qu’une approximation : la pénalité KL régularise l’apprentissage
On maximise ensuite l’objectif RL avec \(r=r_\varphi\), par gradient de politique (Proximal Policy Optimization, PPO), une version stabilisée de REINFORCE.
Direct Preference Optimization (DPO)
1. Pour chaque prompt \(x\), la meilleure politique \(\pi^*\) de l’objectif RL est connue
\[\begin{gathered}\pi^*(\cdot\mid x)=\mathop{\mathrm{arg\,max}}\limits_{\pi}\;\mathbb{E}_{y\sim\pi}\big[r(x,y)\big]-\beta\,\mathrm{KL}\big(\pi\,\|\,\pi_{\text{ref}}(\cdot\mid x)\big)\\[6pt]\pi^*(y\mid x)=\frac{\pi_{\text{ref}}(y\mid x)\,e^{\,r(x,y)/\beta}}{Z(x)}\quad\Longleftrightarrow\quad r(x,y)=\beta\log\frac{\pi^*(y\mid x)}{\pi_{\text{ref}}(y\mid x)}+\beta\log Z(x)\end{gathered}\]
2. On injecte \(r\) dans Bradley–Terry et on paramètre \(\pi^*\) par \(\pi_\theta\) : \(Z(x)\) disparaît dans la différence
\[\max_\theta\;\mathbb{E}_{(x,y_+,y_-)\sim p_{\text{pref}}}\left[\log\sigma\!\left(\beta\log\frac{\pi_\theta(y_+\mid x)}{\pi_{\text{ref}}(y_+\mid x)}-\beta\log\frac{\pi_\theta(y_-\mid x)}{\pi_{\text{ref}}(y_-\mid x)}\right)\right]\]
RLHF : préférences → modèle de récompense → PPO. DPO : préférences → modèle, directement, comme une classification.
Reinforcement Learning with Verifiable Rewards (RLVR)
La récompense est un test automatique
\[r(x,y)=\begin{cases}\mathbf{1}\big[\,\mathrm{extract}(y)=y^\star\,\big] & \text{maths}\\[2pt]\mathbf{1}\big[\,\text{les tests unitaires passent}\,\big] & \text{code}\\[2pt]\mathbf{1}\big[\,\text{la preuve compile}\,\big] & \text{Lean}\end{cases}\]
Pourquoi ? Pas de juge appris à tromper : la vérification est exacte, c’est juste ou faux.
Group Relative Policy Optimization (GRPO)
\[\hat{A}_i=\frac{r_i-\operatorname{mean}(r_1,\dots,r_G)}{\operatorname{std}(r_1,\dots,r_G)}\]
1Tirer \(y_1,\dots,y_G\sim\pi_\theta(\cdot\mid x)\)2Vérifier chacune : \(r_i \in \{0,1\}\)3Renforcer celles au-dessus de la moyenne du groupe (la baseline)
Le moteur des modèles de raisonnement (DeepSeek-R1, o1…) : les maths et le code se vérifient automatiquement.
Des jeux de données RL, par thème
En résumé
DépartPoids aléatoiresAucune connaissance.
→
1 · Pré-entraînementModèle de baseConnaît le monde, complète du texte.
→
2 · Fine-tuning (SFT)AssistantRépond dans le bon format, par imitation.
→
3 · Renforcement (RL)Modèle finalPréfère les réponses utiles, justes et sûres.
Le pré-entraînement apporte les connaissances, le SFT apprend quoi imiter, le RL apprend quoi préférer.
En pratique !
Passons à la pratiqueEn pratique !