Aller au contenu principal

EIA - Projet complet de deploiement IA

Projet 15 heures Avance

Qu'est-ce que l'EIA ?

L'EIA (evaluation Integree des Apprentissages) est le projet de synthese du cours Deploiement de modeles IA. Il represente 30 % de votre note finale et exige que vous demontriez la maitrise de toutes les competences acquises tout au long du cours en deployant un service complet propulse par l'IA a partir de zero.

Il s'agit d'un projet individuel — vous travaillerez seul(e) pour concevoir, construire, tester, documenter et presenter un service de prediction IA pret pour la production.

Pourquoi une EIA ?

L'EIA est concue pour simuler un scenario professionnel reel. En industrie, les ingenieurs IA doivent livrer des systemes complets et fonctionnels — pas des notebooks isoles. Ce projet prouve que vous pouvez combler l'ecart entre l'entrainement d'un modele et le deploiement en production.


Pipeline complet du projet

Votre EIA doit couvrir le cycle de deploiement complet. Le diagramme suivant montre toutes les etapes que votre projet doit inclure :

Voir le pipeline complet du projet

Chaque etape correspond directement a un module etudie pendant le cours :

etape du pipelineModule du coursPonderation
Donnees et entrainement du modeleModule 2 — Entrainement et evaluation de modeles20 %
Developpement de l'APIModule 3 — Creation d'API pour modeles IA25 %
Tests et validationModule 5 — Tests et explicabilite15 %
Explicabilite (LIME/SHAP)Module 5 — Tests et explicabilite15 %
Documentation et rapportTous les modules10 %
Presentation orale et demoTous les modules15 %

Objectifs d'apprentissage

En completant l'EIA, vous demontrerez votre capacite a :

  1. Selectionner et preparer un jeu de donnees approprie pour un probleme d'apprentissage supervise
  2. Entrainer, evaluer et comparer au moins deux modeles ML en utilisant des metriques rigoureuses
  3. Serialiser le meilleur modele pour une utilisation en production
  4. Construire une API REST (FastAPI ou Flask) avec validation, gestion des erreurs et documentation appropriees
  5. Tester l'API avec pytest (unitaires + integration) et Postman
  6. Expliquer les predictions du modele en utilisant LIME et/ou SHAP
  7. Documenter l'ensemble du systeme avec un rapport technique professionnel
  8. Presenter et defendre votre travail lors d'une presentation orale avec demo en direct

Livrables

Vous devez soumettre les artefacts suivants :

Liste de verification de soumission

#LivrableFormatRequis
1Depot Git (code + modele + tests)Lien GitHub / GitLab
2Fichier du modele entraine.pkl, .joblib ou .onnx
3API fonctionnelle avec /predict, /health, /model-infoCode source Python
4Suite de tests (≥ 10 tests, couverture > 70 %)Fichiers pytest
5Collection PostmanExport .json
6Analyse d'explicabilite (LIME et/ou SHAP)Notebook ou script + visuels
7README.mdMarkdown
8Rapport technique (5-8 pages)PDF
9Documentation Swagger / OpenAPIAuto-generee
10DiaporamaPDF ou PPTX
11DockerfileDockerfile⭐ Bonus

echeancier et jalons

L'EIA s'etend sur 3 semaines (15 heures de cours + travail personnel). Suivez cet echeancier pour rester sur la bonne voie :

Detail des jalons

SemaineJalonResultat attenduHeures
Semaine 1J1 — Donnees et modelesJeu de donnees selectionne, EDA terminee, ≥ 2 modeles entraines et compares, meilleur modele serialise5h
Semaine 2J2 — API et testsAPI fonctionnelle avec 3 endpoints, ≥ 10 tests reussis, collection Postman, analyse LIME/SHAP5h
Semaine 3J3 — Documentation et presentationREADME, rapport technique, diaporama, demo repetee5h
Ne laissez pas la documentation pour la fin

Beaucoup d'etudiants passent tout leur temps a coder et baclent le rapport la veille. La documentation et le rapport comptent pour 25 % de votre note (10 % rapport + 15 % presentation). Prevoyez du temps en consequence.


Organisation du travail

Il s'agit d'un projet individuel. Vous etes seul(e) responsable de tous les livrables.

AspectDetails
Taille de l'equipe1 (individuel)
CollaborationVous pouvez discuter de concepts avec vos camarades, mais tout le code et la redaction doivent etre les votres
Outils IAVous pouvez utiliser GitHub Copilot, ChatGPT ou Cursor comme assistants, mais vous devez comprendre et expliquer chaque ligne de code
PlagiatLa similarite du code sera verifiee ; les soumissions identiques recevront 0
Integrite academique

L'utilisation d'outils IA est permise et encouragee, mais vous devez etre capable d'expliquer chaque decision lors de votre presentation orale. Si vous ne pouvez pas expliquer votre code ou votre methodologie pendant la periode de questions, des points seront deduits independamment de la qualite du code.


Grille d'evaluation — Apercu

ComposantePonderationCriteres cles
Entrainement du modele20 %Choix du jeu de donnees, ≥ 2 modeles, ≥ 3 metriques, serialisation, methodologie
Service API25 %3 endpoints, validation, gestion des erreurs, documentation Swagger, code propre
Tests15 %≥ 10 tests, couverture > 70 %, collection Postman, cas limites
Explicabilite15 %LIME et/ou SHAP, ≥ 3 visualisations, interpretation
Documentation et rapport10 %README, rapport technique (5-8 pages), clarte, structure
Presentation orale15 %Presentation de 15 min, demo en direct, periode de questions, communication
Total100 %

echelle de notation

NoteIntervalleDescription
A90-100 %Travail exceptionnel. Code de qualite production, analyse perspicace, presentation soignee.
B80-89 %Bon travail. Toutes les exigences satisfaites avec une bonne qualite. Problemes mineurs.
C70-79 %Satisfaisant. Exigences de base respectees mais manque de profondeur ou de finition.
D60-69 %En dessous des attentes. Plusieurs exigences manquantes ou mal executees.
F< 60 %Insatisfaisant. Composantes majeures manquantes ou non fonctionnelles.
Grille detaillee — Cliquez pour afficher
CritereExcellent (90-100 %)Bon (80-89 %)Satisfaisant (70-79 %)Insuffisant (< 70 %)
Entrainement du modele≥ 3 modeles compares, EDA approfondie, hyperparametres optimaux, methodologie claire2 modeles compares, bonne EDA, hyperparametres raisonnables2 modeles mais comparaison minimale, EDA de base1 seul modele, pas d'EDA, methodologie faible
Service APIArchitecture propre, tous les endpoints fonctionnent, validation robuste, gestion complete des erreursTous les endpoints fonctionnent, validation de base, quelques gestions d'erreursLa plupart des endpoints fonctionnent, validation minimaleEndpoints manquants ou non fonctionnels, pas de validation
Tests> 80 % de couverture, cas limites testes, organisation claire des tests> 70 % de couverture, bonne variete de tests> 60 % de couverture, tests de base uniquement< 60 % de couverture ou < 10 tests
ExplicabiliteLIME + SHAP, ≥ 5 visualisations, interpretation approfondieLIME ou SHAP, ≥ 3 visualisations, bonne interpretationUne methode, 2-3 visualisations, interpretation superficiellePas d'analyse d'explicabilite
RapportQualite professionnelle, toutes les sections completes, redaction claireToutes les sections presentes, lacunes mineuresLa plupart des sections presentes, redaction parfois floueSections manquantes, mal redige
PresentationLivraison confiante, excellente demo, gere bien la periode de questionsBonne livraison, demo fonctionnelle, repond a la plupart des questionsLivraison adequate, demo partiellement fonctionnelleMauvaise livraison, demo echoue, ne peut pas repondre aux questions

Points bonus

Gagnez jusqu'a 5 points bonus en depassant les exigences :

BonusPointsDescription
Deploiement Docker+2Dockerfile fonctionnel qui execute le service complet
Pipeline CI/CD+1Workflow GitHub Actions executant les tests automatiquement
Surveillance avancee+1Journalisation, suivi des requetes ou metriques de performance
Explicabilite supplementaire+1LIME et SHAP avec analyse comparative

Structure du depot du projet

Votre depot Git devrait suivre cette structure recommandee :

mon-projet-eia/
├── README.md
├── requirements.txt
├── Dockerfile # Bonus
├── .gitignore
├── data/
│ └── dataset.csv # Ou lien dans le README
├── notebooks/
│ ├── 01_eda.ipynb
│ ├── 02_model_training.ipynb
│ └── 03_explainability.ipynb
├── src/
│ ├── __init__.py
│ ├── app.py # Application FastAPI / Flask
│ ├── model.py # Chargement du modele et logique de prediction
│ ├── schemas.py # Modeles Pydantic (si FastAPI)
│ └── utils.py # Fonctions utilitaires
├── models/
│ └── best_model.pkl # Modele serialise
├── tests/
│ ├── __init__.py
│ ├── test_model.py
│ ├── test_api.py
│ └── test_schemas.py
├── postman/
│ └── collection.json
├── docs/
│ └── report.pdf
└── presentation/
└── slides.pdf
Commencez tot, iterez souvent

N'essayez pas de tout construire d'un coup. Commencez par un pipeline minimal fonctionnel (donnees → modele → API simple), puis ajoutez iterativement les tests, l'explicabilite et la documentation. Faites des commits tot et souvent.


Obtenir de l'aide

RessourceQuand l'utiliser
Materiel de coursRevisez les modules 1-5 pour les techniques specifiques
Heures de bureauPosez vos questions a votre enseignant pendant les heures de bureau prevues
Seances de laboratoireUtilisez le temps de labo pour travailler sur votre projet
Camarades de classeDiscutez des concepts (mais ecrivez votre propre code)
Assistants IAUtilisez-les pour le debogage et l'apprentissage (citez l'utilisation dans le rapport)
Dates importantes
  • Debut du projet : Semaine 13
  • Point de controle du jalon J1 : Fin de la semaine 13
  • Point de controle du jalon J2 : Fin de la semaine 14
  • Soumission finale : Semaine 15 (code + rapport + collection Postman)
  • Presentations orales : Semaine 15 (creneaux horaires planifies)