Skip to content

chanezAMK/kto-mlops-2023-2024

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projet support du cours API & Cloud for Data Business

Introduction

Ce projet est initialement destiné à servir de support de cours pour la matière API & Cloud for Data Business, à destination de la promotion M2 Data & IA de l'Université Catholique de Lille.

On y retrouve l'intégralité d'un projet de ML temps réel, son encapsulation en Webservice et son déploiement dans le Cloud. Toutes les étapes élémentaires des pratiques de MLOps sont représentées. Ce projet ainsi que l'intégralité des supports de cours sont open sources.

Ce cours a été construit avec Guillaume Chervet que je remercie ici au passage.

C'est une version revue et corrigée de son itération précédente que vous trouverez ici

La partie pratique de ce cours ne nécessite pas d'installation particulière sur votre machine, à l'exception de Bruno pour tester des webservices. Nous utiliserons GitHub Codespaces pour développer, les GitHub Actions pour automatiser nos pipelines de CI/CD et Red Hat Developer Sandbox pour entraîner nos modèles et héberger nos Webservices. Nous utiliserons MLFlow pour tracer nos expériences et sauvegarder nos modèles. Tous ces éléments seront expliqués pendant ce cours et les protocoles d'inscriptions et installations détaillés.

Programme

  1. Intro: MLOPs
    • Présentation du cours
    • Tour de table
    • Présentation de la structure des cours
    • Règles de vie
    • Notations
    • Présentation du MLOps
    • Mise en place de l'environnement de travail
    • Présentation de la cible à atteindre
  2. Git, GitHub, OpenSource et licencing
    • Introduction
    • Git en quelques mots ?
    • Comment collaborer et partager des fichiers ?
    • Les différences entre chaque type de gestionnaire
    • Les avantages du développement distribué
    • Les branches
    • Quelques mots sur GitHub
    • Comment installer Git ?
    • Les commandes de base
    • Comment revenir en arrière ?
    • Merger
    • Modifier l'historique (commandes avancées)
    • Bonnes pratiques
    • L'Open Source
    • Les points d'attention sur le Licensing
  3. Python, Unit Test & Clean code
    • Bases de Python
    • Les tests unitaires et TDD
    • Clean code, les principes fondamentaux
  4. Scoping, Data préparation et Annotations
    • Présentation du projet
    • Présentation du dataset
    • Préparation de la donnée
    • Présentation et installation d'ecotag
    • Annotations des images
    • Versioning de la donnée et stockage
  5. Train dans un notebook
    • Installation et présentation de JupyterLab
    • Training de notre modèle dans un Notebook
    • Les limites de la démarche
    • Proposition d'alternative à notre Notebook
  6. Les plateformes de ML sur le Cloud
    • Présentation du cloud et ses avantages
    • Présentation des solutions du marché
      • Databricks / MLFlow
      • OpenShift DataScience
      • Azure ML
    • Présentation de kto-mlflow
    • Training avec MlFlow
  7. Continuous Integration
    • A quoi ça sert ?
    • Publier un package pour commencer
    • Mise en place de nos github actions
    • Lancer une expérimentation de manière continue
  8. Création d'API avec FastAPI
    • FastAPI
    • OpenAPI / Swagger et la documentation
    • Sécurité avec oAuth2
  9. Docker
    • Qu'est-ce que c'est ?
    • A quoi ça sert ?
    • Comment ça fonctionne ?
    • Manipulation de Docker
  10. Kubernetes
    • Qu'est-ce que c'est ?
    • A quoi ça sert ?
    • Comment ça fonctionne ?
    • Manipulation sur OpenShift
    • Cloud act, cloud souverain et reversibilité
  11. Continuous deployment
    • Les principes
    • GitOps
      • Argo CD
      • FluxCD
    • Mise en place simple pour notre projet
  12. Les tests d'intégration
  13. Mesurer la performance de notre solution (bonus)

En cas de pépins

Pas de panique, certaines limitations avec les outils que l'on utilise peuvent amener à des erreurs ou à la disparition du travail effectué (notamment sur la SandBox Openshift). C'est normal, nous sommes sur des environnements de test et de développement. Une section Troubleshooting est disponible pour recenser ces éventualités et proposer une solution. Merci donc de vous y reporter.

Bibliographie et remerciements

Bibliographie :

Remerciements :

Je voudrais tout d'abord remercier ma Compagne pour son soutien de tous les jours, ma Famille que j'aime et qui me définit, Guillaume Chervet pour son aide et le partage de ce cours et enfin, AXA France, mon équipe, Red Hat et L'Université Catholique de Lille pour leurs confiances toujours renouvelées.

Et un grand merci par avance à mes étudiantes et mes étudiants, pour leur confiance, leur attention et leur compréhension.

Bon courage et bon cours !!!

FUN

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published