Module L39 · Partie K · Ingénierie de l’IA
Gérer un projet IA : cadrer, estimer sous incertitude, piloter, arrêter, capitaliser.
Un projet IA n’est pas un projet logiciel classique : le résultat est incertain (personne ne sait, avant d’avoir mesuré, si l’exigence est atteignable), les données sont le chemin critique, la valeur dépend d’une adoption, et le produit vit après la livraison (L35). Ce chapitre donne la méthode de cadrage (problème, valeur, faisabilité), l’estimation probabiliste (intervalles, simulation Monte-Carlo, jalons de décision), l’organisation (rôles, rituels, portefeuille), le pilotage par les mesures (banc d’essai comme tableau de bord), la communication (résultats avec incertitude, démonstrations honnêtes), la gestion des risques et de l’arrêt, l’administration (budget, contrats, données, conformité) — avec des simulations et des références.
Durée : 3 séances · Prérequis : L24, L32, L34, L37, L38. Objectifs : produire un cadrage en une page avec critères de succès et de sortie ; estimer un projet par intervalles et simulation ; organiser un cycle en jalons de décision ; construire le tableau de bord d’un portefeuille ; communiquer un résultat incertain à un décideur ; arrêter un projet proprement.
Ce que vous saurez faire à la fin
- Écrire un cadrage qui distingue problème, solution, valeur, faisabilité et risques.
- Donner une estimation en distribution (P10/P50/P90) et la défendre.
- Découper un projet en jalons dont chacun peut arrêter le projet — et savoir ce qu’on apprend à chaque jalon.
- Administrer : budget de calcul et d’annotation, contrats de données et d’API, conformité, capitalisation.
Fiche de cours · Définitions
Définitions
Fiche de cours · Formules
Formules à connaître
Fiche de cours · Théorèmes et démonstrations
Ce qu’on peut démontrer sur le pilotage
01 / Cadrer
Le cadrage en une page : modèle rempli
CADRAGE — Assistant de tri et de réponse aux tickets de maintenance (v1.2, 2026-09)
Problème : 1 800 tickets/mois triés à la main par 3 techniciens (25 % de leur temps) ; 18 % mal routés (délai +2 jours) ;
coût du statu quo ≈ 0,75 ETP + retards estimés à 30 k€/an.
Résultat visé: routage automatique validé par un humain ; KPI : part des tickets routés sans correction ≥ 85 %, délai médian −1 jour.
Hypothèse : escalade L37 — baseline règles (existe : 62 %), classifieur sur plongements (J2), puis LLM few-shot si nécessaire ;
suggestion de réponse en v2 seulement.
Exigences : macro-F1 ≥ 0,85 (borne basse IC) sur 600 tickets annotés ; latence < 2 s ; hébergement interne ; 12 catégories ;
refus (« à trier manuellement ») quand confiance < seuil ; journalisation.
Faisabilité : 40 000 tickets historiques (2 ans) avec catégorie finale (étiquettes gratuites mais bruitées : à mesurer) ;
GPU 24 Go disponible ; 1 ingénieur ML à 60 %, 1 technicien référent à 20 %.
Risques : étiquettes historiques incohérentes (catégories renommées en 2025) — J1 ; dérive saisonnière — monitoring ;
adoption (les techniciens contournent) — pilote avec eux ; données personnelles dans les tickets — anonymisation.
Jalons : J1 (S+3) qualité des données : kappa ≥ 0,7 sur 300 tickets ré-annotés, sinon re-cadrer les catégories.
J2 (S+7) preuve de concept : F1 ≥ 0,85 borne basse, sinon palier suivant ou arrêt (p < 1/3).
J3 (S+12) pilote 4 semaines avec 3 techniciens : taux d'acceptation ≥ 80 %, retours qualitatifs.
J4 (S+16) production + monitoring ; J5 (S+28) revue : KPI atteint ? coûts ? décision de v2.
Critères de sortie : J1 échoué deux fois ; J2 < 0,75 après palier 5 ; J3 acceptation < 50 % ; coût > 2× budget.
Budget : 45 jours-personne, 400 € de calcul, 1 500 € d'annotation ; TCO 3 ans ≈ 38 k€ ; gain estimé 45 k€/an (P50), P10 : 15 k€.
Responsable : cheffe de projet maintenance ; décideur des jalons : directeur des opérations.Chaque ligne est vérifiable. Les critères de sortie sont écrits avant que quiconque ait investi son ego dans le projet — c’est leur seule chance d’être appliqués.
02 / Estimer
Estimation par intervalles et simulation Monte-Carlo : le planning comme distribution
02 / Estimer
Valeur attendue, jalons et décision d’arrêt — simulés (Propositions 1 et 4)
03 / Organiser et piloter
Cycle, rôles, rituels, tableau de bord : le projet piloté par les mesures
| Jalon | Question | Livrable | Critère (exemple) | Décision possible |
|---|---|---|---|---|
| J0 Cadrage | Vaut-il la peine d’essayer ? | Cadrage une page, estimation P10/P50/P90 | Valeur attendue > 0 avec jalons ; sponsor nommé | Go / no-go |
| J1 Données | A-t-on de quoi mesurer et apprendre ? | Audit, jeu de test annoté, datasheet (L36) | Kappa ≥ 0,7 ; ≥ n cas ; droits OK | Continuer / re-cadrer / arrêter |
| J2 Preuve de concept | L’exigence est-elle atteignable ? | Banc d’essai (L32), escalade (L37), ADR (L34) | Borne basse ≥ exigence sur le test scellé | Continuer / palier suivant / arrêter |
| J3 Pilote | Est-ce utile et utilisé en vrai ? | Système intégré, mesures d’adoption et de KPI | Acceptation ≥ 80 % ; KPI en amélioration ; incidents gérés | Déployer / itérer / arrêter |
| J4 Production | Est-ce exploitable durablement ? | Monitoring, runbooks, gouvernance (L35, L38) | SLO tenus 4 semaines ; alertes calibrées | Généraliser |
| J5 Revue | Le KPI est-il atteint ? À quel coût ? | Rapport valeur/coût réel, post-mortem du projet | KPI ≥ cible ; TCO ≤ budget | v2 / maintenance / décommission |
04 / Communiquer et administrer
Communiquer des résultats incertains ; administrer budget, contrats, données, conformité
Communiquer (L24 appliqué)
- Un résultat = une métrique, un jeu, un IC, une baseline, une date. « 0,86 [0,83 ; 0,89] de macro-F1 sur 600 tickets de test (baseline règles : 0,62), version v7, 12/09 ».
- Démonstrations honnêtes : cas tirés au sort, pas choisis ; montrer aussi les échecs ; jamais de démo sur des exemples du train.
- Traduire en métier : « 85 % de tickets bien routés ≈ 1 500 tickets/mois sans intervention, 270 à vérifier, délai −1 jour ».
- Dire l’incertitude sans la noyer : P50/P90 pour les délais, IC pour la qualité, scénarios pour la valeur ; ce qu’on saura au prochain jalon.
- Annoncer les limites avant qu’on les découvre : dérive, cas non couverts, dépendances.
- Gérer les attentes sur l’IA : ni magie ni menace ; un outil qui se trompe X % du temps de façon mesurée, avec un humain qui décide.
Administrer
- Budget : jours-personne, calcul (GPU-h avec marge ×3, API avec plafond et alerte), annotation, licences, exploitation (36 mois) ; suivi consommé vs avancement.
- Contrats : API (versions figées, données non réutilisées, hébergement, SLA, prix), données (licence, durée, usages), prestataires d’annotation (qualité mesurée, confidentialité).
- Données : registre des traitements, base légale, anonymisation, accès, conservation, suppression ; propriétaire nommé.
- Conformité : classification AI Act, documentation (L38), revue juridique aux jalons J1 et J4.
- Fournisseurs et dépendances : liste, risques, alternatives (L34) ; pas de composant critique sans plan B.
- Capitalisation : à chaque jalon, ce qui est réutilisable est versionné et documenté (jeux, banc, composants, ADR) — même si le projet s’arrête.
05 / Portefeuille
Gérer plusieurs systèmes IA : la revue de portefeuille
Décommissionner proprement : informer les utilisateurs, retirer le service, archiver modèle + données + documentation (obligations de conservation), supprimer ce qui doit l’être (RGPD), mettre à jour le registre. Un système IA oublié en production est un risque de sécurité et de conformité.
06 / Articles
Les références à lire
| Référence | Contribution | À retenir |
|---|---|---|
| Ng, Machine Learning Yearning, 2018 (gratuit) | Stratégie d’un projet ML : métrique unique, jeux dev/test, analyse d’erreurs, vélocité d’itération | Le banc d’essai comme boussole ; itérer vite et mesuré |
| Sculley et al., 2015 ; Sambasivan et al., 2021 (L36) ; Paleyes et al., 2022 (L38) | Dettes, cascades de données, échecs de déploiement | Où va vraiment le temps |
| Studer et al., CRISP-ML(Q), 2021 (L38) | Phases et AQ | Le cycle ; les jalons s’y calent |
| Flyvbjerg, What You Should Know About Megaprojects and Why, 2014 ; Flyvbjerg & Gardner, How Big Things Get Done, 2023 | Biais d’optimisme, prévision par classe de référence | Estimer à partir de projets comparables (référence externe), pas de l’intérieur |
| Kahneman & Tversky, Intuitive Prediction: Biases and Corrective Procedures, 1977 | Le point de vue extérieur | Proposition 2 en psychologie |
| McConnell, Software Estimation: Demystifying the Black Art, 2006 | Estimation par intervalles, cône d’incertitude | P10/P50/P90 ; s’engager sur P80 |
| Hubbard, How to Measure Anything, 2014 | Valeur de l’information, calibration des estimateurs | Mesurer ce qui réduit le plus l’incertitude |
| Ries, The Lean Startup, 2011 ; Reinertsen, The Principles of Product Development Flow, 2009 | Apprentissage validé, coût du délai, files d’attente | Jalons = expériences ; petits lots |
| Davenport & Ronanki, Artificial Intelligence for the Real World, HBR 2018 | Étude de 152 projets : commencer par des cas « augmentation » à faible risque | L’adoption et l’intégration décident |
| Bughin et al. (McKinsey), The State of AI (annuel) ; Gartner, hype cycle | Taux d’échec et facteurs de succès des projets IA | Données, compétences, adoption, gouvernance |
| Amershi et al., Software Engineering for Machine Learning: A Case Study, ICSE-SEIP 2019 | Comment Microsoft organise ses équipes ML ; niveaux de maturité | Les données comme chemin critique ; expérimentation gérée |
| NIST AI RMF ; ISO/IEC 42001 ; AI Act (L38) | Gestion des risques et gouvernance | À intégrer aux jalons, pas à la fin |
TP guidé
TP — Piloter un projet IA de bout en bout (projet fil rouge, 4 semaines)
- Cadrage. Une page (modèle 01) pour un cas réel, avec critères de succès et de sortie, revu par une personne extérieure qui doit pouvoir dire « non » à J0.
- Estimation. Tâches en P10/P50/P90, simulation Monte-Carlo (code de la partie 02), P80 communiqué ; identification des deux tâches qui dominent l’incertitude et action pour la réduire (audit de données, prototype d’intégration).
- J1–J2. Audit des données, jeu de test annoté, banc d’essai (L32), escalade (L37), ADR (L34) ; revue de jalon avec décideur, critères appliqués — y compris si cela mène à l’arrêt.
- J3. Pilote avec de vrais utilisateurs (même 3) ; mesure d’adoption et retours ; une itération.
- Tableau de bord et rituels. Indicateurs de la partie 03 mis à jour chaque semaine ; compte rendu de 10 lignes au sponsor avec incertitudes.
- Clôture. Rapport J5 (valeur/coût réels vs estimés, écarts expliqués), post-mortem du projet, capitalisation (jeu, banc, composants, ADR versionnés), et — si le projet s’est arrêté — ce qui a été appris et ce qui est réutilisable.
Exercices
Exercices auto-corrigés
Exercice 1 — PERT et simulation
Écrivez pert(p10, p50, p90) → (moyenne, écart-type) et simuler_total(taches, n, rho, rng) : somme de durées log-normales calibrées sur (P10, P50, P90), avec un facteur commun de corrélation rho (z = √ρ·z_commun + √(1−ρ)·z_propre). Vérifiez que la médiane simulée dépasse la somme des P50 (Proposition 2) et que la corrélation élargit P90.
Correction
def pert(p10, p50, p90): return (p10 + 4 * p50 + p90) / 6, (p90 - p10) / 2.56
def simuler_total(taches, n=20000, rho=0.3, rng=None):
rng = rng or np.random.default_rng(0); zc = rng.normal(0, 1, n); tot = np.zeros(n)
for p10, p50, p90 in taches:
z = np.sqrt(rho) * zc + np.sqrt(1 - rho) * rng.normal(0, 1, n); mu = np.log(p50); sig = (np.log(p90) - np.log(p10)) / 2.56; tot += np.exp(mu + sig * z)
return totExercice 2 — Coût attendu avec jalons et seuil d’arrêt
Écrivez cout_attendu(phases) (phases = liste de (coût, p_succès)) selon la Proposition 1, p_min_continuer(R, V) = R/V, et decider(p, R, V) → "continuer"/"arrêter".
Correction
def cout_attendu(phases):
total, proba = 0.0, 1.0
for c, p in phases: total += proba * c; proba *= p
return total
def p_min_continuer(R, V): return R / V
def decider(p, R, V): return "continuer" if p * V - R > 0 else "arrêter"Exercices
Exercices auto-corrigés (suite)
Exercice 3 — Adoption vs qualité (Proposition 3)
Écrivez benefice(B0, q, u) et meilleur_investissement(B0, q, u, dq, du) qui renvoie "qualité" si augmenter q de dq rapporte plus qu’augmenter u de du, sinon "adoption". Vérifiez le seuil q > u.
Correction
def benefice(B0, q, u): return B0 * q * u
def meilleur_investissement(B0, q, u, dq, du):
return "qualité" if benefice(B0, q + dq, u) - benefice(B0, q, u) > benefice(B0, q, u + du) - benefice(B0, q, u) else "adoption"Exercice 4 — Revue de portefeuille
Écrivez decisions_portefeuille(systemes) : liste de dicts {nom, valeur, cout, sante, risque, dette, revues_negatives} → dict nom → décision selon les règles : valeur − coût < 0 et revues_negatives ≥ 2 → "décommissionner" ; sinon santé < 0,8 → "remédier" ; sinon risque == "critique" → "auditer" ; sinon dette ≥ 3 → "réduire la dette" ; sinon "maintenir".
Correction
def decisions_portefeuille(systemes):
out = {}
for s in systemes:
if s["valeur"] - s["cout"] < 0 and s["revues_negatives"] >= 2: out[s["nom"]] = "décommissionner"
elif s["sante"] < 0.8: out[s["nom"]] = "remédier"
elif s["risque"] == "critique": out[s["nom"]] = "auditer"
elif s["dette"] >= 3: out[s["nom"]] = "réduire la dette"
else: out[s["nom"]] = "maintenir"
return outFiche de cours · Exercices corrigés
Exercices corrigés (rédaction)
Vérification
Un projet a déjà coûté 60 k€ ; il en reste 30 k€ à dépenser pour une valeur de 90 k€ en cas de succès, avec une probabilité estimée à 0,25. Que faire ?
Deux questions supplémentaires
1. Pourquoi additionner des P50 donne-t-il un planning intenable ? Les durées sont asymétriques : la médiane de la somme dépasse la somme des médianes (Proposition 2) ; simuler et s’engager sur P80.
2. Pourquoi mesurer l’adoption dès le pilote ? Le bénéfice est multiplicatif en qualité et usage ; au-delà d’une qualité correcte, l’usage domine (Proposition 3).
Référence
Les mots à retenir
| Mot | Définition |
|---|---|
| Cadrage | Problème, valeur, exigences, faisabilité, risques, jalons, critères de succès et de sortie. |
| Jalon de décision | Livrable, critère, date, décideur ; peut arrêter le projet. |
| P10/P50/P90, P80 | Estimation par intervalles ; simulation ; engagement à P80. |
| Coût attendu avec jalons | c₁ + p₁c₂ + p₁p₂c₃ + … ; options réelles. |
| Seuil d’arrêt | Continuer ssi p > R/V ; coûts engagés exclus. |
| Adoption | Bénéfice = B₀ × q × u ; mesurer l’usage. |
| Portefeuille | Propriétaire, valeur, coût, santé, risque, dette, revue, décommission. |
| Capitalisation | Jeux, bancs, composants, ADR, post-mortems — ce qui survit au projet. |
Fin de la partie K
Vous savez construire, mesurer, choisir, maintenir, gouverner et piloter un système d’IA.
Quinze chapitres : le Transformer démonté, le RAG mesuré, les LLM alignés, les prompts testés, l’OCR et l’ASR de bout en bout, les familles de réseaux et leurs biais, quarante métriques, les infrastructures et leurs coûts, le choix et la maintenance des modèles, les données, l’escalade avant le from scratch, CRISP-ML(Q)/MLOps/AIOps, et le pilotage. Chaque chapitre a ses articles : lisez-les en trois passes (L24), reproduisez-en un (L24), et rendez votre travail mesurable — c’est la seule chose qui distingue l’ingénierie de l’IA de la magie.
Pour continuer
- Refaire le projet fil rouge de L39 sur un cas réel, avec tous les livrables des chapitres L32–L38.
- Contribuer à un projet libre (vLLM, PaddleOCR, faster-whisper, Evidently, DVC) : une correction de bug mesurée vaut un mois de cours.
- Suivre une conférence par an (NeurIPS, ICML, ICLR, ACL, ICRA ; MLSys pour les systèmes) et rédiger vos fiches d’articles.
- Une question ? La pastille WhatsApp reste là.