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 ?
QR code vers https://atelier-llm.pages.dev

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)\]
Un texte = des tokens\(x = (x_1,\dots,x_T)\), découpé en morceaux de mots.
Un token à la foisLe modèle prédit la probabilité du token suivant, sachant tout ce qui précède.
Appris sur des donnéesOn cherche \(p_\theta \approx p_{\text{data}}\), la loi (inconnue) des textes du web.

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-BasePré-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.7BAffiné
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.

Des jeux de données SFT, par thème

Le visualiseur Hugging Face permet de feuilleter les exemples sans rien télécharger.

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]\]
Le problème\(y\) est tiré au sort par le modèle : on ne peut pas dériver à travers ce tirage.
L’astucele gradient entre dans l’espérance : il suffit de générer des réponses et de connaître leur \(\log\pi_\theta\).
La baseline \(b(x)\)ne change pas l’espérance mais réduit la variance : on renforce ce qui fait mieux que prévu.

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 !