Module L37 · Partie K · Ingénierie de l’IA
Créer un modèle : l’escalade des solutions, et où s’arrêter.
« Je vais entraîner mon propre modèle » est presque toujours la mauvaise première phrase. Entre « pas de modèle » et « pré-entraînement from scratch », il y a huit paliers — règles et heuristiques, modèle classique, modèle pré-entraîné en zero-shot, prompt et few-shot, RAG et outils, affinage léger (LoRA, têtes), affinage complet, pré-entraînement — chacun avec ses limites, ses contraintes, ses avantages, son coût et son délai. Ce chapitre donne la règle de décision pour monter d’un palier (jamais deux), les mathématiques qui la justifient (transfert, rang faible, oubli catastrophique, lois d’échelle), les implémentations minimales de chaque palier, et les cas — rares — où le from scratch est le bon choix.
Durée : 3 séances · Prérequis : L13, L25, L27, L28, L34, L36. Objectifs : parcourir l’escalade sur un cas réel avec des mesures à chaque palier ; implémenter LoRA et un affinage de tête ; quantifier l’oubli catastrophique ; estimer le coût et le délai de chaque palier ; reconnaître les situations qui justifient le from scratch.
Ce que vous saurez faire à la fin
- Placer un problème sur l’escalade et justifier le palier de départ.
- Mesurer, à chaque palier, qualité, coût, délai, risque — et décider de monter ou de s’arrêter.
- Expliquer pourquoi LoRA marche (rang faible), pourquoi l’affinage oublie, pourquoi le pré-entraînement exige des lois d’échelle.
- Rédiger le dossier « from scratch » : conditions, données, calcul, équipe, plan d’évaluation.
Fiche de cours · Définitions
Définitions
Fiche de cours · Formules
Formules et ordres de grandeur
| Palier | Données nécessaires | Calcul | Délai typique | Compétence | Risque principal |
|---|---|---|---|---|---|
| 0. Règles | Aucune (expertise) | 0 | Heures–jours | Métier | Ne généralise pas ; maintenance des règles |
| 1. Modèle classique | 10²–10⁵ exemples étiquetés | CPU, minutes | Jours | ML de base | Traits à concevoir ; plafond sur données non structurées |
| 2. Pré-entraîné tel quel | 0–10² pour évaluer | Inférence | Heures | Intégration | Domaine hors distribution ; licence |
| 3. Prompt / few-shot | 10¹–10² exemples | Inférence | Jours | L28 | Sensibilité, coût par requête, plafond |
| 4. RAG / outils | Corpus + 10² questions annotées | Inférence + index | Semaines | L26 | Rappel de la recherche |
| 5. Affinage léger | 10²–10⁴ exemples | 1 GPU, heures | Semaines | Entraînement | Sur-apprentissage, oubli modéré, évaluation |
| 6. Affinage complet | 10⁴–10⁶ | Plusieurs GPU, jours | Semaines–mois | Infra + entraînement | Oubli catastrophique, coût, reproductibilité |
| 7. Pré-entraînement continu | 10⁸–10¹⁰ tokens de domaine | 8–64 GPU, semaines | Mois | Équipe | Dérive des capacités générales, données |
| 8. From scratch | 10¹⁰–10¹³ tokens | 10²–10⁴ GPU, mois | 6–18 mois | Équipe experte | Tout ; coût 10⁵–10⁸ € |
Fiche de cours · Théorèmes et démonstrations
Démonstrations à savoir refaire
01 / Parcourir l’escalade
Un cas réel simulé : classer des tickets techniques en 6 catégories, palier par palier
01 / Parcourir l’escalade
Paliers 2 et 5 : plongements gelés + linéaire, puis LoRA sur une couche — implémentés
02 / Mesurer l’oubli
Oubli catastrophique et ses remèdes : une expérience contrôlée
03 / Décider
La règle de montée, palier par palier : limites, contraintes, avantages
| Palier | Avantages | Limites | Contraintes | Signal pour monter |
|---|---|---|---|---|
| 0. Règles | Transparent, immédiat, sans données, débogable | Fragile aux formulations ; explosion combinatoire des cas | Expertise disponible | > 30 règles, précision qui stagne, cas non couverts fréquents |
| 1. Classique | Rapide, peu de calcul, interprétable (coefficients, arbres), robuste | Traits à concevoir ; plafond sur texte/image bruts | 10²+ exemples annotés | Courbe d’apprentissage plate sous l’exigence ; traits épuisés |
| 2. Pré-entraîné tel quel | Zéro entraînement ; qualité générale élevée ; plongements universels | Hors domaine ; pas de contrôle du format ; licence | Inférence disponible | Linéaire sur plongements sous l’exigence |
| 3. Prompt/few-shot | Itération en minutes ; pas d’infra d’entraînement | Plafond, sensibilité, coût par requête, latence | Banc d’essai | Plateau après 10 itérations mesurées ; coût/latence hors SLO |
| 4. RAG/outils | Connaissances privées, à jour, citables | Rappel de la recherche ; complexité | Corpus, index, évaluation | Rappel > 0,9 mais qualité sous l’exigence → le modèle est la limite |
| 5. Affinage léger | Format et style fiables, latence ↓ (prompt court), adaptateurs ; 1 GPU | Connaissances nouvelles limitées (rang faible) ; sur-apprentissage | 10²–10⁴ exemples de qualité, banc d’oubli | Rang ↑ sans gain ; domaine trop éloigné |
| 6. Affinage complet | Capacité maximale d’adaptation | Oubli, coût, infra multi-GPU, reproductibilité | 10⁴+ exemples, équipe | Vocabulaire/domaine absents de la base |
| 7. Pré-entraînement continu | Domaine profond pour 1 % du from scratch | Dérive des capacités générales ; données de domaine massives | 10⁹+ tokens, cluster | Tokeniseur inadapté ; modalité absente |
| 8. From scratch | Contrôle total (données, licence, taille, modalité) | Coût, délai, risque ; expertise rare | Données massives, calcul, équipe, lois d’échelle | — (dernier palier) |
03 / Décider
Le dossier « from scratch » : les conditions à remplir, et l’estimation du coût
Les cas légitimes existent : modèles de fondation pour les séries de capteurs industriels, la chimie, la génomique, les signaux radar, un micro-modèle de 5 M de paramètres pour un microcontrôleur (L18), une langue sans base pré-entraînée, ou un acteur souverain. Dans ces cas, la partie K entière est le cahier des charges — lois d’échelle (L25), données (L36), infra (L33), évaluation (L32), MLOps (L38).
04 / Articles
Les articles à lire
| Article | Contribution | À retenir |
|---|---|---|
| Pan & Yang, A Survey on Transfer Learning, IEEE TKDE 2010 | Cadre du transfert | Quand le transfert aide, quand il nuit (transfert négatif) |
| Howard & Ruder, Universal Language Model Fine-tuning (ULMFiT), ACL 2018 — 1801.06146 | Affinage progressif, pas différencié par couche | Les recettes anti-oubli avant les LLM |
| Aghajanyan et al., Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning, ACL 2021 — 2012.13255 ; Hu et al., LoRA, 2021 — 2106.09685 | Dimension intrinsèque faible ; adaptation de rang faible | Théorème 1 |
| Dettmers et al., QLoRA, 2023 — 2305.14314 | LoRA sur base 4 bits | Affiner un 65B sur un GPU |
| Kirkpatrick et al., Overcoming catastrophic forgetting in neural networks (EWC), PNAS 2017 — 1612.00796 | Pénalité de Fisher | Théorème 2 ; mesurer l’oubli |
| Luo et al., An Empirical Study of Catastrophic Forgetting in LLMs During Continual Fine-tuning, 2023 — 2308.08747 | L’oubli croît avec la taille et l’affinage | Jeu général avant/après, toujours |
| Gururangan et al., Don’t Stop Pretraining, ACL 2020 — 2004.10964 | Pré-entraînement continu de domaine et de tâche | Palier 7 : gains solides pour peu de calcul |
| Hinton, Vinyals & Dean, Distilling the Knowledge in a Neural Network, 2015 — 1503.02531 | Distillation par logits à température | Petit modèle guidé plutôt que from scratch aveugle |
| Hoffmann et al., Chinchilla, 2022 (L25) | Lois d’échelle | Théorème 4 : le seuil du from scratch |
| Biderman et al., Pythia, ICML 2023 — 2304.01373 ; Groeneveld et al., OLMo, 2024 — 2402.00838 | Recettes de pré-entraînement entièrement ouvertes | Ce qu’un from scratch exige, documenté de bout en bout |
| Zhou et al., LIMA, 2023 (L36) | Peu d’exemples de qualité pour l’affinage d’instruction | Le palier 5 avec 1 000 exemples |
| Bommasani et al., 2021 (L34) | Modèles de fondation | Pourquoi l’escalade commence par « réutiliser » |
TP guidé
TP — L’escalade complète sur votre tâche (8 h, étalées)
- Banc d’essai d’abord. Tâche réelle avec 300 cas de test annotés (L36), métrique et exigence (L32), plus un jeu « général » pour mesurer l’oubli (si LLM : 200 questions générales).
- Paliers 0–1. Règles (1 h) puis modèle classique (scikit-learn : TF-IDF + régression logistique / gradient boosting) ; courbe d’apprentissage sur 10–100 % des données ; IC.
- Palier 2. Plongements d’un encodeur pré-entraîné (sentence-transformers, DINOv2 pour images) + régression logistique : 20 minutes, souvent le meilleur rapport qualité/effort.
- Paliers 3–4. LLM en few-shot (banc de prompts L28) ; RAG si des connaissances externes sont nécessaires (L26).
- Palier 5. LoRA (PEFT/TRL) sur un modèle 1–8B avec 500–2 000 exemples ; r ∈ {4, 16, 64} ; 3 graines ; mesurer cible ET général (oubli) ; comparer QLoRA.
- Décision. Tableau palier × (qualité IC, coût, délai, latence, oubli) ; identifier le palier d’arrêt selon la règle de montée ; rédiger l’ADR (L34) et, si pertinent, le dossier « pourquoi pas from scratch » (ou « pourquoi from scratch », avec l’estimation de coût).
Exercices
Exercices auto-corrigés
Exercice 1 — LoRA : paramètres et approximation de rang faible
Écrivez params_lora(d, k, r), fraction_lora(d, k, r), et meilleure_approx_rang(M, r) (SVD tronquée) ; vérifiez Eckart-Young sur une matrice ΔW construite de rang effectif 4 + bruit : l’erreur relative chute jusqu’à r = 4 puis plafonne.
Correction
def params_lora(d, k, r): return r * (d + k)
def fraction_lora(d, k, r): return r * (d + k) / (d * k)
def meilleure_approx_rang(M, r):
U, S, Vt = np.linalg.svd(M, full_matrices=False); return (U[:, :r] * S[:r]) @ Vt[:r]Exercice 2 — La règle de montée
Écrivez palier_suivant(resultats, exigence, budget_restant) : resultats = liste ordonnée de (palier, f1, n_test, cout) déjà mesurés ; renvoie le palier courant s’il satisfait l’exigence en borne basse de l’IC (±1,96√(f1(1−f1)/n)), sinon le palier suivant si son coût estimé (dict) tient dans le budget, sinon "arrêt : exigence inatteignable dans le budget".
Correction
def palier_suivant(resultats, exigence, budget_restant):
p, f1, n, _ = resultats[-1]; borne = f1 - 1.96 * np.sqrt(f1 * (1 - f1) / n)
if borne >= exigence: return p
if p + 1 in COUTS and COUTS[p + 1] <= budget_restant: return p + 1
return "arrêt : exigence inatteignable dans le budget"Exercices
Exercices auto-corrigés (suite)
Exercice 3 — Mesurer l’oubli et choisir le compromis
Écrivez oubli(avant, apres) (dict de scores généraux → baisse moyenne) et meilleur_compromis(strategies, poids_oubli) : strategies = {nom: (score_cible, oubli)} ; renvoie le nom qui maximise score_cible − poids_oubli × oubli. Vérifiez qu’avec un fort poids d’oubli, l’affinage complet n’est jamais choisi.
Correction
def oubli(avant, apres): return sum(avant[k] - apres[k] for k in avant) / len(avant)
def meilleur_compromis(strategies, poids_oubli): return max(strategies, key=lambda n: strategies[n][0] - poids_oubli * strategies[n][1])Exercice 4 — Seuil du from scratch (Théorème 4)
Avec L(N, D) = E + A/Nα + B/Dβ (E = 1,69, A = 406,4, B = 410,7, α = 0,34, β = 0,28), écrivez tokens_necessaires(N, L_cible) (D minimal pour atteindre L_cible avec N paramètres, ou None si impossible) et cout_flops(N, D) = 6ND. Comparez : battre L = 2,3 avec 1B from scratch vs pré-entraînement continu de 10⁹ tokens sur 7B.
Correction
def tokens_necessaires(N, L_cible):
reste = L_cible - E - A / N ** alpha
if reste <= 0: return None
return (B / reste) ** (1 / beta)
def cout_flops(N, D): return 6 * N * DFiche de cours · Exercices corrigés
Exercices corrigés (rédaction)
Vérification
Le palier « plongements gelés + régression logistique » donne 0,83 [0,80 ; 0,86] pour une exigence de 0,85. Prochaine étape ?
Deux questions supplémentaires
1. Pourquoi LoRA marche-t-il ? La mise à jour d’affinage est de rang faible effectif ; une SVD tronquée la capture (Théorème 1).
2. Que mesurer obligatoirement après un affinage ? Un jeu général avant/après : l’oubli catastrophique (Théorème 2).
Référence
Les mots à retenir
| Mot | Définition |
|---|---|
| Escalade | Règles → classique → pré-entraîné → prompt → RAG → PEFT → complet → continu → from scratch. |
| Règle de montée | Monter d’un palier ssi la borne basse de l’IC est sous l’exigence et le coût tient. |
| Transfert | Réutiliser les représentations ; linéaire sur plongements = borne inférieure. |
| LoRA / PEFT | Adaptation de rang faible ; 1 % des poids ; adaptateurs échangeables. |
| Oubli catastrophique | Perte des capacités antérieures ; EWC, rehearsal, petit pas ; à mesurer. |
| Pré-entraînement continu | Domaine profond pour 1 % du from scratch. |
| From scratch | Justifié par modalité, taille embarquée, souveraineté ; jamais par la seule performance. |
| Distillation | Petit modèle guidé par un grand. |
Suite
Vous savez quoi construire. Reste comment le construire ensemble, proprement, durablement.
Chapitre suivant : les bonnes pratiques — CRISP-ML(Q), MLOps, AIOps — le cycle de vie, l’assurance qualité, l’automatisation, et les niveaux de maturité.