# Exercices corrigés — Systèmes de pré-formation et optimisation

**Consigne générale:** chaque réponse doit montrer les données, la transformation, le résultat, une vérification et une limite. Un nombre seul ou une définition recopiée ne suffit pas.

> **Données de départ:** Pour logits [2,1,0] et cible 0, softmax ≈ [0,665;0,245;0,090], donc CE ≈ 0,408. Le laboratoire modifie taux, gradient et poids, puis montre les champs nécessaires à une reprise.
>
> **Frontière à conserver:** Les performances distribuées dépendent du matériel, du réseau, de la taille du modèle et de l’implémentation ; aucune estimation du laboratoire n’est un benchmark.

## Exercice 1 — Trace calculée — Objectif causal

Reproduisez puis commentez la chaîne `L = −Σ log p(x_t | x_<t)`. Augmentez le logit cible de 2 à 2,4 en gardant les deux autres logits à 1 et 0. Recalculez softmax et entropie croisée pour la cible 0.

**Livrable:** un tableau données → opération → résultat → interprétation, plus deux phrases sur la valeur modifiée.

<details><summary>Solution guidée</summary>

Pour logits [2,1,0] et cible 0, softmax ≈ [0,665;0,245;0,090], donc CE ≈ 0,408. Le laboratoire modifie taux, gradient et poids, puis montre les champs nécessaires à une reprise.

**Variante résolue:** Softmax passe d’environ [0,665;0,245;0,090] à [0,748;0,184;0,068]. La perte −log p(cible) passe d’environ 0,408 à 0,291 : augmenter le logit cible relativement aux autres réduit la perte.

Le modèle maximise la vraisemblance du prochain token à chaque position autorisée par le masque causal. La perte moyenne agrège les positions et les exemples valides. La log-softmax stabilisée soustrait le log-sum-exp. La perte choisit ensuite le log-probabilité de la cible. Des logits plus grands ne sont utiles que relativement aux autres. La vérification minimale consiste à contrôler les dimensions, le signe et l’ordre de grandeur. Si la variation obtenue contredit la prédiction, localiser la première opération qui change de sens au lieu de corriger seulement la dernière ligne.

</details>

### Barème Exercice 1 — /10

| Critère | Points |
|---|---:|
| Données et formes explicites | 2 |
| Calcul traçable | 3 |
| Prédiction avant variation | 2 |
| Interprétation et vérification | 2 |
| Limite nommée | 1 |

## Exercice 2 — Diagnostic d’une explication séduisante — Rétropropagation

Un collègue affirme: « Rétropropagation prouve que le système sera exact, rapide et stable dans tous les contextes. »

1. Séparez mécanisme, hypothèse, observation et conclusion.
2. Citez deux éléments corrects de la leçon et deux extrapolations non justifiées.
3. Proposez une expérience bornée avec variable contrôlée, métrique et seuil d’arrêt.
4. Réécrivez l’affirmation en une phrase défendable.

<details><summary>Solution argumentée</summary>

La règle de chaîne calcule comment chaque paramètre a contribué à la perte. Les activations sauvegardées coûtent de la mémoire ; le checkpointing d’activations échange du recalcul contre de la mémoire. AdamW combine moments des gradients, taux d’apprentissage et décroissance des poids. Le clipping peut borner des gradients extrêmes, mais ne répare pas une donnée ou une architecture défectueuse. Les performances distribuées dépendent du matériel, du réseau, de la taille du modèle et de l’implémentation ; aucune estimation du laboratoire n’est un benchmark.

L’affirmation mélange une relation locale et une garantie globale. Une version défendable décrit seulement le mécanisme observé, les conditions du test et la métrique relevée. Le test doit s’arrêter si les formes deviennent invalides, si la métrique se dégrade au-delà du seuil annoncé ou si une autre variable a changé.

</details>

### Barème Exercice 2 — /10

2 points par élément : séparation, ancrage dans la leçon, extrapolations, protocole, reformulation.

## Exercice 3 — Décision d’architecture et transfert — Précision et parallélisme

Vous devez reproduire le cas guidé « Pour logits [2,1,0] et cible 0, softmax ≈ [0,665;0,245;0,090], donc CE ≈ 0,408. Le laboratoire modifie taux, gradient et poids, puis montre les champs nécessaires à une reprise. » dans deux conditions. Option A utilise la chaîne complète jusqu’à « Précision et parallélisme ». Option B est une référence transparente qui conserve « Objectif causal », calcule directement la sortie attendue et n’utilise pas le mécanisme de compression ou d’ajustement étudié. Construisez une fiche de décision comportant:

- la charge et la contrainte dominante;
- le mécanisme de chaque option, sans slogan;
- une prédiction qualité, mémoire ou latence;
- un cas où votre procédure préférée perd;
- un protocole A/B, métriques et seuil de retour arrière;
- un verdict borné : choisir, différer ou refuser.

<details><summary>Éléments d’une bonne solution</summary>

BF16 réduit la mémoire des tenseurs sans représenter tous les états en pleine précision. Le parallélisme de données réplique les poids ; tensor/pipeline parallel répartissent d’autres dimensions avec communication. Une reprise exacte exige poids, état de l’optimiseur, scheduler, scaler éventuel, position dans les données et états aléatoires. Un fichier de poids seul n’est pas un checkpoint d’entraînement complet. Mécanismes établis ; les simplifications numériques sont pédagogiques.

Une bonne réponse ne présente pas le mécanisme récent comme gagnant par défaut. Elle conserve une référence mesurable, fixe le seuil avant le test et distingue le coût du composant du comportement du système complet. Le verdict doit citer ce qui reste incertain et la prochaine preuve qui pourrait le modifier.

</details>

### Barème Exercice 3 — /15

| Critère | Points |
|---|---:|
| Cadrage et référence | 3 |
| Chaînes causales comparées | 4 |
| Protocole et métriques | 4 |
| Seuil de retour arrière | 2 |
| Verdict borné | 2 |

## Prolongement

Refaites l’exercice 3 en inversant la contrainte dominante. Si vous aviez optimisé la mémoire, imposez maintenant une qualité minimale stricte; si vous aviez optimisé la fidélité, imposez une enveloppe mémoire divisée par deux. Identifiez le premier point du verdict qui change et la preuve nécessaire.

## Relecture avant remise

Relisez votre paquet comme si un autre groupe devait reproduire votre travail sans vous parler. Toutes les valeurs ou hypothèses de départ sont-elles présentes ? Les formes ou rôles sont-ils écrits avant les opérations ? La prédiction précède-t-elle réellement l’observation ? Le résultat est-il traduit en comportement plutôt que laissé comme nombre isolé ? Avez-vous testé une valeur limite et identifié une condition d’arrêt ? Le choix de procédure ou d’architecture conserve-t-il une référence mesurable et un seuil de retour arrière fixé avant le test ? Enfin, surlignez une phrase qui décrit ce qui est établi, une phrase qui reste une hypothèse et une mesure susceptible de changer votre verdict. Si l’un de ces éléments manque, le travail n’est pas reproductible.

## Annexe de référence pour la correction

### 1. Objectif causal

Le modèle maximise la vraisemblance du prochain token à chaque position autorisée par le masque causal. La perte moyenne agrège les positions et les exemples valides.

> **Formule de travail:** `L = −Σ log p(x_t | x_<t)`

### 2. Entropie croisée depuis les logits

La log-softmax stabilisée soustrait le log-sum-exp. La perte choisit ensuite le log-probabilité de la cible. Des logits plus grands ne sont utiles que relativement aux autres.

> **Formule de travail:** `CE(z,y)=−z_y+log Σ exp(z_j)`

### 3. Rétropropagation

La règle de chaîne calcule comment chaque paramètre a contribué à la perte. Les activations sauvegardées coûtent de la mémoire ; le checkpointing d’activations échange du recalcul contre de la mémoire.

### 4. Optimiseur

AdamW combine moments des gradients, taux d’apprentissage et décroissance des poids. Le clipping peut borner des gradients extrêmes, mais ne répare pas une donnée ou une architecture défectueuse.

### 5. Précision et parallélisme

BF16 réduit la mémoire des tenseurs sans représenter tous les états en pleine précision. Le parallélisme de données réplique les poids ; tensor/pipeline parallel répartissent d’autres dimensions avec communication.

### 6. Checkpoint complet

Une reprise exacte exige poids, état de l’optimiseur, scheduler, scaler éventuel, position dans les données et états aléatoires. Un fichier de poids seul n’est pas un checkpoint d’entraînement complet.

## Sources et frontière de preuve

- Kingma & Ba, “Adam: A Method for Stochastic Optimization”, ICLR (2015).
- Loshchilov & Hutter, “Decoupled Weight Decay Regularization” (AdamW), ICLR (2019).
- Micikevicius et al., “Mixed Precision Training”, ICLR (2018).
- Dossier source fourni par le propriétaire; les détails sur des produits nommés restent attribués à cette source jusqu’à vérification primaire.

> **Portée:** Mécanismes établis ; les simplifications numériques sont pédagogiques. Ces références soutiennent le cadre de la session; elles ne transforment pas un choix de produit rapporté en résultat indépendant.
